Token导航 LogoToken导航TokenDH.com
Java Jdtls MCP Server logo
开发工具未说明官方级别未说明来源级核验

Java Jdtls MCP Server

MCP Server

高性能AI代理与Java代码库之间的桥梁,提供专业的Java语言智能支持。

工具数

10

提示词数

0

GitHub Stars

1

资源数

0
代码分析TypeScriptClaudeAI代理集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SachieWang

提供方

SachieWang

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Java MCP服务器和Gemini扩展

英语 | 简体中文

该项目是AI代理和Java代码库之间的高性能桥梁。它的功能既是 模型上下文协议(MCP)服务器 和一个 Gemini CLI扩展,通过Eclipse JDT提供专业级Java语言智能。LS。

🌟 主要特点

  • 双子座扩展和代理技能:采用结构化预包装 代理技能 对于导航、验证和生命周期管理,确保AI代理遵循最佳工作流程。
  • 原生JDT。LS启动:通过JVM直接生成Java语言服务器,以获得最大的稳定性和性能。
  • 企业级分析:支持加载整个Maven项目,以解决整个代码库中的依赖关系和符号。
  • 诊断支持实时检索编译错误和警告,以帮助AI代理验证其代码更改。
  • 环境和实例隔离:对隔离的数据目录使用工作区路径哈希,并自动清除冲突的环境变量(如 PORT)为了实现可靠的通信。
  • 完整的LSP功能:支持转到定义、查找引用、悬停文档、全局符号搜索和文档符号提取。

🛠️ 先决条件

  • Node.js:v18.0.0或更高版本。
  • Java开发工具包(JDK):Java 17或更高版本(建议使用Java 21+)。
  • Eclipse JDT。LS:安装 Eclipse JDT。LS.

🚀 安装和设置

适用于Gemini CLI(扩展模式)

此项目已针对用作Gemini CLI扩展进行了优化。

# Clone the repository
git clone 
cd java-jdtls-mcp-server
npm install && npm run build

# Install as Gemini extension
gemini extensions install .

适用于Claude Code/其他MCP客户

对于Claude Code、Claude Desktop或其他MCP客户端,您需要将服务器明确配置为MCP工具。

  1. 按照上图所示构建项目。
  2. 编辑客户的配置文件(例如。, claude_desktop_config.json 克劳德桌面)。
  3. 添加服务器配置,并直接在 env 章节:
{
  "mcpServers": {
    "java-mcp-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/java-jdtls-mcp-server/dist/index.js"
      ],
      "env": {
        "JDTLS_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_USER_SETTINGS": "D:/software/apache-maven-3.9.3/conf/settings.xml",
        "JDTLS_MAVEN_GLOBAL_SETTINGS": "D:/software/apache-maven-3.9.3/conf/settings.xml"
      }
    }
  }
}

*注意:使用Claude Code时,项目级别 .env 文件逻辑(如 JAVA_PROJECT=true)除非特定的MCP客户端实现支持,否则可能不会以本机方式加载。您可能需要直接在客户端的配置中管理特定于项目的变量。*

1.全局设置(用户级 .env)

建议将全局环境变量用于公共路径,以避免在每个项目中重复它们。全局配置文件通常位于: USER_HOME\.gemini\extensions\java-jdtls-mcp-server\.env (其中 USER_HOME 是您的用户目录。, C:\Users\User1).

如何配置:

  1. 安装期间(推荐): 如果您已启用 experimental.extensionConfig 在Gemini CLI中设置时,在初始安装过程中将提示您输入这些环境变量。Gemini CLI将自动生成 .env 文件位于上面的路径。
  2. 手动配置: 或者,您可以手动创建用户级别 .env 在此位置归档并填写推荐信息。

推荐配置示例:

