AgentHubAgentHub
Back to Blog

Sentry MCP 实战:让 AI 自动捕获线上异常、诊断根因并起草修复 PR

AgentHub 核心团队··5 min read·53 views
Sentry MCP 实战:让 AI 自动捕获线上异常、诊断根因并起草修复 PR

为什么值得这样做

线上异常的排查成本,大部分花在"把信息搬到同一张桌子上":堆栈在 Sentry,代码在 IDE,变更在 Git。MCP 的作用不是让模型变聪明,而是让这几处信息在同一次对话里都能被引用,人只负责判断结论对不对。

线上告警的传统痛点

当值班工程师在深夜收到 Sentry 告警短信时,通常需要:

  1. 登录 Sentry 控制台查看 Stacktrace;
  2. 打开本地 IDE 搜索对应的报错文件名与行号;
  3. 查看 git blame 判断是哪个需求引发的变更;
  4. 编写修复代码并提测。

这一过程机械且耗时。通过引入 Sentry MCP,整个排查链条可以实现高度自动化。

配置之前:先让 Sentry 侧的数据够推理用

  1. 确认组织与项目标识:检索 Issue 通常需要 organization 与 project 两个参数,取值就是控制台 URL 里 /organizations/<org>/issues/?project=<id> 的那两段。
  2. 令牌按只读起步:先只授予读取 Issue 与事件的权限,写权限等流程跑顺后再按需开。
  3. 让上报带上 release 与提交信息:SDK 侧如果关联了 release 与对应 commit,Agent 才有机会把堆栈落到具体变更上;缺这一步,第 3 步的 git blame 只能人工补。

工具名与参数名因封装版本而异,以官方文档为准。


1. 配置 Sentry MCP Server

{
  "mcpServers": {
    "sentry": {
      "command": "uvx",
      "args": ["mcp-server-sentry", "--auth-token", "sntrys_xxxxxxx"]
    }
  }
}

配完不要直接进入对话,先用 Inspector 起一次交互式会话,确认工具清单与参数 Schema 正常:

npx @modelcontextprotocol/inspector uvx mcp-server-sentry --auth-token sntrys_xxxxxxx

能列出工具即说明凭证有效;列表为空或反复重连,通常是令牌无效,或启动环境里找不到 uvx。


2. 自动化排查工作流

向 Agent 发起提示:

“分析 Sentry 中项目 frontend-web 过去 1 小时内发生频率最高的未解决 Issue,调取其最近 5 次事件的上下文数据与用户操作轨迹,结合本地代码库找出 Bug 根因。”

Agent 自动调用 Sentry API 提取堆栈信息,关联本地源码定位为空指针异常,并直接给出防御性代码改动方案,工程师只需一键核对确认。

3. 把代码库这一侧接进同一轮上下文

只有堆栈时,模型很容易给出"加个判空"这类通用答案。把源码与提交历史也暴露给它,结论才会落到这次变更上:

需要的能力来源注意
读取报错文件附近实现文件系统类 MCP Server只开放项目目录,不要整盘可读
定位引入变更的提交代码托管类 MCP Server浅克隆会让历史断链
复核修复是否成立本地测试命令要求 Agent 给出可执行命令与输出

4. 从根因到修复 PR

把上面的链路固化成一次可重复的指令:取 Issue 详情与最近事件 → 定位源码位置 → 给出最小改动 → 跑指定测试 → 按团队模板开 PR。两点约束值得写死在流程里:Agent 只起草,不合并;一次只处理一个 Issue。

怎么验证这条链路真的通了

  1. 拿一个已知根因的历史 Issue 回放,看 Agent 的结论是否指向同一个文件与同一处逻辑——这是最省事的准确率检查。
  2. 检查它是否真的调用了工具:Inspector 里应看到多次 JSON-RPC 往返,而不是模型凭训练记忆作答。
  3. 故意填错令牌再跑一次,应当在工具层报错;若仍给出"看起来很合理"的解释,说明结果并非来自真实数据。

常见故障速查

现象原因处理
工具列表为空Server 启动失败或凭证无效手工执行启动命令看报错
检索不到 Issueorg/project 参数与实际不符从控制台 URL 复制标识
定位到的行号对不上release 未关联 commit,或本地分支落后先同步分支,再补 release 上报
结论泛泛而谈只喂了堆栈,没接源码工具按第 3 节补齐代码库侧
生成的改动跑不过测试未要求自验证把测试命令纳入流程再让 Agent 复跑

小结

判断这套流程是否值得推广,看两个口径:从收到告警到形成结论的耗时是否下降,以及 Agent 定位的文件是否就是实际修改的那一个。前者测效率,后者测可靠性;只有前者改善而后者不达标,说明它在替你猜,不是在替你查。

