返回市场
MCP监控

MCP监控

作者:neilopet4 星标更新:2025-07-10

项目介绍

mcpmon

Node.js License: MIT Tests Code Style

适用于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服务器一起使用

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

    # MCP Inspector
    npx @modelcontextprotocol/inspector mcpmon node server.js
    
    # 对于现有的Claude Code/Desktop服务器,使用设置:
    mcpmon setup my-server
    

    设置命令会自动配置您的现有MCP服务器以启用热重载!✨

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

使用示例

基本用法

# Node.js服务器
mcpmon node server.js

# Python服务器
mcpmon python -m mcp_server

# 带参数的Python
mcpmon python server.py --port 3000

# Deno服务器
mcpmon deno run --allow-all server.ts

# 带调试
mcpmon node --inspect server.js

与MCP Inspector一起使用

# 直接命令
npx @modelcontextprotocol/inspector mcpmon node server.js

# 带环境变量
API_KEY=your-key npx @modelcontextprotocol/inspector mcpmon node server.js

与Claude Code或Claude Desktop一起使用

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

# 为现有服务器设置热重载
mcpmon setup my-server

# 为所有标准I/O服务器设置热重载
mcpmon setup --all

# 列出可用服务器
mcpmon setup --list

# 如有需要恢复原始配置
mcpmon setup --restore

设置命令会自动:

  • 备份您的原始配置
  • 检测并使用现代Node.js版本以确保兼容性
  • 包裹您的服务器命令以使用mcpmon
  • 保留所有环境变量和参数
  • 启用即时热重载
  • 幂等 - 安全多次运行

🔥 Claude Desktop热重载技巧

设置好热重载后:

  • 代码更改:您的服务器会自动重启 - 不需要任何操作!
  • 模式更改(新工具/资源):在Claude Desktop设置中切换MCP服务器的开关
    • 转到Claude Desktop设置 → 功能 → 模型上下文协议
    • 将您的服务器关闭,然后再打开
    • 无需重启 - 只需切换即可!
  • 配置更改:仅在直接修改配置文件时才需重启Claude Desktop

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

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

Claude Code (~/.claude_code_config):

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

Claude Desktop (~/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"
      }
    }
  }
}

注意:设置命令会自动检测您最新的Node.js版本和mcpmon路径。上面显示的是生成的配置示例 - 您很少需要手动编写这些内容!

配置

mcpmon开箱即用,无需配置。它会自动检测您的服务器文件并开始监视更改。

要监视其他文件:

# 监视多个文件
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: 请求
    mcpmon->>Server: 请求
    Server->>mcpmon: 响应
    mcpmon->>Client: 响应
    
    Server->>Server: 文件更改
    Note right of Server: 自动重启
    
    Client->>mcpmon: 请求
    mcpmon->>Server: 请求
    Server->>mcpmon: 响应
    m
cpmon->>Client: 响应

神奇之处:您的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服务器开关
  • 需要帮助? 查看我们的故障排除指南

开发

# 运行测试(包括清理和构建)
npm test

# 开发模式
npm run dev

详见贡献指南了解更多信息。

安装

需求Node.js 16+(设置命令会自动检测)

# 全局安装(推荐)
npm install -g mcpmon

# 或不安装直接使用
npx mcpmon node server.js

贡献

我们欢迎贡献!详见贡献指南了解详情。

文档

许可证

MIT许可证 - 详情见LICENSE文件。


喜欢nodemon吗?您会爱上mcpmon。 简单、快速且可靠的MCP开发热重载。