JDTLS_HOME=D:/software/jdt-language-server-latest
JDTLS_JAVA_HOME=D:/software/java/jdk-23.0.1
JAVA_WORKSPACE_PATH=
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_USER_SETTINGS=D:/software/apache-maven-3.9.3/conf/settings.xml
JDTLS_MAVEN_GLOBAL_SETTINGS=D:/software/apache-maven-3.9.3/conf/settings.xml
变量描述必填默认
JDTLS_HOME通往JDT的道路。LS安装根目录-
JDTLS_JAVA_HOMEJDT的专用JDK路径。LS(覆盖 JAVA_HOME)系统 JAVA_HOME
JAVA_WORKSPACE_PATHJava项目的根路径当前工作目录
JDTLS_JAVA_RUNTIMES不同项目版本的Java运行时JSON列表-
JDTLS_MAVEN_USER_SETTINGS自定义Maven用户的路径 settings.xml-
JDTLS_MAVEN_GLOBAL_SETTINGS自定义Maven全局路径 settings.xml-
JDTLS_MAVEN_OFFLINE启用Maven脱机模式(true/false)没有false

2.项目级激活(项目级 .env)

项目级环境信息由Gemini CLI等代理工具加载和读取。例如,使用Gemini CLI时,项目级环境路径通常为: [Project Root]/.gemini/.env.

为了防止Java语言服务器在非Java项目中不必要地启动,您可以 必须明确启用它 每个项目。请将以下内容添加到您的项目级别 .env 文件:

# REQUIRED: Activates the Java Language Server for this specific workspace
JAVA_PROJECT=true

*(可选)* 您还可以将任何全局设置放置在此本地 .env 文件以覆盖特定项目的它们。

🧩 专家技能和人工智能规则

该项目提供了一套高级 专业技能 (位于 skills/)指导AI代理以最有效的方式与Java语言服务器交互。这些技能可以防止常见的陷阱(如冗余的服务器重启),并提高代码智能的准确性。

技能专家指南主要优势
java-lifecycle服务器管理标准化JDT。LS启动、状态检查和错误恢复。
java-navigation代码智能优化查找定义、引用和符号。
java-project-load项目索引无需手动文件扫描即可加速Maven项目加载。
java-verification诊断强制执行实时错误检查和验证。

🚀 Gemini CLI中的用法

Gemini CLI可以将这些技能作为扩展的一部分进行安装。安装后,它们会自动或按需激活:

  • activate_skill java-lifecycle
  • activate_skill java-navigation

🤖 在Claude Code/其他MCP客户端中的使用

虽然Claude Code不支持Gemini的扩展打包,但它仍然可以通过其 规则 系统:

  1. 项目级规则:复制内容(或相关部分) SKILL.md 文件来自 skills/ 目录到a .clauderules Java项目根目录中的文件。
  2. 全球规则:或者,您可以将这些指令添加到全局Claude配置中。

通过将这些规则放入 .clauderules,只要检测到此项目环境中工作,Claude Code就会自动采用这些“专家工作流”。

______________________________________________________________________

🧰 可用工具

工具名称描述关键参数
java_start初始化JDT。LS。如果已在运行,则重新启动。jdtlsHome, workspacePath, javaHome
java_restart迫使JDT重新启动。LS流程。jdtlsHome, workspacePath, javaHome
java_load_maven_project 加载整个Maven项目并索引符号。projectPath
java_search_symbols 在整个工作区中执行全局符号搜索。query
java_get_file_symbols 从文件中提取所有符号(类/方法)。filePath
java_open_file通知服务器文件内容(诊断所需)。filePath, content
java_get_diagnostics检索特定文件的错误和警告。filePath
java_get_definition检索符号的定义位置。filePath, line, character
java_get_references查找符号的所有引用。filePath, line, character
java_get_hover获取符号的类型信息和文档。filePath, line, character

🧠 代理技能

文件夹 skills/ 包含专门的Markdown文件,指导AI代理如何有效地使用这些工具:

  • 导航:探索代码库和使用符号搜索的策略。
  • 验证:通过诊断检查代码正确性的工作流。
  • 生命周期:处理服务器初始化和自动启动配置。

📚 设计文件

该项目遵循结构化的设计流程。详细的技术文件可以在 design/ 目录:

  • 高层设计:描述系统架构、核心模块和外部接口。
  • 详细设计:涵盖了类模型、序列图和内部实现细节 JavaLanguageServer.

📄 许可证

该项目根据ISC许可证获得许可。

目录标签

目录标签

代码分析TypeScriptClaudeAI代理集成Java语言服务器本地部署Maven项目支持LSP能力

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP