capability-router
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@capability-routersearch the catalog for a skill to summarize meeting notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Capability Router
Capability Router exposes skills and MCP tools through one MCP tool named
capability. The model receives one stable schema. It searches for a
capability only when the task needs it.
The router supports independent personal, office, and project contexts. Each agent session can select its own context. Many sessions can use the same registry at the same time.
The runtime uses the Python standard library.
Install
Capability Router requires Python 3.10 or newer on Linux or macOS.
pipx install git+https://github.com/maybeabhinav/capability-router.gitYou can also use uv:
uv tool install git+https://github.com/maybeabhinav/capability-router.gitCreate and refresh a read-only configuration:
capability-router init
capability-router refresh --config ~/.config/capability-router/config.jsonRelated MCP server: Skill Shelf
Connect one context
Create a context and select it for a unique session ID:
capability-router context create personal \
--config ~/.config/capability-router/personal/config.json \
--source personal \
--source shared
capability-router context use personal --session codex-personalConnect Claude Code:
claude mcp add --scope user capability-router -- \
capability-router serve \
--registry ~/.config/capability-router/contexts.json \
--session claude-personalConnect Codex:
codex mcp add capability-router -- \
capability-router serve \
--registry ~/.config/capability-router/contexts.json \
--session codex-personalCodex can require approval for an MCP tool that routes both read and write
operations. Add this key to the existing router table in ~/.codex/config.toml
when the router is the approved trust boundary:
[mcp_servers.capability-router]
default_tools_approval_mode = "approve"The router still applies its mode, context assignment, access class, schema, and environment rules before it starts a downstream tool.
Use a different session ID for each concurrent agent. One session can switch contexts without changing another session.
See Context management for context and account commands.
Agent flow
The MCP server exposes one tool. Its common actions are:
searchreturns a small metadata result.load_skillloads one selected skill.describereturns one selected MCP tool schema.callvalidates and invokes one selected MCP tool.context_current,context_list, andcontext_usemanage the current agent session.context_move,context_share,context_unassign, andcontext_undochange capability assignments.
Search for one need per call. Use a result limit from 1 through 5.
The reusable agent skill is in skills/capability-router/SKILL.md.
Add skills
Pass one or more skill roots during setup:
capability-router init --force \
--skill-root personal=~/.agents/skills \
--skill-root shared=~/agent-skillsEach direct child can contain one SKILL.md. Refresh the catalog after a
skill changes.
Add MCP servers
Add a server to the context configuration. Then refresh that configuration and
run context doctor.
A local stdio server:
{
"transport": "stdio",
"command": "example-mcp-server",
"args": [],
"cwd": ".",
"inherit_environment": ["PATH"],
"environment_from_parent": {
"EXAMPLE_API_TOKEN": "EXAMPLE_API_TOKEN"
},
"default_access": "unknown",
"access_overrides": {
"search": "read"
}
}Use absolute runtime paths for servers installed through a version manager.
Some clients start MCP servers with a reduced PATH. For a Node package, set
command to the absolute Node binary and put the package entry script first in
args. This avoids #!/usr/bin/env node startup failures.
A remote Streamable HTTP server:
{
"transport": "http",
"url": "https://mcp.example.com/mcp",
"headers_from_parent": {
"Authorization": "EXAMPLE_AUTHORIZATION"
},
"default_access": "unknown",
"access_overrides": {
"search": "read"
}
}HTTP redirects are rejected. Remote URLs must use HTTPS. Loopback HTTP is allowed for local development.
The current HTTP client supports JSON responses and SSE response frames. It supports tokens supplied through private environment files. Interactive OAuth login is not implemented yet.
Private context environments
Keep values outside repository files. Create a JSON file with mode 0600:
{
"EXAMPLE_API_TOKEN": "value",
"GH_CONFIG_DIR": "/home/user/.config/gh-personal",
"AWS_PROFILE": "personal"
}Attach the file when you create the context:
capability-router context create personal \
--config ~/.config/capability-router/personal/config.json \
--environment-file ~/.config/capability-router/personal/environment.jsonThe router passes only variables named by a server configuration. A context switch replaces the environment overlay for later calls.
Run a CLI with the same context:
capability-router context exec personal -- gh auth status
capability-router context exec office -- aws sts get-caller-identityAccess classes
Classify each tool as read, write, external_write, destructive,
or unknown.
Read-only mode blocks every class except read before the downstream server
starts. Use unrestricted mode only when the calling agent has authority for
the requested operation.
Verify
python3 -m unittest discover -s tests -v
python3 tests/verify_sdist.py
python3 -m compileall -q capability_router testsThe tests use local fixtures. They do not need external accounts.
See Evaluation for concurrency and agent behavior results.
Scope
Local stdio MCP servers
Remote MCP Streamable HTTP servers with caller-supplied headers
Local
SKILL.mddirectoriesPer-session context selection
Atomic context assignment revisions and undo
Context-specific environment files
Closed JSON Schema subsets for draft-07 and draft 2020-12
MCP protocol versions
2024-11-05,2025-06-18, and2025-11-25
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed AI agent skills — one library, distributed to devs and exposed to remote agents over MCP.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Agent-native launch platform and tool directory: search, alternatives, trending, launch via MCP.
Search & install 6,500+ AI agent skills from skills-hub.ai inside any MCP tool.
Related MCP Servers
- AlicenseAqualityDmaintenanceUnified MCP and skill management gateway for AI agents, enabling tool discovery, installation, and sharing with 99% context token savings.834 npm99Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search, browse, install, and manage a large library of skills via only 7 MCP tools, with skills stored locally and loaded on demand to minimize context overhead.4-
- AlicenseNot gradedqualityBmaintenanceEnables on-demand discovery and loading of skills and MCP tools through a fixed set of routing tools, minimizing token overhead.5MIT
- AlicenseAqualityAmaintenanceEnables agents to search a lightweight catalog, inspect permissions, lazily start trusted MCP servers, and call child tools without keeping all schemas in context. It also loads approved skills on demand and routes third-party additions through a human approval queue.11MIT