Java JAR MCP服务器
一个为Java Maven项目提供MCP(模型上下文协议)服务器功能的npm包。该服务器使AI助手能够从Maven依赖关系中访问Java类定义,解决了Cursor和其他基于VSCode的IDE无法自动读取jar文件类的限制。
特性
- 类定义查找:从Maven依赖项中查找Java类定义
- 依赖关系列表:列出项目的所有Maven依赖项
- JAR类搜索:使用模式在JAR文件中搜索类
安装
先决条件
- Node.js 18+
- 已安装Maven(适用于Maven项目)
通过npx使用
{
"mcpServers": {
"java-jar-mcp": {
"command": "npx",
"args": ["-y", "@biggerball/java-jar-mcp@latest"],
"env": {
"MAVEN_REPO_PATH": "/Users/username/.m2/repository"
}
}
}
}用法
配置后,MCP服务器将自动启动并向AI助手提供以下工具:
可用的MCP工具
find_class_definition
从Maven依赖项中查找Java类的定义。
参数:
className(string,必填):完全限定类名(例如。,java.util.ArrayList)pomPath(string,必填):pom.xml文件的路径(例如。,"/path/to/project/pom.xml")
退货: 带有源代码(如果可用)、方法和字段的类定义
例子:
{
"className": "com.alibaba.fastjson2.filter.BeforeFilter",
"pomPath": "/path/to/project/pom.xml"
}list_project_dependencies
列出项目的所有Maven依赖项。
参数:
pomPath(string,必填):pom.xml文件的路径(例如。,"/path/to/project/pom.xml")
退货: JAR文件路径的依赖关系列表
search_classes_in_jar
在JAR文件中搜索与模式匹配的类。
参数:
jarPath(string):JAR文件的路径searchPattern(string):搜索模式(支持通配符*和?)
退货: 匹配的类名列表
支持与捐赠
如果你觉得这个项目很有帮助,并愿意支持它的发展,如果你能给我买杯咖啡,我将不胜感激! ☕
您的支持帮助我继续改进这个项目,并为开发人员社区创建更多有用的工具。
*如果你喜欢使用这个项目,你的支持对我来说意义重大。谢谢!* 🙏
本地开发安装
- 克隆存储库
- 安装依赖项并构建:
npm install
npm run build- 在MCP配置中使用本地路径:
{
"mcpServers": {
"java-jar-mcp": {
"command": "node",
"args": ["/path/to/java-jar-mcp/dist/index.js"],
"env": {
"MAVEN_REPO_PATH": "/Users/username/.m2/repository"
}
}
}
}运作原理
MCP服务器通过以下步骤工作:
- 解析pom.xml:读取并解析Maven项目的
pom.xml文件 - 查找JAR文件:根据Maven坐标在本地Maven存储库中查找相应的JAR文件
- 提取类定义:从JAR文件中提取Java类定义信息
发展
项目结构
java-jar-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── mavenParser.ts # pom.xml parsing
│ ├── jarLocator.ts # JAR file location
│ ├── classExtractor.ts # Class definition extraction
│ ├── tools.ts # MCP tool implementations
│ └── cache.ts # LRU cache implementation
└── dist/ # Compiled MCP server建筑
# Build MCP server
npm run build
# Watch mode build
npm run watch测试
npm test未来改进
- 支持Gradle项目
- 增强的Maven属性解析
- 自动多模块项目检测和依赖关系合并
许可证
麻省理工学院
