mcpField
M
mcp-debug

mcp-debug

本地服务
github.com/standardbeagle开发工具042 周前更新

关于 mcp-debug

MCP Debug 是用于 MCP 服务开发和调试的工具,结合热替换与代理管理,并支持记录和回放 JSON-RPC 流量,以测试服务、客户端和回归问题。

主要功能

  1. 01热替换服务二进制文件
  2. 02动态添加和移除服务
  3. 03记录 JSON-RPC 流量
  4. 04回放请求或响应
  5. 05基于会话的回归测试
  6. 06为聚合服务工具添加前缀

适用场景

  1. 01开发客户端时替换服务
  2. 02将已记录请求回放到服务
  3. 03用已记录响应测试客户端
  4. 04使用保存的会话检查回归问题

MCP 相关

它充当 MCP 代理和管理层,连接配置的服务并转发其工具,也支持添加、移除、断开和重连服务。回放模式可重放记录的流量以进行测试。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"standardbeagle-mcp-debug": {
"command": "npx",
"args": [
"-y",
"@standardbeagle/mcp-debug"
]
}
}
}
启动命令npx -y @standardbeagle/mcp-debug

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-debug1.1.6
npm@standardbeagle/mcp-debug1.1.6

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Debug

用于 Model Context Protocol(MCP) 服务的调试和开发工具。

Go Version MCP Spec License: MIT PyPI npm

MCP Debug 支持通过热切换、会话录制和自动化回放测试,快速开发和测试 MCP 服务。

功能

热切换开发
  • 无需断开 MCP 客户端即可替换服务二进制文件
  • 在开发过程中动态添加或移除服务
  • 保留工具名称——接口不变,实现更新
  • 替换二进制文件时,支持平稳的断开/重连工作流
会话录制与回放
  • 录制 JSON-RPC 流量,用于调试和编写文档
  • 回放客户端模式——将请求重放到测试服务
  • 回放服务模式——将响应重放到测试客户端
  • 使用录制的会话进行回归测试
开发代理
  • 聚合多个服务并为工具添加前缀
  • 实时连接监控
  • 用于控制服务生命周期的管理 API
  • 全面的日志记录

安装

# Using uvx (Python - recommended)
uvx mcp-debug --help

# Using npx (Node.js)
npx @standardbeagle/mcp-debug --help

# Or install globally
pip install mcp-debug              # Python
npm install -g @standardbeagle/mcp-debug  # Node.js

# Or build from source
go install github.com/standardbeagle/mcp-debug@latest

快速开始

# Start proxy with a config file
uvx mcp-debug --proxy --config config.yaml

# Or with mcp-tui for interactive testing
mcp-tui uvx mcp-debug --proxy --config config.yaml

用法

代理模式
# Basic proxy
uvx mcp-debug --proxy --config config.yaml

# With recording
uvx mcp-debug --proxy --config config.yaml --record session.jsonl

# With custom log file
uvx mcp-debug --proxy --config config.yaml --log /tmp/debug.log

管理工具:

  • server_add - 添加服务:{name: "fs", command: "npx -y @mcp/filesystem /path"}
  • server_remove - 完全移除服务
  • server_disconnect - 断开服务(工具将返回错误)
  • server_reconnect - 使用新命令重新连接
  • server_list - 显示所有服务及其状态
回放模式
# Replay recorded requests to test a server
uvx mcp-debug --playback-client session.jsonl | ./your-mcp-server

# Replay recorded responses to test a client
mcp-tui uvx mcp-debug --playback-server session.jsonl

配置

# config.yaml
servers:
  - name: "filesystem"
    prefix: "fs"
    transport: "stdio"
    command: "npx"
    args: ["-y", "@modelcontextprotocol/filesystem", "/home/user"]
    timeout: "30s"

proxy:
  healthCheckInterval: "30s"
  connectionTimeout: "10s"
  maxRetries: 3
环境变量
MCP_LOG_FILE="/tmp/mcp-debug.log"  # Log location
MCP_DEBUG=1                         # Enable debug logging
MCP_RECORD_FILE="session.jsonl"     # Auto-record sessions
MCP_CONFIG_PATH="./config.yaml"     # Default config

开发工作流

# 1. Start with empty config
mcp-tui uvx mcp-debug --proxy --config empty-config.yaml

# 2. Add your server dynamically
server_add: {name: myserver, command: ./my-server-v1}

# 3. Test tools: myserver_read_file, myserver_process, etc.

# 4. Make changes and rebuild
go build -o my-server-v2

# 5. Hot-swap the server
server_disconnect: {name: myserver}
server_reconnect: {name: myserver, command: ./my-server-v2}

# 6. Same tools work immediately with new implementation!

CLI 命令

uvx mcp-debug --help              # Show help
uvx mcp-debug --version           # Show version
uvx mcp-debug config init         # Create default config
uvx mcp-debug config show         # Show current config
uvx mcp-debug config validate     # Validate config file
uvx mcp-debug env list            # List environment variables
uvx mcp-debug env check           # Check required env vars
uvx mcp-debug tools list          # List tools with details

项目结构

mcp-debug/
├── main.go              # CLI entry point
├── config/              # Configuration loading
├── client/              # MCP client implementation
├── integration/         # Proxy server and wrapper
├── discovery/           # Tool discovery
├── proxy/               # Request forwarding
├── playback/            # Recording and playback
└── test-servers/        # Example MCP servers

构建

# Development build
go build -o mcp-debug .

# Production build with version info
go build -ldflags "-X main.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ) -X main.GitCommit=$(git rev-parse HEAD)" -o mcp-debug .

# Run tests
go test ./...

贡献

请参阅 CONTRIBUTING.md 了解指南。

许可证

MIT 许可证——详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。