Token导航 LogoToken导航TokenDH.com
Bugger MCP logo
开发工具未说明官方级别未说明来源级核验

Bugger MCP

MCP Server

一个基于MCP协议的JVM调试服务器,支持通过自然语言与AI助手交互进行Java应用程序的远程调试。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
开发工具JavaClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lyer1

提供方

lyer1

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

JVM调试器MCP服务器

用于远程JVM调试的MCP(模型上下文协议)服务器。该工具连接了AI助手(如Copilot CLI、Claude Code、Cursor等)和Java的标准JDI(Java调试接口),允许您使用自然语言交互式调试正在运行的Java应用程序。

无论您是调试本地Java应用程序还是远程应用程序服务器(如JBoss EAP 8),此服务器都会连接到标准JDWP套接字端口(例如。, 87875005)并将强大的调试工具原生地暴露给LLM。

特性

  • 标准Java调试:使用官方 com.sun.jdi API连接和交互。
  • 远程连接:连接到任何使用标准JDWP套接字传输参数启动的JVM。
  • 交互式检查:获取线程列表,挂起/恢复执行,并检查调用堆栈和局部变量。
  • 断点和步进:在类和行上设置断点,等待执行事件,以及跳过、进入或退出函数。

安装和建造

先决条件

  • 已安装JDK 17+(或兼容)
  • Maven(mvn)已安装

从源代码构建

该项目使用Maven构建一个胖jar(包括用于JSON处理的Jackson等依赖项),以便于执行。

git clone 
cd jvm-debugger-mcp
mvn clean package

可执行脂肪罐将位于 target/jvm-debugger-mcp-1.0-SNAPSHOT.jar.

与Copilot CLI(和其他MCP客户端)一起使用

此服务器使用标准MCP输入/输出机制 stdio它可以集成到任何符合MCP的客户端中。

与GitHub Copilot CLI一起使用

虽然GitHub Copilot CLI的确切配置正在积极发展,但集成MCP服务器通常需要将CLI指向可执行命令。

如果Copilot CLI支持通过配置文件(如Claude Code或Cursor)进行MCP配置,则可以在MCP设置文件中添加以下配置片段:

{
  "mcpServers": {
    "jvm-debugger": {
      "command": "java",
      "args": ["-jar", "/absolute/path/to/your/jvm-debugger-mcp/target/jvm-debugger-mcp-1.0-SNAPSHOT.jar"]
    }
  }
}

*注:更换 /absolute/path/to/your/jvm-debugger-mcp 带有克隆存储库的实际路径。*

调试Java应用程序

  1. 在启用调试的情况下启动Java应用程序。 例如,使用JBoss或仅使用标准JAR:
   java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8787 -jar myapp.jar
  1. 打开您的AI命令行界面/助手 (例如Copilot CLI)。
  1. 请助理附上:

> “将JVM调试器连接到端口8787上的localhost。”

  1. 交互和调试:

> “列出活动线程。” > “挂起JVM。” > “获取线程ID 1的堆栈跟踪和局部变量。” > “在com.example.MyController的第42行设置断点。” > “恢复JVM并等待断点事件。” > “过来。”

可用的MCP工具

工具名称描述必需参数
jvm_attach连接到远程JVM调试端口host (字符串), port (整数)
jvm_disconnect断开与当前连接的JVM的连接。-
jvm_suspend挂起JVM中的所有线程。-
jvm_resume恢复所有挂起的线程的执行。-
jvm_get_threads获取所有线程及其状态的列表。-
jvm_get_stack获取挂起线程的调用堆栈和局部变量。threadId (整数)
jvm_set_breakpoint在特定的类和行号处设置断点。className (字符串), line (整数)
jvm_wait_for_event等待JVM事件(如点击断点或类准备)。timeoutMs (整数)
jvm_step跳过、进入或退出特定线程。threadId (整数), type (“结束”、“进入”、“退出”)

技术架构

该架构由三个核心组件组成:

  1. McpServer核心(McpServer.java & Json.java)

- 处理模型上下文协议(MCP)JSON-RPC规范。 - 从异步读取传入的JSON消息 System.in 通过扫描 \r\n\r\n 标题和标准 Content-Length. - 路线 tools/list 请求枚举功能。 - 路线 tools/call 向注册的Java工具发送请求,传递解析的JSON参数,并以格式化的结果进行响应 System.out.

  1. JDI包装机(JdiDebugger.java)

- 包裹官方 com.sun.jdicom.sun.jdi.connect API。 - 附件: 使用 com.sun.jdi.SocketAttach 连接器,用于建立与目标JVM的TCP连接。 - 检查: 迭代 ThreadReference 对象以提取线程状态和ID号。如果线程挂起,则迭代 StackFrame 提取可见光 LocalVariables及其对应值。(手柄 AbsentInformationException 如果代码不是用 -g 旗)。 - 执行控制: 用途 EventRequestManager 创造 BreakpointRequest, ClassPrepareRequest (用于卸载类上的延迟断点),以及 StepRequest它消耗了 EventQueue 等待并向客户端报告事件。

  1. 工具注册表(Main.java)

- 作为切入点(public static void main). - 立即 JdiDebugger. - 定义一个列表 McpServer.Tool 匿名类。每个类指定其 name, description, schema (参数为JSON模式),以及 call 直接桥接到 JdiDebugger 方法。

目录标签

目录标签

开发工具JavaClaudeJava调试本地部署远程调试AI集成

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP