EE

eastlondoner/emceepee

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

21 stars 4 forks 质量 70 趋势 10MIT

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:

“连接到http://localhost:3001/mcp,展示它能做什么”

本页由 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_logs with source: "stderr")
  • Lifecycle events for monitoring process state
  • Configurable restart behavior (max attempts, delays, backoff multiplier)
在 GitHub 查看完整 README

安装

npx emceepee
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "emceepee": { "command": "npx", "args": ["emceepee"] } } }