MCP providers
MCP providers (shipped catalog)
The tool loads MCP templates from agentic-orchestration-tool/config/mcp_providers/ (one *.yaml per integration unless using a legacy bundle file). Merge additional directories via AGENTIC_EXTRA_MCP_PROVIDERS_PATH (; on Windows, : on Unix).

Design
Each file is a single mapping (not a list) with at least:
id— Stable identifier referenced by the planner / plan JSON.description— What the server does in context (human + planner).planner_hint— When the planner should attach this MCP.capabilities— Tool surface / behavior at a glance (optional but recommended for shipped entries).good_for— Task patterns and pairing hints (optional).user_goal_keywords(optional) — Keyword hints for relevance / pruning.required_env/required_env_any(optional) — Credential or opt-in gating; entries are dropped if env is missing/empty.
Connection shapes:
streamable_http—urland optionalheaders;${VAR}placeholders expand from the environment.stdio—command,args, optionalenv— local subprocess (e.g.npx,python -m …). Same expansion rules for args/env values.
Upstream protocol: Model Context Protocol.
Curated MCP directory (community)
The awesome-mcp-servers list groups thousands of third-party MCP implementations by category. It is a discovery index, not an endorsement list. Use it to find servers to run yourself, then wire them into this project via new YAML under config/mcp_providers/ or AGENTIC_EXTRA_MCP_PROVIDERS_PATH.
Mapping: this repo’s YAML ↔ awesome-mcp-servers
Related listings are alternatives or complements for the same kind of capability; they are not necessarily what this repo invokes by default.
Catalog id |
What we wire by default | Example related entries on awesome-mcp-servers |
|---|---|---|
home_assistant |
Official Home Assistant MCP — Streamable HTTP /api/mcp, bearer token. |
allenporter/mcp-server-home-assistant, tevonsb/homeassistant-mcp |
search_brave |
Your Brave Search MCP Streamable HTTP URL (BRAVE_SEARCH_MCP_URL) + API key. |
brave/brave-search-mcp-server, mikechao/brave-search-mcp |
search_tavily |
Tavily hosted MCP URL (API key; default pattern in YAML). | tavily-ai/tavily-mcp, Tomatio13/mcp-server-tavily, kshern/mcp-tavily |
search_exa |
Exa via official npm server (exa-mcp-server) and EXA_API_KEY. |
exa-labs/exa-mcp-server (see also hosted https://mcp.exa.ai/mcp in their docs) |
fetch_url |
Official fetch server (python -m mcp_server_fetch); PyPI mcp-server-fetch. |
modelcontextprotocol/server-fetch — Search & data extraction |
memory_knowledge_graph |
Official memory server (@modelcontextprotocol/server-memory). |
modelcontextprotocol/server-memory — Knowledge & Memory |
filesystem_local |
Official filesystem server (@modelcontextprotocol/server-filesystem) + one allowed path. |
modelcontextprotocol/server-filesystem — File Systems |
Inventory (repository)
id |
Transport | Purpose | Required environment / opt-in |
|---|---|---|---|
home_assistant |
streamable_http |
HA entities/actions via official MCP integration. | HOME_ASSISTANT_URL, HOME_ASSISTANT_TOKEN |
search_brave |
streamable_http |
Web search via your Brave-compatible MCP host. | BRAVE_SEARCH_API_KEY (+ BRAVE_SEARCH_MCP_URL per YAML) |
search_tavily |
streamable_http |
Web search via Tavily-hosted MCP. | TAVILY_API_KEY |
search_exa |
stdio |
Exa web + code-context search. | EXA_API_KEY |
fetch_url |
stdio |
Fetch and normalize a known URL for the model. | AGENTIC_MCP_FETCH_ENABLED + pip install mcp-server-fetch |
memory_knowledge_graph |
stdio |
In-process knowledge graph memory tools. | AGENTIC_MCP_MEMORY_MCP_ENABLED (+ npx / Node) |
filesystem_local |
stdio |
Read/write under one allowed directory root. | FILESYSTEM_MCP_ALLOWED_DIRECTORY (absolute path) |
Kubernetes compatibility (K0.6)
When AGENTIC_EXECUTION_BACKEND=kubernetes, stdio MCPs need an explicit K8s path (worker stdio, cluster gateway, or in-pod sidecar). Policy: Kubernetes execution upgrade; code: orchestration/k8s_mcp_compat.py.
id |
K3 MVP (default) | Notes |
|---|---|---|
search_brave |
✅ | streamable_http |
search_tavily |
✅ | streamable_http |
home_assistant |
✅ | streamable_http |
search_exa |
❌ | stdio — K4 sidecar or gateway |
fetch_url |
✅ (with worker stdio) | Default: AGENTIC_K8S_WORKER_STDIO_MCPS=fetch_url + mcp-server-fetch in worker image |
filesystem_local |
✅ (with worker stdio + PVC) | AGENTIC_K8S_WORKER_STDIO_MCPS=filesystem_local + FILESYSTEM_MCP_ALLOWED_DIRECTORY=/run/store/mcp-fs-workspace; seed mcp-fs-workspace/ on PVC |
memory_knowledge_graph |
❌ | stdio — K4 sidecar |
Planner catalog filtering for K8s mode is K4.3; until then, avoid stdio MCPs in dynamic plans when targeting the kubernetes backend.
Notes per id
home_assistant
- Docs: Home Assistant MCP Server
- Auth:
Authorization: Bearer ${HOME_ASSISTANT_TOKEN}
search_brave
- Point
BRAVE_SEARCH_MCP_URLat your Streamable HTTP endpoint (self-hosted or vendor). - Awesome: brave/brave-search-mcp-server, mikechao/brave-search-mcp.
search_tavily
- Default URL pattern: Tavily MCP guide
- Awesome: tavily-ai/tavily-mcp, Tomatio13/mcp-server-tavily, kshern/mcp-tavily.
search_exa
- Docs / keys: Exa MCP
- Runs
npx -y exa-mcp-serverwithEXA_API_KEYin the subprocess environment.
fetch_url
- Install:
pip install mcp-server-fetchinto the same Python environment asmain.py(included in the K8s worker image). - Set
AGENTIC_MCP_FETCH_ENABLED=1so the catalog entry is not hidden by credential filtering. - Kubernetes: default path is worker-native stdio (
AGENTIC_K8S_WORKER_STDIO_MCPS=fetch_url). Cluster gateway (AGENTIC_K8S_MCP_FETCH_URL) or supergateway sidecar remain optional alternatives; seedeploy/k8s/mcp-sidecars/README.md.
memory_knowledge_graph
- Runs
npx -y @modelcontextprotocol/server-memory. SetAGENTIC_MCP_MEMORY_MCP_ENABLED=1for opt-in.
filesystem_local
- Set
FILESYSTEM_MCP_ALLOWED_DIRECTORYto an absolute path. The model’s file tools are scoped to that root only. - Kubernetes: use
/run/store/mcp-fs-workspaceon the run-store PVC (AGENTIC_K8S_MCP_FILESYSTEM_DIR). Worker image includes Node.js fornpx @modelcontextprotocol/server-filesystem. SetAGENTIC_K8S_WORKER_STDIO_MCPS=filesystem_local. Smoke:config/workflows/workflow_filesystem_smoke.yaml.
Adding a new MCP
- Create
config/mcp_providers/<id>.yamlwith a uniqueid. - Add
description,capabilities,good_for, andplanner_hintso planners and humans understand scope. - Set
required_env/required_env_anyso only runnable integrations appear when credentials are present. - Use
streamable_httporstdio(not both in one file). - Find related community servers in awesome-mcp-servers and document them here if the integration is non-obvious.
Related pages
- Dynamic planning — when MCP sets appear in plans.
- Agent skills — procedural playbooks (complementary; skills may reference MCP tools in prose).
- Agent tools roadmap — planned in-process tool catalog (files, media, vision) parallel to this MCP catalog.
- Configuration — env vars summary.
- Third party projects — upstream products and licenses.
- awesome-mcp-servers — full community index.