# Stop Claude Code Interface Blindness: Hook Eclipse JDT LS via MCP for AST-Aware Java Refactoring

> Source: <https://dev.to/machinecodingmaster/stop-claude-code-interface-blindness-hook-eclipse-jdt-ls-via-mcp-for-ast-aware-java-refactoring-1eog>
> Published: 2026-07-19 05:37:05+00:00

Claude Code is a beast in the terminal, but letting it raw-grep your enterprise Spring Boot codebase is a recipe for hallucinated method signatures and broken builds. If your AI agent doesn't understand the Abstract Syntax Tree (AST) of your decoupled interfaces, it is simply guessing.

`@Qualifier`

annotations.`PaymentGateway`

interface to its `StripePaymentServiceImpl`

implementation across deep Gradle subprojects without semantic AST help.Expose your local Eclipse JDT Language Server (JDT LS) to Claude Code using an MCP wrapper to enable precise, compiler-grade semantic searches.

`eclipse.jdt.ls`

as a background daemon on your local development machine.`mcpConfig.json`

to route Java-specific queries like `find-implementations`

directly to the JDT LS instance.`@Autowired`

bean hierarchies before generating refactoring diffs.Want to go deeper?

[javalld.com]— machine coding interview problems with working Java code and full execution traces.

This `mcpConfig.json`

configuration bridges Claude Code to your local JDT LS instance, giving the LLM direct access to Java's compiler APIs:

```
{
  "mcpServers": {
    "jdtls-ast-bridge": {
      "command": "node",
      "args": ["/usr/local/bin/jdtls-mcp-bridge.js"],
      "env": {
        "JDTLS_PATH": "/opt/eclipse.jdt.ls/plugins/org.eclipse.equinox.launcher_1.6.900.jar",
        "WORKSPACE_DIR": "${userHome}/projects/enterprise-app"
      }
    }
  }
}
```