延伸阅读

Related Articles

Tutorials

为什么 AI 读错截图里的数字:它拿到的图比屏幕上那张小得多

你把截图原图丢给 AI,它把 9,847 读成 9,347,或者把发票上一行小字整段编出来。原因大概率不在「眼神」,在尺寸:Claude 官方明写它按 28×28 的像素块看图,每块算一个视觉词元,超过上限的图会先缩小;1920×1080 压到 1456×819,你屏幕上 12 像素的小字到它眼里只剩 9.1 像素,而 4K 截图压完和 1080p 一模一样大——分辨率白涨了。这篇给出三张能自己复算的数:面积、字高、词元。最有用的结论反直觉:别放大整张图,裁一块再发——600×400 的局部不缩、字高完整保留、只付 330 个词元,比整张的 1,560 还便宜 4.7 倍。另附一个扫描口径:论文实测约 300ppi 追平传统 OCR、150ppi 以下明显退化,而 9.1 像素的字折算下来只有 62ppi。

Tutorials

为什么同一个问题问 AI 两遍,答案不一样:它不是在算答案,是在按概率抽一个词

同一句话原封不动问两遍,AI 的措辞不一样、甚至结论不一样。原因不是它心情不好:它每步拿到的不是一个答案,而是「一整排候选加各自的概率」,然后从中抽一个,连抽几百次就是一篇回答。这篇把「温度」讲回它的本义——softmax 公式里那个除号(Hinton 原话「T 是通常设为 1 的温度」「T 越大概率越平」),再给三张你我能自己复算的表:同一排候选,温度 0 抽一千次只出 1 种结果、0.2 出 2 种、2.0 时最冷门的词已占 7.35%;每个词有九成把握一致,写到 50 个词整段逐字一致的概率只剩 0.5%;单次七成答对的模型,抽九次投票变 90.1%(谷歌 Self-Consistency 论文实测 GSM8K +17.9 个百分点)。最关键的一条纠正:温度调到 0 官方也不保证复现——Anthropic 明写它「从未保证输出相同」,微软 Azure 的 seed=42 自家示例第三遍照样变了。还有一个 2026 年的现在时:Kimi 固定 1.0、传其他值报错,Gemini 新模型直接忽略,Claude 新代传非默认值返回 400,大厂正在把这些旋钮拆掉。

Tutorials

为什么 AI 数不清 strawberry 里有几个 r:它看到的不是十个字母,是三块

问 ChatGPT「strawberry 里有几个 r」,它常常答 2。原因不是笨,而是它根本没收到十个字母——我用官方分词库实测,strawberry 在三本不同词表里都是三块:st / raw / berry,三个 r 分散在其中两块里,而「逐块拆开再累加」这个动作从来没被训练过。这篇用「矗字里有几个直」讲清这件事,再给你四个自己跑得出来的数:同一句 17 个汉字,老词表切 34 块、新词表切 15 块;站内一篇 5,500 汉字的中文稿实测 7,112 块,约 0.77 汉字一块,换本词表变 9,491 块、多算 33%(和 Anthropic 官方那句「约 30 percent more tokens」对得上);9.11 之所以比 9.9 大,是因为它看到的是整块「11」。也有一条必须纠正的流行说法:分词不是唯一原因,arXiv 三篇论文给的图景更麻烦,而「换了 tokenizer 就修好了」厂商从未公开解释过。

Tutorials

冬天掉的电会还给你,夏天掉的不会:笔记本电池的两条账

冬天续航从六小时掉到三小时,进屋放一会儿又涨回来——这不是电池冻坏了,而是低温让你“暂时取不出”那部分电。Battery University 的 BU-502 给的数是:同一块电池在 27°C 能放出 100%,到 -18°C 只放得出约 50%。真正不会还给你的是另外三件事:高温、长期满电、低温充电。而“充到 80% 更耐用”也有代价——BU-808 的表写明 4.20V(充到 100%)大约 300–500 次循环,压到 4.00V 能到 1,200–2,000 次,但每次能用的电量也更少。这篇把八家厂商(微软、苹果 iPhone、苹果 Mac、华硕、戴尔、三星、谷歌、联想)的官方充电上限摆在一起,讲清“电池健康 87%”是怎么算的、为什么 0°C 以下不要充电,以及充电宝上的 3C 为什么是 2024 年才强制的。

Explore AI Ecosystem

Ready to take action? Explore AI tools & MCPs

Discover ChatGPT 6, Claude 3.7, Devin and 3000+ open-source MCP tools with 1-click config.

Sentry MCP 线上故障自愈与自动化修复实战 - AgentHub