What it doesBasics
- Backend discovery and supervision
- Namespaced tool aggregation
- Session-scoped tool views
- Remote authorization flows
- Resource and notification routing
First useBasics
- Connect one trusted backend and verify a known permitted read through the catalog.
- Connect a client directly, or add MCP Stub when per-agent attribution and reconnect continuity are needed.
- Check target operations separately from registry connection state.
Everyday tasksEveryday use
Expose one gateway to an agent
An agent needs several MCP capabilities without separate client configuration for every server.
- Register reviewed local and remote backends.
- Wait for each backend to reach Connected.
- Discover and perform a known permitted read through its namespaced tool.
What you getThe client receives one aggregated MCP surface with backend identities preserved.
How to check: Registry connection state describes the backend lifecycle; the separate permitted read checks target operation through that backend.
Settings to decideAdvanced
- Backend transport
- Use stdio when the registry should own and log the process; use Unix or HTTP for independently managed services.
- Session tool visibility
- Use restricted preload only with per-connection sessions over stdio or Unix transport; search and enable manage context size.
- Notification relay
- Enable relay_notifications only for backends whose custom events the client needs. Refresh the client catalog when a list-change notification arrives.
- Credential ownership
- Prefer ${VAR} references or OAuth configuration over literal headers. Define an owner, storage permissions, rotation, revocation and incident response for registry-held OAuth state.
CommandsAdvanced
$ mcp-registry serve
$ mcp_registry_add({"name":"git","transport":"stdio","command":"/path/to/mcp-git","args":["serve"]})
$ mcp_registry_list({}) # expect state: Connected and tools > 0
Problems and fixesHelp
What you seeCheckFix
A backend reports BinaryMissing, SpawnFailed, InitTimeout, or InitFailed.Read error_kind, verify the command and permissions, and inspect stdio stderr when available.Install or fix the binary, raise a legitimate init timeout if needed, then reload the backend.
A backend is NeedsAuth or rejects its first tool call.Inspect authorization status and confirm the endpoint advertises the expected OAuth discovery challenge.Run a fresh authorization flow using a callback mode reachable from the browser.
A backend remains Reconnecting(N) or the pool is exhausted.Inspect the last error, backend health, crash frequency, and configured pool size.Repair the backend and reload for an immediate retry, or reduce concurrency/re-register with a suitable pool size.
What you see
A backend reports BinaryMissing, SpawnFailed, InitTimeout, or InitFailed.
Check
Read error_kind, verify the command and permissions, and inspect stdio stderr when available.
Fix
Install or fix the binary, raise a legitimate init timeout if needed, then reload the backend.
What you see
A backend is NeedsAuth or rejects its first tool call.
Check
Inspect authorization status and confirm the endpoint advertises the expected OAuth discovery challenge.
Fix
Run a fresh authorization flow using a callback mode reachable from the browser.
What you see
A backend remains Reconnecting(N) or the pool is exhausted.
Check
Inspect the last error, backend health, crash frequency, and configured pool size.
Fix
Repair the backend and reload for an immediate retry, or reduce concurrency/re-register with a suitable pool size.
Good to knowHelp
- The registry is an administration endpoint for trusted clients.
- Session tool lists organize discovery for each agent session.
- Operators manage storage, rotation and revocation of registry-held OAuth credentials.