本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
【腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
还久没用 Arthas 了,今天打开它的官网一看,卧槽,它竟然支持了 MCP。
而且它的迭代速度比感觉比 Java 生态里的 Spring 还要快。
我以为它已经成熟了,最多支持一些新 JDK。没想到它竟然要蹭上 AI 了。既然如此,那我今天就来试试这个 Arthas + MCP 把,体验一下这个 Java 线上诊断正式迈入“AI 对话”时代能力。
文章配图参见 https://mp.weixin.qq.com/s/dWlODscV4CS9FNrmNMMnDw。
Java 的线上救火队
Arthas 自 2018 年开源以来,已成为 Java 线上排障的“瑞士军刀”。它基于 Java Instrumentation API 与 ASM 字节码增强技术,能在不重启、不修改代码的前提下,实时查看线程状态、追踪方法耗时、反编译类文件、监控入参返回值。
传统 Arthas 诊断的典型流程是。
- 登录服务器,执行
java -jar arthas-boot.jarattach 目标进程 - 敲
dashboard查看整体状态,找高 CPU 线程 - 用
thread <id>查看具体线程堆栈 - 根据堆栈信息,用
jad反编译可疑类 - 必要时用
trace或watch追踪方法执行
这个流程虽然强大,但门槛极高。你得记住 20+ 个命令的参数格式,懂得 OGNL 表达式,知道如何限量避免线上刷屏,更需要掌握“排障路径”,先拿证据,再收敛,再验证。
真正耗时的不是“敲命令”,而是每一步的决策。
AI 时代的更多可能性
MCP(Model Context Protocol,模型上下文协议)由 Anthropic 于 2024 年 11 月提出并开源,旨在标准化 AI 助手与各种工具、数据源的连接方式。
在 MCP 出现之前,每个 AI 模型对接每个工具都需要定制集成,形成 N×M 的碎片化问题。MCP 用一个通用接口解决了这一困境:MCP Server 只需构建一次,就能被任何 MCP 客户端(如 Claude Desktop、Cursor、Cherry Studio)调用。
Arthas MCP Server 正是基于这一协议,通过 HTTP/Netty 提供统一的 JSON-RPC 2.0 接口,将 Arthas 的诊断命令封装成 26 个 AI 可调用的工具。
| 类别 | 工具数量 | 核心功能 |
|---|---|---|
| JVM 相关 | 12 个 | dashboard、heapdump、thread、memory、jvm、ognl 等 |
| 类加载相关 | 8 个 | sc、sm、jad、classloader、redefine、dump 等 |
| 监控诊断 | 6 个 | monitor、stack、trace、watch、tt、profiler |
这样更能简化大家的日常排查难度和操作步骤。
一句话排查 CPU 飙高
接下来,让我们通过一个真实场景,看看 Arthas MCP 如何改变诊断体验。
话说,某天晚上 8 点高峰期,订单服务 CPU 飙升到 98%,接口响应变慢。
传统方式(无 AI)
在无 MCP 模式下,你需要登录服务器 → 启动 Arthas → 敲 dashboard 找高 CPU 线程 → 记住线程 ID → 敲 thread 29 → 手动分析堆栈 → 定位到代码 → 修改 → 发布。
整个过程 15-30 分钟,每一步都可能因为不熟悉命令而卡住。
AI + Arthas MCP 方式
现在,新版本的 Arthas 支持 MCP 了。因此,你只需在 Cherry Studio 或 Claude Desktop 中输入。
我的订单服务 CPU 飙到 98%,帮我排查一下是哪个线程导致的高 CPU,它卡在哪里了?
AI 会自动执行以下诊断剧本。
第一步:调用 dashboard 查看整体情况。
AI 自动执行 dashboard 命令,发现线程 ID 29(http-nio-8080-exec-8)CPU 占用 89.2%。
第二步:调用 thread 查看线程堆栈。
AI 执行 thread 29,获取完整堆栈。
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
at com.xttblog.logging.LogAspect.logAround(LogAspect.java:47)
at com.xttblog.order.service.OrderService.getOrder(OrderService.java:123)
第三步:AI 分析并给出结论,AI 自动识别出问题根源。
线程卡在
java.util.regex.Pattern的正则匹配中。调用链显示问题发生在LogAspect.java:47的日志切面。该切面在处理超长字符串时,触发了性能极差的正则表达式(贪婪匹配 + 回溯),导致 CPU 占满。
第四步:给出修复建议。
临时措施:关闭日志切面;根本修复:将正则
.*改为[^"]*避免回溯,或改用indexOf替代;增加长度限制,超过 2000 字符不进行脱敏处理。
整个过程不到 30 秒,无需你记住任何 Arthas 命令。
想不到呀,AI 写代码,AI 还能自动排查问题,不少程序员真的要被淘汰了。
Arthas MCP 的技术架构
下面,我们一起看下 Arthas MCP 的技术架构吧。
根据官方文档,Arthas MCP Server 的配置非常简单。
第一步,启用 MCP 服务。在 arthas.properties 中添加。
arthas.mcpEndpoint=/mcp
arthas.httpPort=8563
第二步,验证服务启动。
curl http://localhost:8563/mcp
第三步,配置 AI 客户端(以 Cherry Studio 为例)。
{
"mcpServers": {
"arthas-mcp": {
"type": "streamableHttp",
"url": "http://localhost:8563/mcp"
}
}
}
需要特别注意安全认证,当配置 arthas.password 时,MCP Server 会自动开启 Bearer Token 认证,需在请求头中携带 Authorization: Bearer <password>。
AI 诊断 Java 故障,靠谱吗?
这应该是大多数人最关心的问题。从目前的社区实践来看,Arthas MCP 的可靠性体现在以下几个方面。
内置排障剧本
Arthas Agent 内置了阿里巴巴多年积累的百万级诊断经验,AI 知道 CPU 高要先看 dashboard 还是 thread -n,知道拿到堆栈后如何继续收敛。这相当于随身带了一位 10 年经验的架构师。
安全可控
- 命令限量:每轮只推进 1-2 步,避免线上冲击
- 低风险优先:默认使用只读命令(thread、jad、sc),慎用 redefine
- Bearer Token 认证:防止未授权访问
人机协作
AI 负责“初诊”和“信息收集”,生成结构化报告(结论/证据/原因/建议),最终决策和修复仍由人工完成。这种人机协作模式,既发挥了 AI 的信息处理能力,又保留了人类的专业判断。
当然,Arthas MCP 目前仍是实验性模块,功能在快速迭代中,复杂场景可能需要人工干预验证 AI 推断。
适用场景
除了 CPU 飙高,Arthas MCP 还能帮你排查。
| 问题类型 | AI 调用命令 | 诊断能力 |
|---|---|---|
| 接口变慢 | trace | 自动追踪调用链,找出最慢方法 |
| 内存泄漏 | heapdump + memory | 生成堆转储,分析大对象 |
| 死锁 | thread -b | 检测死锁线程,显示等待关系 |
| 参数异常 | watch | 监控方法入参和返回值 |
| 类加载问题 | sc、classloader | 查看类加载路径和加载器统计 |
除了这些,你日常工作中遇到的各种性能、代码故障问题等,都可以使用 Arthas 来排查。
目前官方支持 Arthas MCP 的 AI 客户端还包括 Claude Desktop、Cherry Studio、Cline、Cursor 等。感兴趣的网友可以抽空体验一番。
结语
Arthas 接入 MCP,标志着 Java 线上故障排查进入了“AI 辅助诊断”的新阶段。
这不仅是工具的升级,更是“思维方式的转变”,从“记住命令”到“描述问题”,从“人工决策”到“人机协作”。对于刚入行的 Java 开发者,这意味着不再需要背诵厚厚的 Arthas 手册;对于资深工程师,这意味着可以把重复性的信息收集交给 AI,专注于根因分析和架构优化。
正如一位大佬所说:“以前排查线上问题像侦探破案,现在像有个助手帮你整理好了所有证据,你只需要做最终判断。”
未来已来,你准备好进行 AI 人机协作,用 AI 排查线上问题了吗?

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » 阿里 Arthas 正式支持 MCP,Java 线上诊断迈入 AI 时代