MCP代理重载工具

一个支持二进制文件监视和热重载的MCP stdio代理工具,用于透明转发MCP能力并在文件变更时通知客户端。

  • by signal-slot
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 signal-slot/mcp-stdio-proxy

使用说明

mcp stdio代理可重新加载

具有二进制文件监视和热重新加载支持的stdio到stdio MCP代理。

生成一个子MCP服务器进程,代理所有stdio消息,并监视命令二进制文件是否有更改。重建二进制文件时,代理发送 tools/list_changed (以及其他列表更改通知),因此LLM在不重新启动会话的情况下重新获取功能。

特性

  • Stdio到Stdio代理 --所有MCP功能(工具、提示、资源、日志记录、完成)都是透明转发的
  • 二进制文件观看 --每秒轮询命令二进制文件的mtime;在更改时发送列表更改通知
  • reload_mcp 工具 --显式重启后端进程并发送通知
  • 环境传递 --可选地将所有或特定的环境变量传递给后端

安装

npm install -g mcp-stdio-proxy-reloadable

用法

usage: mcp-stdio-proxy [--pass-environment] [-e KEY VALUE ...] command [args ...]

例子

# Run via npx
npx mcp-stdio-proxy-reloadable --pass-environment /path/to/your-mcp-server

# With environment variables
npx mcp-stdio-proxy-reloadable -e DISPLAY :0 /path/to/your-mcp-server

# Register with Claude Code
claude mcp add --transport stdio my-server -- \
  npx mcp-stdio-proxy-reloadable \
  --pass-environment /path/to/your-mcp-server

运作原理

Client (Claude Code)
  │ stdio
  ▼
mcp-stdio-proxy-reloadable
  │ stdio
  ▼
Backend MCP server (child process)
  1. 代理将后端命令作为子进程生成,并初始化MCP会话
  2. 创建一个代理MCP服务器,将所有请求转发到后端
  3. 轮询二进制文件是否有mtime更改——更改时,会向客户端发送列表更改通知
  4. 当LLM来电时 reload_mcp,后端进程重新启动并发送通知

许可证

仅限LGPL-3.0或仅限GPL-2.0或仅限GPR-3.0