关于 Javadoc Mcp
javadoc-mcp 是同时提供 MCP 服务和 Shell CLI 的 JavaDoc 浏览工具,面向 AI 助手和终端用户。它通过 Maven 坐标读取包、类及成员文档,并可按关键词搜索。
主要功能
- 01按 Maven 坐标浏览文档
- 02列出包和类型
- 03查看类与成员详情
- 04按关键词搜索 JavaDoc
- 05提供 MCP 工具和 Shell CLI
适用场景
- 01查阅 Java 依赖的类文档
- 02查询方法参数、返回值和异常
- 03按关键词定位类型或成员
MCP 相关
该 MCP 服务向客户端提供 JavaDoc 包、类和成员浏览及关键词搜索工具;相同能力也可通过 Shell CLI 使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | string | 是 | Maven Group ID,例如 org.apache.commons |
| version | string | 是 | Maven 版本,例如 3.14.0 |
| artifactId | string | 是 | Maven Artifact ID,例如 commons-lang3 |
详细介绍
来自项目 READMEjavadoc-mcp
一个同时提供 MCP 服务和 Shell CLI 的工具,让 AI 助手或终端用户能够通过 Maven 坐标浏览 JavaDoc 文档。
发布记录见 CHANGELOG.md。
功能
提供 5 个 JavaDoc 浏览能力,既可通过 MCP tools 调用,也可通过 CLI 子命令调用:
| Tool | 说明 |
|---|---|
list_packages | 列出库中所有包 |
list_classes | 列出包中的类、接口、枚举、注解、异常、record |
get_class | 获取类概览文档(签名、描述、成员摘要) |
get_member | 获取方法/字段的完整文档(参数、返回值、异常等) |
search | 按关键词搜索类型、成员或包;category 可省略,type/member 结果会显示完整类名并支持完整限定名查询 |
运行要求
- Node.js 18+
- Maven (
mvn需要在PATH中可用)
服务会优先读取本地 Maven 仓库中的 JavaDoc JAR;如果缺失,则通过 mvn dependency:get 拉取对应的 -javadoc.jar。
安装
安装后会提供两个可执行文件:
javadoc-mcp:启动 MCP 服务javadoc-cli:在 shell 中直接查询 JavaDoc
方式一:直接通过 npx 使用 MCP
npx -y javadoc-mcp
方式二:全局安装
npm install -g javadoc-mcp
安装完成后,可直接运行:
javadoc-mcp
也可以直接在 shell 中调用 CLI:
javadoc-cli --help
如果不想全局安装,可以通过 npx 临时调用 CLI:
npx -y -p javadoc-mcp javadoc-cli --help
当前版本已经覆盖 npx 和其他符号链接路径下的 CLI 启动场景。
配置 MCP 客户端
Claude Code
推荐直接通过 npx 启动,这样不需要手动管理安装路径:
编辑 ~/.claude/settings.json:
{
"mcpServers": {
"javadoc": {
"command": "npx",
"args": ["-y", "javadoc-mcp"]
}
}
}
如果你已经全局安装,也可以写成:
{
"mcpServers": {
"javadoc": {
"command": "javadoc-mcp",
"args": []
}
}
}
Claude Desktop
编辑 claude_desktop_config.json:
{
"mcpServers": {
"javadoc": {
"command": "npx",
"args": ["-y", "javadoc-mcp"]
}
}
}
从源码开发
npm install
npm run build
npm test
构建产物输出到 dist/ 目录。
本地开发时也可以直接运行 CLI:
node dist/cli.js --help
调试
使用 MCP Inspector 进行交互式测试:
npx @modelcontextprotocol/inspector node dist/index.js
使用示例
CLI
javadoc-cli list-packages \
--group-id org.apache.commons \
--artifact-id commons-lang3 \
--version 3.14.0
javadoc-cli list-classes \
--group-id org.apache.commons \
--artifact-id commons-lang3 \
--version 3.14.0 \
--package-name org.apache.commons.lang3
javadoc-cli get-class \
--group-id org.apache.commons \
--artifact-id commons-lang3 \
--version 3.14.0 \
--class-name org.apache.commons.lang3.StringUtils
javadoc-cli get-member \
--group-id org.apache.commons \
--artifact-id commons-lang3 \
--version 3.14.0 \
--class-name org.apache.commons.lang3.StringUtils \
--member-name join
javadoc-cli search \
--group-id org.apache.commons \
--artifact-id commons-lang3 \
--version 3.14.0 \
--query String \
--category type
MCP
典型的浏览流程:
1. list_packages(groupId="org.apache.commons", artifactId="commons-lang3", version="3.14.0")
→ 获取所有包名
2. list_classes(..., packageName="org.apache.commons.lang3")
→ 查看包中的类型列表
3. get_class(..., className="org.apache.commons.lang3.StringUtils")
→ 查看 StringUtils 类的概览和方法摘要
4. get_member(..., className="org.apache.commons.lang3.StringUtils", memberName="join")
→ 查看 join 方法的完整文档
5. search(..., query="String", category="type")
→ 搜索名称或完整类名含 "String" 的类型
6. search(..., query="org.apache.commons.lang3.StringUtils.join")
→ 在未指定 `category` 时跨类型/成员/包搜索,按完整成员引用查找成员
本地仓库
JavaDoc JAR 直接使用 Maven 本地仓库中的文件,默认路径为 ~/.m2/repository。如果 ~/.m2/settings.xml 中配置了 <localRepository>,则使用该路径。
如需重新拉取某个文档,可删除对应坐标下的 *-javadoc.jar 后再次调用工具。
技术栈
- TypeScript (ES Modules)
@modelcontextprotocol/sdk— MCP 协议实现cheerio— HTML 解析adm-zip— 直接从 JAR 读取文件,不解压到磁盘zod— 参数校验
仓库与反馈
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。