mcp-java-dev-tools
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-java-dev-toolsverify runtime behavior of UserService.createUser"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-java-dev-tools
MCP Java Dev Tools bridges agentic coding tools and live Java runtime behavior through a lightweight sidecar agent.
Static analysis only gets you so far. By attaching directly to a running JVM, this tool surfaces bytecode-level runtime signals that static analysis alone can't see — enabling probe-verified inspection, targeted regression checks, runtime-path validation, and deterministic debugging workflows.
The runtime agent is built with ByteBuddy and works alongside JDWP rather than replacing it. On top of the probe layer, the system adds framework-aware data synthesis and strict, fail-closed tool contracts — so agent orchestrators can make decisions grounded in actual runtime proof, not inference.
The current focus is HTTP entrypoints. Non-HTTP protocol support is on the horizon but not yet implemented — it will need concrete models and validation targets before the core contracts can be generalized.
For operator workflows and end-to-end execution flows, see docs/how-it-works/README.md.
Requirements
Requirement | Version |
Node.js |
|
npm |
|
JDK |
|
Maven |
|
Related MCP server: jdwp-mcp
Build
npm.cmd install
npm.cmd run build
mvn -f java-agent\pom.xml packageThis produces two artifacts:
MCP server →
dist/server.jsJava agent bundle →
java-agent/core/core-probe/target/mcp-java-dev-tools-agent-0.1.0-all.jar
The Java 21 lifecycle helper is packaged separately at
java-agent/core/core-jvm-attach/target/mcp-java-dev-tools-core-jvm-attach-0.1.8.jar.
Installation
Installer
Installer flow is split into install and update scripts (Codex and Kiro skills).
./scripts/install.shThis installs the default skill set:
mcp-java-dev-tools-line-probe-runmcp-java-dev-tools-regression-suitemcp-java-dev-tools-regression-plan-craftermcp-java-dev-tools-regression-resultmcp-java-dev-tools-issue-reportmcp-java-dev-tools-bug-drillmcp-java-dev-tools-bug-fixmcp-java-dev-tools-failure-lensmcp-java-dev-tools-probe-registry-manager
To update/overwrite existing installed skills (and add missing new skills):
./scripts/update.shBoth scripts:
run
npm run build:compilerun
mvn -f java-agent/pom.xml packagesync shipped skills into the target client skill directory
by default prompt for a first workspace and generate MCP env config block output (client-specific)
Kiro and Claude Code behavior during install/update:
stale managed skills matching
mcp-java-dev-tools-*are detected and can be deleted interactivelyinstalled managed skills are validated after sync (
SKILL.md+ expected folder presence)restart/reload guidance is printed so the visible tool/skill list refreshes from the synced skill directory
Default MCP registry env input can be skipped:
./scripts/install.sh --client codex --no-configure-mcp-env
# Or: ./scripts/install.sh --client claude --no-configure-mcp-envMCP env input captures:
MCP_JAVA_AGENT_JAR(required; absolute path to built Java agent jar)
Spring Integration Launcher
Use the helper launcher to run a Spring app with auto-inferred Java agent include scope and probe port:
./spring-integration/run-spring-app-with-mcp.shBehavior:
prompts for Spring project absolute path, app port (default
8080), and optional JDWP portinfers include package from
src/main/javaassigns probe port starting at
9173and increments if occupiedopens a new Git Bash window and starts the Spring app with
JAVA_TOOL_OPTIONSincluding-javaagent
Manual Setup
Java Agent Setup
The target JVM must run on Java 21 or newer. Java 17 is unsupported because the Java reactor and dynamic lifecycle helper compile for Java 21.
Add the following as a JVM argument when launching your application, replacing {desktopName}:
-javaagent:C:\Users\{desktopName}\repository\mcp-java-dev-tools\java-agent\core\core-probe\target\mcp-java-dev-tools-agent-0.1.8.jar=host=0.0.0.0;port=9191;exclude=com.nimbly.mcpjavadevtools.agent.**,**.config.**,**TestTip: The
includefilter is optional. If omitted, the agent infers an include scope from startup command metadata (sun.java.command), usually the startup class package (for examplecom.acme.app.**). Setincludeexplicitly when inference is ambiguous or too broad.
includesupports comma-separated basepaths:
package globs (for example
com.thirdparty.service.**)exact class FQCNs (for example
com.example.ApiClass)mixed module/class targeting in one value (for example
com.example.app.**,com.example.api.**,com.thirdparty.SomeClass)
To confirm the agent is instrumenting your classes, check the startup logs for lines like:
[mcp-probe]: com.yourpackagename.yourclassnameIf you don't see your classes listed, check your include filter.
Dynamic Attach (Java 21+)
The separate lifecycle helper discovers local JVM PIDs and dynamically loads only an agent JAR with the expected Sidecar Agent manifest. It requires an exact PID and explicit confirmation; discovery is intentionally unverified and does not expose target command lines or properties.
java -jar java-agent\core\core-jvm-attach\target\mcp-java-dev-tools-core-jvm-attach-0.1.8.jar discover
java -jar java-agent\core\core-jvm-attach\target\mcp-java-dev-tools-core-jvm-attach-0.1.8.jar attach --pid {pid} --agent-jar {absolute-agent-jar-path} --confirm true
java -jar java-agent\core\core-jvm-attach\target\mcp-java-dev-tools-core-jvm-attach-0.1.8.jar deactivate --pid {pid} --agent-jar {absolute-agent-jar-path} --confirm trueOn Java 21, dynamic agent loading succeeds by default but emits the JEP 451 warning.
-XX:+EnableDynamicAgentLoading suppresses that warning only when operators explicitly choose it.
-XX:-EnableDynamicAgentLoading and -XX:+DisableAttachMechanism return Fail-Closed lifecycle
results. VirtualMachine.detach() closes the helper session; it does not unload agent classes.
Deactivation disables Sidecar Agent-owned instrumentation and reports non-restorable classes.
Open Run > Edit Configurations... from the top menu
Select the run configuration for your target application (or create one if it doesn't exist)
Expand the Modify options dropdown and enable Add VM options if it isn't already visible
In the VM options field, paste the full
-javaagent:...argument from aboveClick Apply, then OK
Run your application normally — the agent attaches on startup
Finding the JAR path: If you're unsure of the absolute path, right-click the agent JAR in the Project panel and choose Copy Path > Absolute Path.
On Windows, use backslashes in the path (
C:\Users\...). On macOS/Linux, use forward slashes (/home/...or/Users/...).
Go to Run > Run Configurations... (or Debug Configurations... if you're debugging)
Select your application under Java Application, or create a new one
Open the Arguments tab
In the VM arguments field, paste the full
-javaagent:...argument from aboveClick Apply, then Run (or Debug)
Finding the JAR path: Navigate to the JAR in your file system, right-click it, and copy the full path. Paste it into the agent argument, replacing the placeholder path.
On Windows, Eclipse accepts both forward and backslashes in paths, but backslashes are safer. Wrap the path in quotes if it contains spaces:
-javaagent:"C:\path with spaces\agent.jar"=...
Runtime Configuration
Java Agent Options
Capture History Buffer Size
Controls how many method captures the agent retains per probe point.
Method | Value |
Agent arg |
|
JVM property |
|
Environment variable |
|
Default is 3. Increase this if you need deeper capture history for a single probe point.
MCP Server Environment Variables
Required
Variable | Purpose |
| Absolute path to the built Java agent jar used for probe-wired runtime startup |
Optional
Variable | Default | Notes |
| — | |
| — | |
| — | |
| — | Optional absolute path to the packaged Java 21 lifecycle helper; the MCP Tool otherwise resolves the repository-built helper artifact. |
| — | Comma-separated non-loopback Probe hosts allowed for dynamic attach. Loopback is always allowed. |
|
| Range: 10–2000 |
|
| Max: 10 |
|
| |
|
| Max: 10 |
|
| Set |
Configuration Scope Matrix
Setting | Consumed By | Affects |
| MCP server | Canonical multi-probe routing with workspaces/profiles/probes |
| Java agent | Which classes are instrumented at runtime |
| MCP server | Whether |
Probe Endpoints
These paths are fixed and cannot be overridden.
Endpoint | Path |
Status |
|
Reset |
|
Capture |
|
Skills
Skill | Purpose |
| Line-level probe execution |
| Regression check orchestration |
| Craft and refine deterministic persisted regression plan specs ( |
| Artifact-derived result rendering with extensible display templates (default endpoint table) |
| Sanitized issue reporting from session, runtime, and probe evidence |
| Bounded method-level diagnosis using Route Synthesis and live Probe evidence |
| Proposal-only issue localization and Probe-evidenced Java fix planning |
| Bounded Sidecar-backed pasted-exception reproduction with no static-only diagnosis |
| Safe local Java 21+ Sidecar Agent discovery, attachment, Probe verification, and deactivation |
Contributing
Contribution guidance lives in CONTRIBUTING.md.
The guide distinguishes between:
synthesizer and adapter contributions
probe tools and recipe generation contributions
Start there before opening a large pull request or changing public tool contracts.
MCP Tools
Tool | |
| |
| |
| |
| |
| Failure Lens trace analysis and runtime reproduction comparison |
| |
| |
| Local JVM discovery and Sidecar Agent lifecycle operations |
Probe config Artifact runtime behavior:
Registry config is loaded from discovered workspace
.mcpjvm/probe-config.json.File edits are auto-reloaded with debounce.
artifact_managementwithartifactType=probe_configandaction=reloadremains available as deterministic manual refresh/fallback.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceBridges AI coding agents with the browser to provide visual debugging, real-time error capture, screenshot capabilities, DOM inspection, and interactive wireframing through a reverse proxy with injected developer tools.Last updated315Apache 2.0
- AlicenseBqualityCmaintenanceСonnects to live JVMs via JDWP protocol, enabling LLM agents to autonomously debug Java applications — attach to a running process, pause threads, set breakpoints (including conditional), inspect stacks with auto-resolved object fields, evaluate methods, set variable values, and diagnose issues like deadlocks and hung queries.Last updated281MIT

karellen-jdb-mcpofficial
Alicense-qualityDmaintenanceEnables LLMs to debug Java applications using JDB, supporting breakpoints, stepping, expression evaluation, thread analysis, and more.Last updated3Apache 2.0- Alicense-qualityDmaintenanceBridges AI agents with VS Code's debugger, enabling breakpoint management, step execution, variable inspection, and stack tracing via CLI commands.Last updated25GPL 3.0
Related MCP Connectors
Build, validate, and deploy multi-agent AI solutions from any AI environment.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nimbly-dev/mcp-java-dev-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server