news 2026/7/5 14:43:50

Arthas MCP Proxy MCP 服务说明文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Arthas MCP Proxy MCP 服务说明文档

1. 服务概述

一句话简介:基于MCP的Arthas诊断代理服务器,支持在Claude对话中通过SSH动态连接到任意服务器进行JVM实时诊断,实现多进程并行诊断和零延迟切换。

  • 服务名称:Arthas MCP Proxy
  • 版本号:1.0.0
  • 开发者/提供方:narcissux
  • 协议类型:MCP (Model Context Protocol)

2. 核心功能

该MCP服务提供七个核心诊断工具:

工具名称功能描述
connect_ssh建立SSH连接,返回session_id
list_java_processes列出目标机Java进程(显示Arthas附加状态)
thread_dump获取线程栈(top N by CPU)
heap_info查看内存/Dashboard信息
watch_method监听方法入参和返回值
exec_command执行任意Arthas命令
disconnect_ssh断开SSH连接释放资源

3. 使用场景

该服务适合在以下情况下使用:

  • JVM实时诊断和性能分析
  • 线程栈分析和CPU热点定位
  • 内存使用情况监控和分析
  • 方法调用监听和参数追踪
  • 多进程并行诊断和对比分析
  • 生产环境问题快速定位和排查

4. 接入方式

4.1 服务端点

支持两种部署模式:

部署模式端点说明
SSE模式(远程部署)http://your-server-ip:8000/sse
stdio模式(本地嵌入)本地Python进程,通过命令行启动

4.2 认证与权限

SSH认证方式:

  • 用户名 + 密码认证
  • 用户名 + SSH密钥认证
  • 运行用户需要有权限attach目标JVM
  • 目标机需要安装Arthas(/opt/arthas/as.sh或自定义路径)

4.3 数据格式

服务支持以下数据格式:

  • 输入格式:JSON格式的请求参数(SSH连接信息、PID、命令参数等)
  • 输出格式:JSON格式的诊断结果数据
  • 通信协议:支持SSE(Server-Sent Events)和stdio两种传输方式

4.4 服务器配置

SSE模式配置:

{ "mcpServers": { "arthas": { "type": "sse", "url": "http://your-server-ip:8000/sse" } } }

stdio模式配置:

{ "mcpServers": { "arthas": { "command": "python", "args": ["/path/to/main.py", "--transport", "stdio"] } } }

5. 接口定义

5.1 connect_ssh 工具

参数名类型必填说明
hoststring目标服务器IP地址
portnumberSSH端口(默认22)
usernamestringSSH用户名
passwordstringSSH密码(与key二选一)
keystringSSH私钥(与password二选一)

5.2 thread_dump 工具

参数名类型必填说明
session_idstringSSH会话ID
pidnumberJava进程ID
top_nnumber显示CPU占用最高的N个线程(默认10)

5.3 watch_method 工具

参数名类型必填说明
session_idstringSSH会话ID
pidnumberJava进程ID
class_patternstring类名匹配模式
method_patternstring方法名匹配模式

6. 快速开始

6.1 环境要求

  • Python 3.11或更高版本
  • Docker(可选,用于容器化部署)
  • 目标机已安装Arthas
  • 目标机SSH可达
  • 目标机jps命令可用(JDK自带)

6.2 示例代码

在线构建(有网络环境):

docker build -t arthas-mcp-proxy . # 或 docker-compose up -d

离线构建(内网无网络环境):

# 步骤1:外网机器预下载依赖 bash download-packages.sh # 步骤2:打包传入内网 zip -r arthas-mcp-proxy.zip arthas-mcp-proxy/ # 步骤3:内网构建 cd arthas-mcp-proxy docker build --build-arg PIP_SOURCE=offline -t arthas-mcp-proxy .

使用示例:

# 在Claude对话中: # 连接到 192.168.1.100,用户 root,密码 xxx,查看上面的 Java 进程。 # Claude会自动调用 connect_ssh -> list_java_processes # 查看 PID 1234 的线程栈 top 10,然后查看 PID 5678 的内存情况。 # Claude会自动在多个PID间切换诊断

7. 注意事项

  • 并发诊断模型:Arthas每个JVM进程需要独立的agent实例,首次使用自动后台attach(约5秒),后续切换零延迟
  • 连接池管理:按user@host:port缓存SSH连接,空闲5分钟自动回收,支持连接复用
  • 资源占用:每个agent约20-30MB内存,建议同时保持<=10个agent运行
  • 多进程支持:可同时保持多个agent运行,任意切换PID进行诊断
  • 离线构建支持:支持内网零网络环境下通过预下载whl包完成Docker构建
  • 目标机要求:已安装Arthas、SSH可达、运行用户有权限attach目标JVM、jps命令可用
  • 许可证:采用MIT License,可自由使用和修改
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 14:43:44

流放之路2角色构建:如何用Path of Building告别无效配装?

流放之路2角色构建&#xff1a;如何用Path of Building告别无效配装&#xff1f; 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 你是否曾花费数小时调整装备和天赋&#xff0c;却在实战中发现自己精心设…

作者头像 李华
网站建设 2026/7/5 14:42:55

[MAF Workflow编排模式-05]Group Chat:构建多人智囊团式的自由协作大群

群聊(Group Chat)编排模拟了多个Agent之间的协作对话&#xff0c;由编排器负责协调&#xff0c;该编排器决定发言者选择和对话流程。这种模式非常适合需要迭代改进、协作解决问题或多视角分析的场景&#xff0c;比如&#xff1a; 迭代改进&#xff1a;多轮审查和改进&#xff…

作者头像 李华
网站建设 2026/7/5 14:41:59

AI个体生存三部曲:2026年了还不会用AI的人,正在被悄悄淘汰2026年了还不会用AI的人,正在被悄悄淘汰

上周在深圳&#xff0c;一个做了8年前端开发兼设计的哥们儿跟我说&#xff0c;他被一个刚毕业的小孩替代了。那小孩月薪只有他三分之一&#xff0c;但人家会用AI做vibe coing和生图&#xff0c;他还在坚持古法编程。数据说话&#xff1a;这不是个例是结构性重组 2026年5月Meta裁…

作者头像 李华
网站建设 2026/7/5 14:39:12

Level 3 的“Component(组件视图)”是软件架构视图之一,主要用于向开发人员展示系统某模块内部的组成结构

Level 3 的“Component&#xff08;组件视图&#xff09;”是软件架构视图之一&#xff0c;主要用于向开发人员展示系统某模块内部的组成结构&#xff0c;包括关键组件&#xff08;如类、服务、微服务、库、接口等&#xff09;、组件之间的依赖关系、职责划分及交互方式。该视图…

作者头像 李华
网站建设 2026/7/5 14:39:01

Herbie:Python中的高效天气数据下载利器

Herbie&#xff1a;Python中的高效天气数据下载利器 【免费下载链接】Herbie Download numerical weather prediction datasets (HRRR, RAP, GFS, IFS, etc.) from NOMADS, NODD partners (Amazon, Google, Microsoft), ECMWF open data, and the University of Utah Pando Arc…

作者头像 李华