
MCP服务器可动态连接其他MCP服务器,并通过工具调用暴露整个MCP协议。
概览
大多数MCP客户端只在启动时连接服务器。想在会话中途连接新服务器?重启所有设备。 MCP拥有丰富的功能——资源、提示、通知、采样、引发——但许多客户端只实现工具。那些功能?无法访问。 它是一个代理,将整个MCP协议暴露为工具。任何支持工具调用的客户端现在都可以: - 动态连接新的MCP服务器(HTTP或stdio)- 生成和管理MCP服务器进程,实现自动崩溃恢复 - 访问资源和资源模板 - 使用提示符 - 接收通知和日志(带源过滤) - 处理采样请求(双向LLM调用)- 处理激发(用户输入请求) “连接http://localhost:3001/mcp,给我看看它能做什么” LLM将利用主持人的工具与服务器连接、探索和交互。 《Emceepee》揭示了一个永不改变的本质。
概述(AI 翻译)
随时连接任意MCP服务器。通过工具访问完整的MCP协议。
为什么?
问题1:静态连接。 大多数MCP客户端只在启动时连接服务器。想在会话中途连接新服务器?重启所有设备。
问题2:协议支持不完整。 MCP拥有丰富的功能——资源、提示、通知、采样、引发——但许多客户端仅实现工具。这些功能?无法访问。
emceepee 解决了这两个问题。 它是一个代理,将整个 MCP 协议作为工具暴露出来。任何支持工具调用的客户端现在都可以:
- 动态连接新的MCP服务器(HTTP或stdio)
- 生成和管理MCP服务器进程,并实现自动崩溃恢复
- 访问资源和资源模板
- 使用提示词
- 接收通知和日志(带源过滤)
- 处理采样请求(双向LLM调用)
- 处理引发(用户输入请求)
快速启动
1.添加到你的MCP客户端
Claude Code / Claude Desktop (.mcp.json):
其他客户端 — 指向HTTP服务器:
2.会话中途连接服务器
问问你的LLM:
本页由 AI 翻译,技术细节请以原文为准。
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"]
}
}
}