
eastlondoner/emceepee
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
MCP server to dynamically connect to other MCP servers & exposes the entire MCP protocol via tool calls.
Обзор
Most MCP clients only connect to servers at startup. Want to connect to a new server mid-session? Restart everything. MCP has rich features—resources, prompts, notifications, sampling, elicitations—but many clients only implement tools. Those features? Inaccessible. It's a proxy that exposes the entire MCP protocol as tools. Any client that supports tool calling can now: - Connect to new MCP servers dynamically (HTTP or stdio) - Spawn and manage MCP server processes with automatic crash recovery - Access resources and resource templates - Use prompts - Receive notifications and logs (with source filtering) - Handle sampling requests (bidirectional LLM calls) - Handle elicitations (user input requests) "Connect to http://localhost:3001/mcp and show me what it can do" The LLM will use emceepee's tools to connect, explore, and interact with the server. emceepee exposes a that never change.
README
Показан фрагмент оригинального README. Открыть оригинал.
emceepee
Connect to any MCP server, anytime. Access the full MCP protocol through tools.
npx emceepee
Why?
Problem 1: Static connections. Most MCP clients only connect to servers at startup. Want to connect to a new server mid-session? Restart everything.
Problem 2: Incomplete protocol support. MCP has rich features—resources, prompts, notifications, sampling, elicitations—but many clients only implement tools. Those features? Inaccessible.
emceepee solves both. It’s a proxy that exposes the entire MCP protocol as tools. Any client that supports tool calling can now:
- Connect to new MCP servers dynamically (HTTP or stdio)
- Spawn and manage MCP server processes with automatic crash recovery
- Access resources and resource templates
- Use prompts
- Receive notifications and logs (with source filtering)
- Handle sampling requests (bidirectional LLM calls)
- Handle elicitations (user input requests)
Quick Start
1. Add to your MCP client
Claude Code / Claude Desktop (.mcp.json):
{
"mcpServers": {
"emceepee": {
"command": "npx",
"args": ["emceepee"]
}
}
}
Other clients — point to the HTTP server:
npx emceepee-http # runs on http://localhost:8080/mcp
2. Connect to servers mid-session
Ask your LLM:
“Connect to http://localhost:3001/mcp and show me what it can do”
The LLM will use emceepee’s tools to connect, explore, and interact with the server.
How It Works
┌────────────┐ ┌───────────┐ ┌──────────────┐
│ MCP Client │────▶│ emceepee │────▶│ MCP Server 1 │
│ │ │ │ └──────────────┘
│ (tools │◀────│ (proxy) │────▶┌──────────────┐
│ only) │ │ │ │ MCP Server 2 │
└────────────┘ └───────────┘ └──────────────┘
emceepee exposes a static set of tools that never change. These tools provide access to the full MCP protocol, letting any tool-capable client use features it doesn’t natively support.
Server Transports
emceepee supports two transport types for connecting to backend MCP servers:
HTTP/SSE Transport
Connect to remote MCP servers over HTTP with Server-Sent Events:
add_server(name: "myserver", url: "http://localhost:3001/mcp")
Stdio Transport (Process Management)
Spawn and manage MCP servers as child processes communicating via stdin/stdout:
add_server(name: "myserver", command: "node", args: ["server.js"])
Stdio features:
- Automatic crash recovery with exponential backoff restart
- Stderr capture for debugging (exposed via
get_logswithsource: "stderr") - Lifecycle events for monitoring process state
- Configurable restart behavior (max attempts, delays, backoff multiplier)
Установка
npx emceepeeКонфигурация
{
"mcpServers": {
"emceepee": {
"command": "npx",
"args": ["emceepee"]
}
}
}