mcp-server
bitDive/mcp-server加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当你用 Cursor、Claude Desktop 或任何 AI 编程助手写完一段业务代码,生成式 AI 会自信满满地给出答案——但问题才刚刚开始。代码到底有没有真正接入线上服务?调用链路对不对?改了 A 模块,B 模块有没有被意外破坏?
传统方案是写单元测试,但这要求你事先知道测什么,而 AI 生成代码的弱点恰恰在于:它擅长写功能代码,却很难保证系统级行为的正确性。
BitDive 给出的答案很直接:让 AI Agent 直接读取真实的运行时 trace,而不是靠猜测。Agent 发一次请求,看看真实的调用链长什么样,再决定下一步怎么改。这就是 BitDive MCP Server 存在的意义——把生产级的可观测性能力,直接桥接到 AI Agent 的工具箱里。
BitDive 是一家专注于运行时追踪与可观测性的技术公司,其核心产品是一个分布式系统追踪平台,能够记录每一次 HTTP 请求在微服务间的完整调用路径,涵盖方法级耗时、请求/响应体、异常堆栈等信息。该公司同时维护两个项目:
项目采用 python-mcp-server 作为默认分支(注意:README 中注明不要使用 main 分支),截至分析日共 77 stars、18 forks、17 次提交,近 3 个月有活跃的 PR 合并。
server.py 中定义了 12 个 MCP 工具,覆盖 AI Agent 与运行时追踪交互的完整工作流:
发现阶段(Discovery):
get_system_heatmap:获取全局服务健康热力图,快速发现异常模块。get_module_heatmap:按模块筛选,缩小问题范围。get_service_heatmap:下沉到单个服务的性能视图。list_recent_calls:查看最近一次调用,获取 call_id 入口。分析阶段(Trace):
get_trace:获取去噪后的完整调用树(默认深度分析视图)。get_trace_raw:获取原始 trace dump(用于需要未处理数据的高级分析)。get_trace_subtree:只取某个类/方法节点的子树。find_calls_by_method:按类名+方法名+时间窗口搜索历史 call_id。对比阶段(Compare):
compare_traces:两个 call_id 的前后对比(核心功能——验证改动的实际影响)。compare_traces_over_time:时间序列对比,观察性能变化趋势。辅助工具:
resolve_call_ids:将一批 call_id 批量解析为 Class.method 简短名称(无需拉取完整数据)。search_methods:按关键词搜索方法文档,返回匹配方法的简短摘要。search_methods_detailed:搜索方法并返回完整调用统计信息。get_replay_command:根据 trace 中的请求信息,生成可复现的 curl 或 PowerShell 命令(复现后约 45 秒出现在 list_recent_calls)。AI Agent (Cursor / Claude Desktop / ...)
│
│ SSE / HTTP (MCP Protocol)
▼
bitDive/mcp-server (server.py, 1431行)
│
│ X-BitDive-MCP-Token 鉴权
│ httpx (async HTTP)
▼
BitDive Monitoring API (https://cloud.bitdive.io/monitoring-api)
│
│ PostgreSQL 存储
▼
运行时追踪数据 (call_id → trace tree)
server.py 是一个纯代理服务器,没有自己的数据存储。它接收 MCP 协议的工具调用,转换为对 BitDive 云端 API 的 HTTP 请求,再将结果格式化为 Agent 可读的 JSON 字符串返回。代码中包含大量数据规范化逻辑(如 URL 解码、SQL 归一化、敏感信息脱敏等),说明 API 返回的原始数据格式较为复杂,server.py 承担了大量"清洗"工作。
| 层级 | 技术选型 |
|---|---|
| MCP 框架 | mcp (Model Context Protocol) 官方 Python SDK,FastMCP 模式 |
| HTTP 客户端 | httpx(异步,支持连接复用和超时控制) |
| 数据验证 | pydantic(字段类型注解与校验) |
| 语言 | Python 3,代码约 1431 行 |
注意:根目录的 requirements.txt 仅包含 httpx 和 mcp,依赖极为精简。但 README.md 中出现了 Spring Boot/Java 版本的描述(技术栈写的是 Java 17 + Spring Boot 3.2.0),这是同一个 BitDive 项目的另一个语言实现,与当前 Python MCP Server 是并行关系。
Agent: "帮我看看这个接口改之前和改之后的性能差异"
↓
search_methods("用户下单") → 找到方法
↓
find_calls_by_method(class_name, method, date_range) → 拿到 call_id 列表
↓
get_trace(call_id_before) → 获取改动前完整调用链
get_trace(call_id_after) → 获取改动后完整调用链
↓
compare_traces(call_id_before, call_id_after) → 输出差异报告
当前版本无 Dockerfile,无 docker-compose,无 Kubernetes 配置。server.py 中提到 docker 关键词,但仅出现在注释中(描述 JAR 构建目标路径),不构成实际部署支持。
部署分为两个层面:
1. MCP Server 本身:纯 Python 脚本,只需安装两个依赖后直接运行:
pip install httpx "mcp>=1.0,<2.0"
python server.py
默认监听 stdin/stdout(MCP 标准传输),也可通过 BITDIVE_MCP_TOKEN 环境变量配置认证。
2. 连接到 BitDive 平台:这是真正的门槛。Agent 要真正使用这些工具,需要:
cloud.bitdive.io)。| 维度 | 评分 |
|---|---|
| 容器化 | ❌ 不支持 |
| Web UI | ❌ 无 |
| 依赖复杂度 | ✅ 极简(仅 2 个 pip 包) |
| 配置复杂度 | ⚠️ 需要 BitDive 账号和 Token |
| 综合 | partially_supported |
结论:MCP Server 本身容易部署,但作为完整工具链需要 BitDive 后端服务。对于已在使用 BitDive 平台的团队,这是零成本接入 AI Agent 的绝佳方案;对于未使用 BitDive 的团队,需要先评估 BitDive 平台的接入成本。
server.py 无法独立运行,必须连接到 BitDive Monitoring API。代码中硬编码了默认 API 地址 https://cloud.bitdive.io/monitoring-api,没有本地模拟或离线模式。如果 BitDive 商业服务不可用,整个工具链立即失效。
当前版本要求用户将 API Token 以明文方式写入 AI 工具的用户规则中(如 Cursor Settings > Rules for AI)。这是一个明显的临时方案,README 自己也承认了这一点。一旦用户规则文件泄露,API Token 即暴露。建议后续版本通过环境变量或 MCP 连接参数传递 Token。
GitHub 仓库的 License 字段为空,代码的许可条款不明确。这对于企业使用是一个合规风险——无法确定是否可用于商业项目或需要向 BitDive 付费。
README.md 中混入了 Spring Boot/Java 版本的描述(Java 17、Spring Boot 3.2.0、PostgreSQL 配置示例等),但实际代码仓库是纯 Python。这些描述来自另一个同项目仓库,容易造成误导。需要 README 明确区分两个版本的技术栈。
1431 行代码中,12 个工具涵盖了主要场景,但对于复杂的企业级微服务(可能有成百上千个方法),当前的发现和搜索能力可能不够。缺少批量导出、告警集成等高级功能。
BitDive MCP Server 代表了一个新兴趋势:让 AI Agent 直接利用生产级可观测性数据做决策,而不只是依赖静态代码分析或测试用例。
这背后的逻辑是:传统 CI/CD 中的"AI 辅助编码"只在代码层面起作用,但代码能跑≠业务逻辑正确。通过让 Agent 读取真实运行时 trace,可以构建一个真正的"写代码→执行→读取trace→验证→修改"的自主闭环。
从市场竞争角度看,MCP 协议正在成为 AI Agent 扩展工具的事实标准,Anthropic、Cursor 等主流 Agent 产品均已支持。BitDive 选择 MCP 作为集成层,是一个正确的技术决策——不绑定特定 Agent,生态可扩展。

BitDive 组织标志
| 维度 | 评价 |
|---|---|
| 创新性 | 高:将生产级运行时追踪引入 AI Agent 工具链,填补了 Agent 验证能力的空白 |
| 工程完成度 | 中:核心功能完整,但认证安全、文档准确性需改进 |
| 文档质量 | 中:存在 Java/Python 版本描述混淆 |
| 社区活跃度 | 低:77 stars,17 commits,近 3 个月有 PR 合并 |
| 商业成熟度 | 中:强依赖 BitDive 平台,无独立使用价值 |
| 适用场景 | 已在使用 BitDive 的团队(零成本接入),或对 AI Agent 质量验证有强烈需求的研发团队 |