java-jdtls-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JDTLS_HOME | Yes | Path to JDT.LS installation root directory | |
| JDTLS_JAVA_HOME | No | Dedicated JDK path for JDT.LS (overrides JAVA_HOME). Defaults to system JAVA_HOME. | |
| JAVA_WORKSPACE_PATH | No | Root path of your Java project. Defaults to current working directory. | |
| JDTLS_JAVA_RUNTIMES | No | JSON list of Java Runtimes for different project versions | |
| JDTLS_MAVEN_OFFLINE | No | Enable Maven offline mode (true/false). Defaults to false. | |
| JDTLS_MAVEN_USER_SETTINGS | No | Path to custom Maven user settings.xml | |
| JDTLS_MAVEN_GLOBAL_SETTINGS | No | Path to custom Maven global settings.xml |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| java_startA | Start the Java Language Server (JDT.LS). Required before other commands. If already running, it will restart. |
| java_restartB | Restart the Java Language Server (JDT.LS). |
| java_open_fileB | Notify the language server that a file is open (didOpen). |
| java_get_definitionB | Get definition location for a symbol. |
| java_get_referencesC | Get references for a symbol. |
| java_get_hoverB | Get hover information for a symbol. |
| java_get_diagnosticsA | Get 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_diagnosticsA | Pull diagnostics for the entire workspace (LSP 3.17+). Note: This may not be supported by all language server versions. |
| java_load_maven_projectA | Load 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_symbolsA | Search for symbols (classes, methods, fields) across the entire workspace by name. |
| java_get_file_symbolsB | Get all symbols (classes, methods, fields) defined in a specific file. |
| java_get_statusA | Get the current status of the Java Language Server. |
| configure_jdt_lsB | Dynamically update JDT.LS configuration (e.g. enable source downloading). |
| find_referencesA | Find references for a symbol. This is an enhanced version of java_get_references that marks external library results. |
| read_java_contentA | Read the content of a Java file, including local files and external library source code (jdt:// or jrt:// URIs). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/SachieWang/java-jdtls-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server