java-jdtls-mcp-server (SachieWang/java-jdtls-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 72 out of 100, grade C. It declares 15 tools. No publisher has claimed this listing.
A high-performance MCP server that bridges AI agents with Java codebases, providing professional-grade Java language intelligence via Eclipse JDT.LS.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
SachieWang
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
java_startStart the Java Language Server (JDT.LS). Required before other commands. If already running, it will restart.
java_restartRestart the Java Language Server (JDT.LS).
java_open_fileNotify the language server that a file is open (didOpen).
java_get_definitionGet definition location for a symbol.
java_get_referencesGet references for a symbol.
java_get_hoverGet hover information for a symbol.
java_get_diagnosticsGet diagnostics (errors/warnings) for a file. This tool now attempts to pull diagnostics actively from the server if supported (LSP 3.17+), otherwise falls back to cached results from asynchronous publishing.
java_get_workspace_diagnosticsPull diagnostics for the entire workspace (LSP 3.17+). Note: This may not be supported by all language server versions.
java_load_maven_projectLoad a Maven Java project into the language server workspace. This causes JDTLS to index the project, resolving dependencies and symbols across the entire project without needing to open files individually.
java_search_symbolsSearch for symbols (classes, methods, fields) across the entire workspace by name.
java_get_file_symbolsGet all symbols (classes, methods, fields) defined in a specific file.
java_get_statusGet the current status of the Java Language Server.
configure_jdt_lsDynamically update JDT.LS configuration (e.g. enable source downloading).
find_referencesFind references for a symbol. This is an enhanced version of java_get_references that marks external library results.
read_java_contentRead the content of a Java file, including local files and external library source code (jdt:// or jrt:// URIs).
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
JAVA_HOMEJDTLS_JAVA_HOME Dedicated JDK path for JDT.LS (Overrides ) No System JAVA_HOMEJAVA_PROJECTJAVA_WORKSPACE_PATHRoot path of your Java project No Current Working DirectoryJDTLS_HOME"": "D:/software/jdt-language-server-latest",JDTLS_JAVA_HOME"": "D:/software/java/jdk-23.0.1",JDTLS_JAVA_RUNTIMES"": "[{\"name\":\"JavaSE-1.8\",\"path\":\"C:/Program Files/Java/jdk1.8.0_361\"},{\"name\":\"JavaSE-17\",\"path\":\"D:/software/jdk-17.0.7\"}]",JDTLS_MAVEN_GLOBAL_SETTINGS"": "D:/software/apache-maven-3.9.3/conf/settings.xml"JDTLS_MAVEN_OFFLINEEnable Maven offline mode (true/false) No falseJDTLS_MAVEN_USER_SETTINGS"": "D:/software/apache-maven-3.9.3/conf/settings.xml",XDG_CACHE_HOMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
15/15 tools missing one or more hints — java_start (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); java_restart (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); java_open_file (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +12 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tests exist
No test files found
Add tests that exercise each declared tool.
Production dependencies are patched
0 critical, 2 high severity in production deps — @modelcontextprotocol/sdk@1.25.1 (high), @modelcontextprotocol/sdk@1.25.1 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Domain consistency
npm scope @sachiewonder doesn't match GitHub owner sachiewang
Use the same org name across GitHub, npm, and your homepage so users can verify the publisher.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/sachiewang/java-jdtls-mcp-server)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check