MCP协议监控调试工具

用于实时监控和调试MCP(Model Context Protocol)服务器的终端用户界面工具,支持多服务器监控、实时消息查看和统计仪表盘。

  • by zabirauf
  • Rust
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 zabirauf/mcp-probe

使用说明

MCP跟踪

一个强大的终端用户界面(TUI),用于实时监控和调试模型上下文协议(MCP)服务器。

为什么选择MCP Trace?

当你看不到底层发生了什么时,开发MCP服务器可能会很有挑战性。MCP Trace通过提供以下功能解决了这个问题:

主要特点

  • 🔍 实时监控 -观察JSON-RPC消息在客户端和服务器之间的流动
  • 📊 多服务器支持 -在一个界面中同时监控多个MCP服务器
  • 🎨 美丽的TUI -清晰、直观的终端界面,带有表情符号指示符号
  • 📈 统计仪表板 -跟踪请求、响应时间和错误率
  • 🔎 智能过滤 -按服务器、邮件类型或搜索内容筛选日志
  • ⚡ 零开销 -对MCP服务器的性能影响最小

🚀 快速开始

选项1:通过脚本安装(推荐)

# macOS and Linux
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/zabirauf/mcp-trace/releases/download/v0.2.0/mcp-trace-installer.sh | sh

选项2:下载预构建的二进制文件

从以下网址下载适用于您平台的最新版本 GitHub发布.

选项3:从源代码构建

# Requires Rust 1.70+
git clone https://github.com/zabirauf/mcp-trace
cd mcp-trace
cargo build --release

📖 基本用法

MCP跟踪需要运行两个组件:

  1. 监视器 -显示日志的TUI界面
  2. 代理 -拦截每个MCP服务器的通信

步骤1:启动监视器

# Start the TUI monitor interface
mcp-trace monitor

步骤2:为您的服务器启动代理

在另一个终端中:

# Basic usage
mcp-trace proxy --name "My Server" --command "python my_server.py"

🔧 配置您的MCP客户端

要将MCP跟踪与MCP客户端一起使用,请更新配置文件(通常 mcp.json 或 cline_mcp_settings.json):

{
  "mcpServers": {
    "my-server": {
      "command": "./mcp-proxy",
      "args": [
        "--name", "My Server", 
        "--command", "python path/to/my_server.py"
      ]
    }
  }
}

代理将在记录到监视器时透明地转发所有通信。

📚 常见用法示例

Python MCP服务器

# Simple Python server
mcp-trace proxy --name "Python Server" --command "python server.py"

# With virtual environment
mcp-trace proxy --name "Python Server" --command "venv/bin/python server.py"

# With arguments
mcp-trace proxy --name "Python Server" --command "python server.py --port 3000"

Node.js MCP服务器

# Node.js server
mcp-trace proxy --name "Node Server" --command "node server.js"

# Using npx
mcp-trace proxy --name "Node Server" --command "npx @modelcontextprotocol/server-filesystem /path"

# Using npm script
mcp-trace proxy --name "Node Server" --command "npm run start:mcp"

多个服务器

同时监控多个MCP服务器:

# Terminal 1: Start monitor
mcp-trace monitor

# Terminal 2: Python server
mcp-trace proxy --name "Python API" --command "python api_server.py"

# Terminal 3: Node.js server  
mcp-trace proxy --name "File System" --command "node fs_server.js"

# Terminal 4: Another server
mcp-trace proxy --name "Database" --command "./db_server"

🎮 键盘控制

导航

  • ←/→ -在面板之间切换焦点
  • ↑/↓ -浏览日志或代理列表
  • Tab/Shift+Tab -在日志筛选器选项卡之间切换
  • Enter -查看日志详细信息或按代理进行筛选
  • Esc -退出详细视图/清除过滤器

行动

  • ? -显示上下文感知帮助
  • / -搜索日志
  • c -清除所有日志
  • r -刷新连接
  • q -退出应用程序

滚动

  • PgUp/PgDn -向上/向下翻页
  • Home/End -跳到顶部/底部

🐛 故障排除

监视器显示“无连接”

  • 启动代理之前,请确保监视器正在运行
  • 检查两者是否使用相同的套接字路径(默认值: /tmp/mcp-monitor.sock)
  • 验证代理命令是否包括 --name 和 --command 旗帜

服务器无法启动

  • 首先直接测试您的服务器命令: python my_server.py
  • 确保您的服务器使用STDIO进行MCP通信
  • 检查代理日志 --verbose 旗帜

显示问题

  • 将终端设置为支持256色: export TERM=xterm-256color
  • 确保终端窗口至少包含80x24个字符
  • 如果问题仍然存在,请尝试其他终端模拟器

贡献

我们欢迎捐款!该项目采用人工智能优先的开发方法,克劳德和其他人工智能助理是主要的开发合作伙伴。

开发设置

git clone https://github.com/zabirauf/mcp-trace
cd mcp-trace
cargo build
cargo test

项目结构

  • mcp-monitor/ -TUI应用程序
  • mcp-proxy/ -代理服务器实现
  • mcp-common/ -共享类型和IPC协议
  • mcp-trace/ -统一CLI二进制文件

📝 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

🔗 链接