# jdwp-java MCP server

> Enables AI agents to perform full debugger control over running Java applications via JDWP/JDI, including inspecting state and mutating values.

- Repository: https://github.com/FgForrest/mcp-jdwp-java
- Page: https://hostedmcp.org/servers/fgforrest/mcp-jdwp-java
- Transport: —
- Stars: 34
- License: MIT

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `MCP_TIMEOUT` | no | no |  |
| `MCP_TOOL_TIMEOUT` | no | no |  |

## Tools (50)

- `jdwp_connect`
- `jdwp_disconnect`
- `jdwp_reconnect`
- `jdwp_wait_for_attach`
- `jdwp_get_version`
- `jdwp_get_threads`
- `jdwp_dump_locks`
- `jdwp_get_stack`
- `jdwp_get_locals`
- `jdwp_get_fields`
- `jdwp_to_string`
- `jdwp_get_breakpoint_context`
- `jdwp_get_current_thread`
- `jdwp_resume`
- `jdwp_resume_thread`
- `jdwp_suspend_thread`
- `jdwp_resume_until_event`
- `jdwp_step_over`
- `jdwp_step_into`
- `jdwp_step_out`
- `jdwp_set_breakpoint`
- `jdwp_set_logpoint`
- `jdwp_set_fast_logpoint`
- `jdwp_set_fast_breakpoint`
- `jdwp_restore_fast_logpoints`
- `jdwp_clear_breakpoint`
- `jdwp_set_exception_breakpoint`
- `jdwp_set_exception_logpoint`
- `jdwp_set_field_breakpoint`
- `jdwp_set_field_logpoint`
- `jdwp_set_breakpoint_dependency`
- `jdwp_clear_breakpoint_dependency`
- `jdwp_disarm_until_trigger`
- `jdwp_evaluate_expression`
- `jdwp_assert_expression`
- `jdwp_set_local`
- `jdwp_set_field`
- `jdwp_get_events`
- `jdwp_clear_events`
- `jdwp_diagnose`
- `jdwp_attach_watcher`
- `jdwp_detach_watcher`
- `jdwp_list_watchers_for_breakpoint`
- `jdwp_evaluate_watchers`
- `jdwp_mark_instance`
- `jdwp_unmark_instance`
- `jdwp_rename_mark`
- `jdwp_overview`
- `jdwp_clear`
- `jdwp_reset`

## FAQ

### What can the AI agent do with this server?

The agent can inspect runtime state like locals and fields, evaluate arbitrary Java code in suspended frames, mutate running programs, and set conditional or exception breakpoints.

### What are the system requirements to run the server?

You need JDK 17+ installed on your PATH to run the server, and JDK 21+ is required to build it from source.

### How do I connect it to my Java application?

You must launch your Java application with JDWP enabled, for example using the argument -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005.
