Arthas MCP Proxy MCP 服务说明文档

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_idlist_java_processes列出目标机Java进程显示Arthas附加状态thread_dump获取线程栈top N by CPUheap_info查看内存/Dashboard信息watch_method监听方法入参和返回值exec_command执行任意Arthas命令disconnect_ssh断开SSH连接释放资源3. 使用场景该服务适合在以下情况下使用JVM实时诊断和性能分析线程栈分析和CPU热点定位内存使用情况监控和分析方法调用监听和参数追踪多进程并行诊断和对比分析生产环境问题快速定位和排查4. 接入方式4.1 服务端点支持两种部署模式部署模式端点说明SSE模式远程部署http://your-server-ip:8000/ssestdio模式本地嵌入本地Python进程通过命令行启动4.2 认证与权限SSH认证方式用户名 密码认证用户名 SSH密钥认证运行用户需要有权限attach目标JVM目标机需要安装Arthas/opt/arthas/as.sh或自定义路径4.3 数据格式服务支持以下数据格式输入格式JSON格式的请求参数SSH连接信息、PID、命令参数等输出格式JSON格式的诊断结果数据通信协议支持SSEServer-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地址portnumber否SSH端口默认22usernamestring是SSH用户名passwordstring否SSH密码与key二选一keystring否SSH私钥与password二选一5.2 thread_dump 工具参数名类型必填说明session_idstring是SSH会话IDpidnumber是Java进程IDtop_nnumber否显示CPU占用最高的N个线程默认105.3 watch_method 工具参数名类型必填说明session_idstring是SSH会话IDpidnumber是Java进程IDclass_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_SOURCEoffline -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秒后续切换零延迟连接池管理按userhost:port缓存SSH连接空闲5分钟自动回收支持连接复用资源占用每个agent约20-30MB内存建议同时保持10个agent运行多进程支持可同时保持多个agent运行任意切换PID进行诊断离线构建支持支持内网零网络环境下通过预下载whl包完成Docker构建目标机要求已安装Arthas、SSH可达、运行用户有权限attach目标JVM、jps命令可用许可证采用MIT License可自由使用和修改