Provides tools for finding code owners through file blame annotations, retrieving pull request information by commit ID, and investigating error sources by identifying the last modifier of specific file lines.
Enables automated creation and assignment of Jira tickets based on error investigation results, including setting issue types, priorities, components, and labels for bug tracking workflows.
Error Tracker MCP Server
基于 Model Context Protocol (MCP) 的错误追踪服务器,自动化处理代码错误:查找代码责任人(Bitbucket)→ 获取 PR 信息 → 创建 JIRA 任务。
快速开始
1. 安装与编译
2. 配置环境变量
创建 .env 文件(参考 .env.example):
3. 选择运行模式
模式 | 适用场景 | 启动命令 |
stdio | 本地使用(Claude Desktop) |
|
HTTP | 远程部署(新客户端) |
|
兼容 | 远程部署(新旧客户端) |
|
核心功能
工具 | 功能说明 |
| 通过文件路径和行号查找代码最后修改者 |
| 根据 commit ID 查找相关 Pull Request |
| 获取指定目录路径的提交记录(支持时间范围、分支过滤),返回作者、时间、提交ID等信息 |
| 获取错误行所在的完整方法代码,为 AI 提供上下文用于根因分析(自动识别方法边界,支持多层堆栈智能定位) |
| 自动调查错误(查找责任人 + PR 信息) |
| 基于调查结果创建并分配 JIRA 任务 |
| 完整流程:调查 → 分析 → 创建 JIRA(一键完成) |
客户端配置
方式一:stdio 模式(本地使用 - Claude Desktop)
编辑配置文件:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
💡 需在项目根目录创建
.env文件配置环境变量
方式二:HTTP 模式(远程服务器)
Streamable HTTP (推荐 - 新协议)
适用于支持 MCP 2025-03-26 协议的客户端:
SSE 模式(兼容 - 旧协议)
适用于仅支持 MCP 2024-11-05 协议的客户端:
端口说明:
HTTP 模式默认端口:
3000(通过.env中HTTP_PORT配置)兼容模式默认端口:
3001(通过.env中COMPATIBLE_PORT配置)启动命令:
npm run start:http(仅新协议)或npm run start:compatible(新旧协议都支持)
协议选择:
新客户端 → 使用
/mcp端点(Streamable HTTP)旧客户端 → 使用
/sse端点(传统 SSE)不确定 → 使用兼容模式服务器(
npm run start:compatible)同时支持两种
使用示例
场景1:查找代码责任人
场景2:获取错误上下文代码
场景3:分析模块最近变更
场景4:完整错误追踪
使用场景与轻量提示
JIRA 相关参数通常在 .env 中配置,日常使用只需给出最少的上下文即可。把错误堆栈直接粘贴给 AI,模型会自动识别并调用合适的工具。
提示约定:除非你明确提供标题,模型会基于错误上下文自动生成合适的 JIRA 标题与描述。
快速一键闭环(不需要分析)
示例提示:
说明:模型会自动进行代码所有者定位和 PR 检索,并用 .env 中的 JIRA 配置创建任务,无需显式写出工具名称。
先让模型分析,再落任务
示例提示:
说明:模型会输出结构化的分析结论(原因/影响/建议)并在创建 JIRA 时自动带上摘要;无需指定工具名,模型会自行选择步骤。
深度分析错误上下文
示例提示:
说明:模型会自动调用 get_method_code 工具获取完整方法代码,然后基于完整上下文进行分析,比仅有堆栈信息更准确。
智能分析堆栈定位根本原因
示例提示:
说明:模型会智能分析堆栈:
自动获取堆栈中多层方法的完整代码
结合代码逻辑判断根本原因(调用者参数不合规 vs 工具类缺陷)
定位到最可能出错的业务代码层,而非最底层的工具方法
余下步骤参见"先让模型分析,再落任务"
其他常见场景
多文件/多位置排查(模块级):
批量错误收敛并统一创建任务:
只分派给代码责任人(不创建 JIRA):
远程部署
Docker 部署
PM2 部署
故障排除
问题 | 解决方案 |
认证失败 | 检查 |
找不到文件 | 确保文件路径相对于仓库根目录,检查 |
端口占用 | 修改 |
技术架构
传输模式:stdio / Streamable HTTP / 兼容模式(详见 ARCHITECTURE.md)
开发调试:调试技巧和贡献指南见 DEVELOPMENT.md
技术栈:TypeScript + MCP SDK + Express + Axios
未来功能规划 (TODO)
🎯 深度分析增强
trace_error_root_cause_chain - 错误根因链追踪
场景:深度追踪多层调用链,找到真正的根源而非表面现象
功能:
解析完整堆栈的每一层方法代码
AI 分析每层的职责和可能的问题点
定位最初的根因(如参数来源、数据状态异常)
生成分层分析报告,标注真正的 root cause
价值:避免只看最底层错误行,找到业务逻辑层的源头问题
🤖 自动化修复增强
auto_fix_and_commit - 自动修复代码并提交
场景:AI 分析错误后自动生成修复代码,创建 PR 并指派给代码责任人
完整流程:
调用
get_method_code获取错误代码上下文调用
investigate_error定位代码责任人AI 生成修复代码(基于 errorAnalysis 中的 codeExample)
AI 生成对应的单元测试代码
自动创建特性分支(如
fix/NPE-UserService-161)修改源文件和测试文件并提交到新分支
创建 Pull Request,指定 reviewer 为代码责任人
PR 描述自动关联 JIRA 工单号
价值:端到端自动化(发现问题 → 修复 → 测试 → 代码审查),大幅减少人工介入
📊 智能辅助功能
analyze_business_error_by_changes - 业务错误代码变更分析
场景:无堆栈信息的业务逻辑错误(如理算金额错误、数据不一致),通过分析最近代码变更定位问题
典型流程:
业务人员发现异常(如:某客户理算金额少了 100 元)
运维描述现象给 AI:"理算模块最近出现金额计算错误,折扣未正确应用"
AI 自动分析指定业务模块的最近提交记录(可自定义时间范围,默认 7 天)
对比代码变更点与业务现象的关联性
输出可疑提交列表 + 责任人 + 变更说明
价值:解决无堆栈信息的业务逻辑问题,特别适合数据计算、状态流转等隐性错误
batch_analyze_errors - 批量错误分析
一次性分析多个相关错误,判断是否同一根因
📈 运营分析功能
analyze_error_trends - 错误趋势分析
场景:按产品线/模块/时间维度统计错误趋势,发现高风险区域
分析维度:
按产品线统计(寿险、财险、健康险各自的错误率)
按业务模块统计(承保、理赔、保全的错误热点)
按时间趋势统计(版本发布后的错误激增)
输出:可视化报表 + 高风险模块预警 + 重构建议
价值:指导资源投入方向,提前预防高风险区域
build_error_knowledge_base - 错误知识库沉淀
场景:自动沉淀常见保险业务错误的解决方案
功能:
自动分类错误类型(费率应用错误、年龄校验错误等)
关联历史修复方案和PR
AI总结通用解决模式
生成新人培训案例库
价值:避免重复踩坑,加速新人成长
�🔧 现有工具增强
get_method_code 增强
支持
includeCallers: 同时返回调用该方法的代码支持
contextLevel: 控制上下文深度(1-3层)
investigate_error 增强
支持
blameFullMethod: 对整个方法进行 blame支持
includeRecentContributors: 返回该文件近期所有贡献者
许可证
MIT