Java Debug MCP Server
No description available
Ask AI about Java Debug MCP Server
Powered by Claude ยท Grounded in docs
I know everything about Java Debug MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Java Debug MCP Server
ไธไธชๅบไบ Model Context Protocol (MCP) ็ Java ่ฐ่ฏๆๅกๅจ๏ผๅ ่ฎธ LLM ้่ฟ MCP ๅ่ฎฎไธ Java ่ๆๆบ่ฟ่กไบคไบ๏ผๅฎ็ฐๆญ็น่ฐ่ฏใๅ้็ๆง็ญๅ่ฝใ
๐ ๆๆกฃ
| ๆๆกฃ | ่ฏดๆ |
|---|---|
| QUICKSTART.md | ๅฟซ้ๅ ฅ้จ - 5 ๅ้ๅฟซ้ๅผๅง |
| USER_GUIDE.md | ไฝฟ็จๆๅ - ๅฎๆด็ๅฎ่ฃ ๅไฝฟ็จๆๆกฃ |
| TEST.md | ๆต่ฏๆๅ - ๅฆไฝๆต่ฏ MCP ๆๅกๅจ |
ๆถๆ
โโโโโโโโโโโโโโโโโโโ stdio/HTTP โโโโโโโโโโโโโโโโโโโโโโโโ
โ Claude/LMM โ โโโโโโโโโโโโโโโโโโโโบ โ MCP Server (Java) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ JDI (JDWP)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ Target JVM โ
โ (debuggee) โ
โโโโโโโโโโโโโโโโโโโโโโโโ
ๆๅปบ
cd E:/java_workspace/debug_mcp
mvn clean package
ๆๅปบๅฎๆๅ๏ผJAR ๆไปถไฝไบ target/debug-mcp-1.0.0.jar
ไฝฟ็จๆนๆณ
1. ๅฏๅจๅฏ่ฐ่ฏ็ Java ็จๅบ
้ฆๅ ๅฏๅจ็ฎๆ ็จๅบๅนถๅฏ็จ JDWP ่ฐ่ฏ:
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=y -cp /path/to/classes com.example.Main
JDWP ๅๆฐ่ฏดๆ:
transport=dt_socket: ไฝฟ็จ socket ไผ ่พserver=y: JVM ไฝไธบๆๅกๅจ็ญๅพ ่ฟๆฅaddress=8000: ็ๅฌ็ซฏๅฃ 8000suspend=y: ๅฏๅจๆถ็ญๅพ ่ฐ่ฏๅจ่ฟๆฅ (ไฝฟ็จsuspend=n็ซๅณๅฏๅจ)
2. ้ ็ฝฎ Claude Desktop
็ผ่พ Claude Desktop ้ ็ฝฎๆไปถ:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"java-debugger": {
"command": "java",
"args": [
"-jar",
"E:/java_workspace/debug_mcp/target/debug-mcp-1.0.0.jar"
],
"env": {}
}
}
}
3. ้ๅฏ Claude Desktop
้ๅฏๅ๏ผๅจๅฏน่ฏไธญๅฏไปฅไฝฟ็จ่ฐ่ฏๅทฅๅ ทใ
ๅฏ็จๅทฅๅ ท
| ๅทฅๅ ทๅ็งฐ | ๅ่ฝ | ๅๆฐ |
|---|---|---|
connect_attach | ้ๅ ๅฐ่ฟ่กไธญ็ JVM | host (้ป่ฎค: localhost), port |
connect_launch | ๅฏๅจๅนถ่ฐ่ฏๆฐ่ฟ็จ | mainClass, classpath, vmArgs, programArgs |
disconnect | ๆญๅผ่ฟๆฅ | - |
set_breakpoint | ่ฎพ็ฝฎๆญ็น | className, lineNumber |
clear_breakpoint | ๆธ ้คๆญ็น | breakpointId |
list_breakpoints | ๅๅบๆๆๆญ็น | - |
continue_execution | ็ปง็ปญๆง่ก | threadId (ๅฏ้) |
step_over | ๅๆญฅ่ทณ่ฟ | threadId (ๅฏ้) |
step_into | ๅๆญฅ่ฟๅ ฅ | threadId (ๅฏ้) |
step_out | ๅๆญฅ่ทณๅบ | threadId (ๅฏ้) |
get_local_variables | ่ทๅๅฑ้จๅ้ | threadId (ๅฏ้), frameIndex (้ป่ฎค: 0) |
get_fields | ่ทๅๅฏน่ฑกๅญๆฎต | objectId |
list_threads | ๅๅบๆๆ็บฟ็จ | - |
list_classes | ๅๅบๅทฒๅ ่ฝฝ็็ฑป | pattern (ๅฏ้) |
list_stacktrace | ่ทๅ็บฟ็จๅ ๆ | threadId (ๅฏ้) |
get_status | ่ทๅ่ฐ่ฏๅจ็ถๆ | - |
ไฝฟ็จ็คบไพ
ๅฏน่ฏ็คบไพ
็จๆท: ่ฏท่ฟๆฅๅฐ localhost:8000 ็ Java ็จๅบๅนถ่ฎพ็ฝฎๆญ็น
Claude: [่ฐ็จ connect_attach, host=localhost, port=8000]
ๅทฒ่ฟๆฅๅฐ localhost:8000
[่ฐ็จ list_classes]
... ๆพๅฐ็ฑป com.example.Main ...
[่ฐ็จ set_breakpoint, className=com.example.Main, lineNumber=42]
ๆญ็นๅทฒ่ฎพ็ฝฎ: bp-1: com.example.Main:42
ๆต่ฏ
ๅๅปบๆต่ฏ็ฎๆ ็จๅบ
// src/test/java/com/example/TestApp.java
package com.example;
public class TestApp {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
System.out.println("Sum: " + sum);
}
System.out.println("Final: " + sum);
}
}
็ผ่ฏๅนถ่ฟ่กๆต่ฏ็จๅบ
# ็ผ่ฏ
javac -d target/test-classes src/test/java/com/example/TestApp.java
# ๅฏๅจๅฏ่ฐ่ฏ็็จๅบ
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=y \
-cp target/test-classes com.example.TestApp
้กน็ฎ็ปๆ
E:/java_workspace/debug_mcp/
โโโ pom.xml # Maven ้
็ฝฎ
โโโ src/
โ โโโ main/
โ โ โโโ java/
โ โ โ โโโ com/debugger/mcp/
โ โ โ โโโ Main.java # ๅ
ฅๅฃ
โ โ โ โโโ McpServer.java # MCP ๆๅกๅจ
โ โ โ โโโ handler/
โ โ โ โ โโโ ToolHandler.java # ๅทฅๅ
ทๅค็ๅจ
โ โ โ โโโ debugger/
โ โ โ โ โโโ JdiDebugger.java # ๆ ธๅฟ่ฐ่ฏๅจ
โ โ โ โ โโโ BreakpointManager.java # ๆญ็น็ฎก็
โ โ โ โ โโโ VariableInspector.java # ๅ้ๆฅ็
โ โ โ โ โโโ StepController.java # ๅๆญฅๆงๅถ
โ โ โ โโโ model/
โ โ โ โโโ McpMessage.java # MCP ๆถๆฏ
โ โ โ โโโ ToolCallResult.java # ๅทฅๅ
ท็ปๆ
โ โ โ โโโ Tool.java # ๅทฅๅ
ทๅฎไน
โ โ โ โโโ InitializeResult.java # ๅๅงๅ็ปๆ
โโโ README.md
ๆๆฏๆ
- ่ฏญ่จ: Java 17+
- MCP ๅ่ฎฎ: JSON-RPC 2.0 over stdio
- ่ฐ่ฏ API: JDI (Java Debug Interface)
- ๆๅปบๅทฅๅ ท: Maven
- JSON ๅค็: Jackson
ๆ ้ๆ้ค
ๆ ๆณ่ฟๆฅๅฐ JVM
็กฎไฟ็ฎๆ ็จๅบไปฅ่ฐ่ฏๆจกๅผๅฏๅจ:
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=y ...
ๆญ็นไธ็ๆ
็กฎไฟ็ผ่ฏๆถๅ ๅซ่ฐ่ฏไฟกๆฏ:
javac -g ...
Maven ็กฎไฟไฝฟ็จ:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
</plugin>
