MCP服务器诊断测试工具包

一款用于MCP服务器的诊断与测试CLI工具包,支持扫描、测试和基准测试功能,适用于服务器性能分析和问题诊断。

  • by junjunup
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 junjunup/mcp-radar

使用说明

🔍 mcp雷达

MCP服务器的诊断和测试CLI工具包 --在一个命令中扫描、测试和基准测试任何MCP服务器。

中文文档


✨ 特性

  • 🔗 自动检测运输 --stdio、SSE或流式HTTP
  • 📡 扫描 --通过健康诊断发现所有工具、资源和提示
  • 🧪 测试 --通过智能参数生成自动测试每个组件
  • ⚡ 基准 --测量延迟(P50/P90/P99)、吞吐量和错误率
  • 📊 报告 --导出为HTML、JSON或Markdown
  • 🐍 纯 Python --不需要Node.js, pip install 走吧

🚀 快速开始

# Install
pip install mcp-radar

# Scan an MCP server (stdio)
mcp-radar scan "uvx mcp-server-fetch"

# Scan a remote server (SSE/HTTP)
mcp-radar scan "https://my-server.com/mcp"

# Auto-test all tools
mcp-radar test "uvx mcp-server-fetch"

# Benchmark performance
mcp-radar bench "uvx mcp-server-fetch" -n 20 -c 5

# Launch interactive TUI dashboard (requires: pip install mcp-radar[tui])
mcp-radar tui "uvx mcp-server-fetch"

📦 安装

# Basic install (CLI only)
pip install mcp-radar

# With interactive TUI dashboard
pip install mcp-radar[tui]

# With development tools
pip install mcp-radar[dev]

要求: Python 3.10+

📖 用法

扫描--发现和诊断

# Basic scan
mcp-radar scan "uvx some-mcp-server"

# Export report
mcp-radar scan "uvx some-mcp-server" --report html -o report.html

它的作用:

  • 连接到服务器并检索功能
  • 列出所有工具、资源和提示
  • 显示每个工具的输入模式
  • 运行健康检查并报告问题(缺少描述、模式无效等)

测试——自动化功能测试

# Test all components
mcp-radar test "uvx some-mcp-server"

# Custom timeout per tool
mcp-radar test "uvx some-mcp-server" --tool-timeout 60

# Export results
mcp-radar test "uvx some-mcp-server" --report json -o results.json

它的作用:

  • 使用智能生成的测试参数自动调用每个工具
  • 读取所有资源
  • 检索每个提示
  • 报告✅ 通行证/❌ 失败/💥 每个组件的错误

Bench——性能基准测试

# Benchmark all tools (10 iterations, sequential)
mcp-radar bench "uvx some-mcp-server"

# Heavy load test (50 iterations, 10 concurrent)
mcp-radar bench "uvx some-mcp-server" -n 50 -c 10

# Benchmark specific tools
mcp-radar bench "uvx some-mcp-server" --tools fetch --tools search

输出包括:

  • 最小/平均/中位/P90/P95/P99/最大潜伏期
  • 吞吐量(每秒请求数)
  • 错误计数和错误率

报表格式

格式 标志 最适合
JSON --report json CI/CD管道、程序分析
HTML --report html 与团队共享,可视化报告
Markdown --report md GitHub问题,文档

🏗️ 运作原理

┌──────────────────────────────────────────┐
│              mcp-radar CLI               │
│                                          │
│  scan ─── scanner.py ──┐                 │
│  test ─── tester.py ───┤                 │
│  bench ── benchmarker ──┤  ──► reporter  │
│                         │     (HTML/JSON/ │
│  ┌─── client.py ───┐   │      Markdown)  │
│  │ Auto-detect      │   │                 │
│  │ transport:       │   │                 │
│  │  • stdio         │   │                 │
│  │  • SSE           │   │                 │
│  │  • HTTP          │   │                 │
│  └──────────────────┘   │                 │
└──────────────────────────────────────────┘

⚙️ 配置

运输自动检测

服务器参数 检测到传输
uvx some-server 站立
python -m my_server 站立
http://localhost:8080/sse 上海证券交易所
https://api.example.com/mcp 流式HTTP

全局选项

标志 描述
-v, --verbose 启用调试日志记录
-t, --timeout 连接超时(默认:30s)
--report 导出格式: json, html, md
-o, --output 报告输出文件路径

🛠️ 发展

# Clone
git clone https://github.com/junjunup/mcp-radar.git
cd mcp-radar

# Install with dev deps
make dev

# Run tests
make test

# Run tests with coverage
make coverage

# Lint
make lint

# Format
make format

# Full audit (lint + typecheck + security + coverage)
make audit

🤝 贡献

欢迎投稿!请参阅 贡献.md 作为指导方针。

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing)
  3. 通过测试进行更改
  4. 确保 make audit 通过
  5. 提交拉取请求

📄 许可证

麻省理工学院 --随心所欲地使用它。

🔗 相关项目

  • MCP-SDK --MCP官方Python SDK
  • FastMCP --构建MCP服务器的快速Python方法
  • MCP检查员 --官方MCP调试工具(Web UI)