MCP服务器热重载工具

mcpmon是一个透明代理工具,可在MCP服务器代码修改时自动重启服务器而保持客户端连接,适用于Node.js、Python、Deno等多种语言环境。

  • by neilopet
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 neilopet/mcpmon

使用说明

麦普蒙

MCP服务器的热重载监视器-类似于nodemon,但适用于模型上下文协议

对MCP服务器代码进行更改,无需重新启动MCP客户端即可立即查看。就像nodemon自动重启Node.js应用程序一样,mcpmon也会自动重启MCP服务器。

它是什么

mcpmon是一个 透明代理 它位于您的MCP客户端(Claude Code、Claude Desktop、MCP Inspector等)和MCP服务器之间。当您修改服务器代码时,mcpmon会自动重启服务器,同时保持客户端连接。

主要优势:

  • 类似于nodemon,但适用于MCP -您已经知道的简单命令行界面
  • 零配置 -只需用mcpmon包装您的服务器命令
  • 无中断开发 -服务器重新加载时,MCP客户端保持连接
  • 零消息丢失 -在服务器重启期间缓冲请求
  • 通用兼容性 -适用于任何MCP服务器(Node.js、Python、Deno等)
  • 图书馆支持 -作为自定义监控解决方案的依赖项导入

快速开始

  1. 全局安装:

    npm install -g mcpmon
    
  2. 与您的MCP服务器一起使用:

    # Instead of: node server.js
    mcpmon node server.js
    
    # Instead of: python server.py  
    mcpmon python server.py
    
    # Instead of: deno run --allow-all server.ts
    mcpmon deno run --allow-all server.ts
    
  3. 与MCP客户端一起使用:

    # MCP Inspector
    npx @modelcontextprotocol/inspector mcpmon node server.js
    
    # For existing Claude Code/Desktop servers, use setup:
    mcpmon setup my-server
    

    安装程序会自动配置您现有的MCP服务器进行热重新加载! ✨

就是这样!您的MCP服务器现在已启用热重新加载。编辑服务器代码,更改立即生效。

使用示例

基本用法

# Node.js server
mcpmon node server.js

# Python server
mcpmon python -m mcp_server

# Python with args
mcpmon python server.py --port 3000

# Deno server
mcpmon deno run --allow-all server.ts

# With debugging
mcpmon node --inspect server.js

与MCP检查员一起

# Direct command
npx @modelcontextprotocol/inspector mcpmon node server.js

# With environment variables
API_KEY=your-key npx @modelcontextprotocol/inspector mcpmon node server.js

使用克劳德代码或克劳德桌面

最简单的方法: 对现有服务器使用自动设置命令:

# Setup hot-reload for an existing server
mcpmon setup my-server

# Setup all stdio servers for hot-reload
mcpmon setup --all

# List available servers
mcpmon setup --list

# Restore original config if needed
mcpmon setup --restore

setup命令会自动执行:

  • ✅ 备份 您的原始配置
  • ✅ 发现 并使用现代Node.js版本以实现兼容性
  • ✅ 包裹 使用mcpmon执行服务器命令
  • ✅ 保留 所有环境变量和参数
  • ✅ 使能够 立即热装
  • ✅ 幂等 -多次运行安全

🔥 克劳德桌面热重新加载提示

设置热重载后:

  • 代码更改:您的服务器会自动重新启动,无需任何操作!
  • 架构更改 (新工具/资源):在Claude Desktop设置中关闭/打开MCP服务器
    • 转到克劳德桌面设置→ 特性→ 模型上下文协议
    • 关闭服务器,然后重新打开
    • 无需重新启动 -只是开关!
  • 配置更改:仅当您直接修改配置文件时,才重新启动Claude Desktop

专业提示:为了获得最佳的开发体验,请先更改代码,然后更改模式。即使在模式更新后,Claude Desktop也会从最新的热重载代码中调用工具!

手动配置: 您也可以手动更新配置:

克劳德代码 (~/.claude_code_config):

{
  "mcpServers": {
    "my-server": {
      "command": "mcpmon",
      "args": ["node", "server.js"],
      "env": {
        "API_KEY": "your-key"
      }
    }
  }
}

克劳德桌面 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "my-server": {
      "command": "/Users/username/.nvm/versions/node/v22.15.0/bin/node",
      "args": ["/usr/local/bin/mcpmon", "python", "server.py"],
      "env": {
        "PYTHONPATH": "/path/to/your/modules"
      }
    }
  }
}

备注:setup命令会自动检测您最新的Node.js版本和mcpmon路径。上面显示了生成的配置是什么样子的——你很少需要手动编写它!

配置

mcpmon的工作方式与众不同 零配置。它会自动检测您的服务器文件并开始监视更改。

要查看其他文件,请执行以下操作:

# Watch multiple files
MCPMON_WATCH="server.js,config.json" mcpmon node server.js

就是这样!mcpmon设计用于零配置。

环境变量

  • MCPMON_WATCH -覆盖要监视的文件/目录(逗号分隔)
  • MCPMON_DELAY -重启延迟(毫秒)(默认值:1000)
  • MCPMON_VERBOSE -启用详细日志记录

运作原理

mcpmon充当MCP客户端和服务器之间的透明代理,提供自动热重新加载功能:

sequenceDiagram
    participant Client as MCP Client
    participant mcpmon
    participant Server as MCP Server
    
    Client->>mcpmon: Request
    mcpmon->>Server: Request
    Server->>mcpmon: Response
    mcpmon->>Client: Response
    
    Server->>Server: File changed
    Note right of Server: Auto restart
    
    Client->>mcpmon: Request
    mcpmon->>Server: Request
    Server->>mcpmon: Response
    mcpmon->>Client: Response

魔术: 服务器重新加载时,MCP客户端保持连接。无需重新连接Claude Code或重新启动MCP Inspector!

功能 无mcpmon 有mcpmon
文件更改 需要手动重新启动 自动重新启动
客户端连接 必须重新连接 保持连接
丢失的消息 可能 从未(缓冲)
设置复杂性 手动配置更改 只需添加 mcpmon

需要帮助?

启用详细日志记录 看看发生了什么:

MCPMON_VERBOSE=1 mcpmon node server.js

常见问题:

  • “ReadableStream未定义”? mcpmon需要Node.js 16+。使用 mcpmon setup 自动检测现代Node.js版本
  • 服务器无法启动? 检查错误消息中是否缺少依赖项
  • 没有热重新加载? 验证日志中是否检测到服务器文件
  • 架构更改不可见? 在Claude Desktop设置中关闭/打开MCP服务器
  • 需要帮助? 查看我们的 故障排除指南

发展

# Run tests (includes clean and build)
npm test

# Development mode
npm run dev

看 贡献指南 了解更多详情。

安装

要求: Node.js 16+(由设置命令自动检测)

# Install globally (recommended)
npm install -g mcpmon

# Or use without installing
npx mcpmon node server.js

贡献

我们欢迎捐款!看 贡献指南 了解详情。

文档

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。


像nodemon一样?你会喜欢麦普蒙的。 用于MCP开发的简单、快速、可靠的热重载。