mcpd-1.0.0 is not a library.
Visit the last successful build:
mcpd-1.0.7
mcpd
A daemon that aggregates multiple MCP (Model Context Protocol) servers into one.
Register any MCP server once with mcpd, then point your MCP client at mcpd. Add or remove servers without reconfiguring your client.
Installation
Usage
Register a server
Examples:
# Register a Node.js MCP server
# Register a Python server
# Register with environment variables
List registered servers
Remove a server
Run the daemon
This starts mcpd in stdio mode, ready to accept MCP connections.
Client Configuration
Point your MCP client at mcpd instead of individual servers.
Claude Code (~/.claude/settings.json):
Claude Desktop (claude_desktop_config.json):
How It Works
- You register MCP servers with mcpd (stored in
~/.config/mcpd/registry.json) - Your MCP client connects to mcpd
- mcpd spawns registered servers on-demand and proxies requests to them
- Tools are namespaced as
<server>__<tool>to avoid collisions
┌─────────────────┐
│ MCP Client │
│ (Claude, etc.) │
└────────┬────────┘
│ stdio
▼
┌─────────────────┐
│ mcpd │
└──┬─────┬─────┬──┘
│ │ │ stdio (spawned on-demand)
▼ ▼ ▼
┌─────┐┌─────┐┌─────┐
│ srv1││ srv2││ srv3│
└─────┘└─────┘└─────┘
Why mcpd?
- Single config: Add servers to mcpd, not to every client
- Hot-swap: Register/unregister servers without restarting clients
- Namespace isolation: Tools from different servers can't collide
- On-demand: Servers only spawn when their tools are invoked
License
MIT