关于 Javadoc Mcp
Javadoc Mcp 提供一套工具,可将 Java 源代码或受支持的 HTML Javadoc 转为结构化 JSON,并搜索文档。它面向需要通过 MCP 查询类、方法、构造函数和字段的 Java 开发者。
主要功能
- 01从 Java 源代码生成 JSON
- 02爬取受支持的 HTML Javadoc
- 03通过 delombok 处理 Lombok
- 04使用正则表达式筛选包
- 05模糊搜索 Java 文档
- 06查看文档统计信息
适用场景
- 01从 Java 源代码生成可搜索的 JSON
- 02搜索生成文档中的类和方法
- 03编码时查询类详情
MCP 相关
基于 Node.js 的 MCP 服务可搜索生成的 Java 文档,并向 MCP 客户端提供类、方法、构造函数、字段和统计信息查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的最大结果数(默认值:10) |
| mode | enum | 否 | 搜索模式:fuzzy(默认)、keyword(包含匹配)或 regex(正则表达式)fuzzy | keyword | regex |
| query | string | 是 | 搜索查询(例如,“TestClass”、“getName”、“nxopen.features”) |
详细介绍
MCP Java 文档 / MCP Java 文档
English
一套完整的解决方案,可从 Java 源代码生成结构化 JSON 文档,并通过 MCP(Model Context Protocol)提供智能搜索功能。
🚀 概览
本项目由三个主要组件构成,协同打造完整的 Java 文档生态系统:
- Maven 插件(
java-docs-json-doclet)——从 Java 源代码生成结构化 JSON 文档 - MCP 服务(
mcp-server)——为生成的文档提供智能搜索和查询功能 - 示例数据(
javadoc-json)——用于测试和参考的 JSON 文档示例文件
🏗️ 架构
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Java Source Code │ │ HTML Javadoc │ │ Lombok Projects │
│ │ │ (JDK 9) │ │ │
└──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Maven Plugin (java-docs-json-doclet) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ Publish Goal │ │ Crawl Goal │ │ Lombok Support │ │
│ │ (Source Code) │ │ (HTML Docs) │ │ (Delombok Process) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ JSON Documentation│
│ (Structured Data) │
└──────────┬──────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ MCP Server │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ Search Classes │ │ Search Methods │ │ Get Statistics │ │
│ │ │ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ Claude Desktop │
│ (AI Assistant) │
└─────────────────────┘
📦 组件
1. Java Docs JSON Doclet(java-docs-json-doclet/)
一款可将 Java 文档转换为结构化 JSON 格式的 Maven 插件。
支持的 Java 版本:
| 目标 | 支持的版本 | 备注 |
|---|---|---|
| javadoc-json | Java 8+ | 支持所有 Java 8 及以上版本 |
| Crawl | Java 9 | 未来将支持其他版本;目前仅支持 https://docs.sw.siemens.com/documentation/external/PL20231101866122454/en-US/custom_api/open_java_ref/,你可以更新 io.emop.javadocjson.doclet.JsonDoclet 来构建自己的 HTML 转 JSON 解析器 |
未来版本将支持更多 Java 版本
功能:
- 生成 Javadoc Json 目标:从 Java 源代码生成 JSON
- Crawl 目标:从 HTML Javadoc 网站提取文档(支持 JDK 9+)
- Lombok 支持:通过 delombok 流程处理 Lombok 注解
- 兼容 MCP:以兼容 MCP 的格式生成文档
- 包筛选:使用正则表达式筛选特定的包
- 代理支持:配置代理设置,以便爬取外部文档
快速开始:
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
请注意,如果你使用 Lombok,可能会遇到编译错误,请跳转到 Lombok 项目 部分。
更多详情请参阅 README
2. MCP 服务(mcp-server/)
一款基于 Node.js 的 MCP 服务,为 Java 文档提供智能搜索功能。
功能:
- 模糊搜索:由 Fuse.js 提供支持,实现智能匹配
- 多种搜索类型:类、方法、构造函数和字段
- 数据去重:自动合并重复条目
- 统计信息:概览文档覆盖范围
- Claude 集成:与 Claude Desktop 无缝集成
快速开始:
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
3. 示例数据(javadoc-json/)
包含从各种 Java 项目生成的 JSON 文档示例文件,用于测试和参考。
🚀 入门指南
第 1 步:生成 JSON 文档
- 从源代码生成:
添加 Maven 依赖
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
然后
mvn javadoc-json:javadoc-json
Maven 配置示例见 ./java-docs-json-doclet/examples/
- 从 HTML Javadoc 生成:
请参阅 README
第 2 步:启动 MCP 服务
# Using npx (recommended, no installation needed)
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
使用mcp inspector测试
npx @modelcontextprotocol/inspector npx -y @io.emop/mcp-javadoc-server -- --javadoc-path /path/to/javadoc-json
请参阅 README
📖 使用示例
配置完成后,你可以在 Claude Desktop 中使用以下命令:
- 搜索所有条目:
search_all("ArrayList") - 搜索类:
search_classes("HashMap") - 搜索方法:
search_methods("toString") - 获取类详情:
get_class_details("java.util.List") - 获取统计信息:
get_stats()
🔧 高级配置
Lombok 项目
对于使用 Lombok 的项目,请配置 delombok 流程:
请参阅 README
📄 许可证
本项目采用 MIT 许可证。
中文
一个完整的解决方案,用于从 Java 源代码生成结构化 JSON 文档,并通过 MCP(模型上下文协议)提供智能搜索功能。
🚀 概述
本项目由三个主要组件组成,它们协同工作创建完整的 Java 文档生态系统:
- Maven 插件 (
java-docs-json-doclet) - 从 Java 源代码生成结构化 JSON 文档 - MCP 服务器 (
mcp-server) - 为生成的文档提供智能搜索和查询功能 - 样例数据 (
javadoc-json) - 用于测试和参考的示例 JSON 文档文件
🏗️ 架构
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Java 源代码 │ │ HTML Javadoc │ │ Lombok 项目 │
│ │ │ (JDK 9) │ │ │
└──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Maven 插件 (java-docs-json-doclet) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ 发布目标 │ │ 爬取目标 │ │ Lombok 支持 │ │
│ │ (源代码) │ │ (HTML 文档) │ │ (Delombok 过程) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ JSON 文档 │
│ (结构化数据) │
└──────────┬──────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ MCP 服务器 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ 搜索类 │ │ 搜索方法 │ │ 获取统计信息 │ │
│ │ │ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ Claude Desktop │
│ (AI 助手) │
└─────────────────────┘
📦 组件
1. Java Docs JSON Doclet (java-docs-json-doclet/)
一个将 Java 文档转换为结构化 JSON 格式的 Maven 插件。
支持的 Java 版本:
| 目标 | 支持版本 | 说明 |
|---|---|---|
| javadoc-json | Java 8+ | 支持所有 Java 8 及以上版本 |
| 爬取 (Crawl) | Java 9 | 未来将支持其他版本,目前仅支持 https://docs.sw.siemens.com/documentation/external/PL20231101866122454/en-US/custom_api/open_java_ref/ ,您可以更新 io.emop.javadocjson.doclet.JsonDoclet 来构建自己的 HTML 到 JSON 解析器 |
后续 Java 版本将在未来发布中支持
功能特性:
- 生成 Javadoc Json 目标:从 Java 源代码生成 JSON
- 爬取目标:从 HTML Javadoc 网站提取文档(支持 JDK 9+)
- Lombok 支持:通过 delombok 过程处理 Lombok 注解
- MCP 兼容:生成 MCP 兼容格式的文档
- 包过滤:使用正则表达式模式过滤特定包
- 代理支持:为爬取外部文档配置代理设置
快速开始:
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
注意,如果您正在使用 Lombok,可能会遇到编译错误,请跳转到 Lombok 项目 章节。
更多详情请参考 README
2. MCP 服务器 (mcp-server/)
基于 Node.js 的 MCP 服务器,为 Java 文档提供智能搜索功能。
功能特性:
- 模糊搜索:由 Fuse.js 提供智能匹配
- 多种搜索类型:类、方法、构造函数和字段
- 数据去重:自动合并重复条目
- 统计信息:获取文档覆盖率概览
- Claude 集成:与 Claude Desktop 无缝集成
快速开始:
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
3. 样例数据 (javadoc-json/)
包含从各种 Java 项目生成的示例 JSON 文档文件,用于测试和参考。
🚀 入门指南
步骤 1:生成 JSON 文档
- 从源代码:
添加 Maven 依赖
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
然后执行
mvn javadoc-json:javadoc-json
Maven 配置示例可以在 ./java-docs-json-doclet/examples/ 找到
- 从 HTML Javadoc:
请参考 README
步骤 2:启动 MCP 服务器
# 使用 npx(推荐,无需安装)
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
使用 mcp inspector 测试
npx @modelcontextprotocol/inspector npx -y @io.emop/mcp-javadoc-server -- --javadoc-path /path/to/javadoc-json
请参考 README
📖 使用示例
配置完成后,您可以在 Claude Desktop 中使用这些命令:
- 搜索所有项目:
search_all("ArrayList") - 搜索类:
search_classes("HashMap") - 搜索方法:
search_methods("toString") - 获取类详情:
get_class_details("java.util.List") - 获取统计信息:
get_stats()
🔧 高级配置
Lombok 项目
对于使用 Lombok 的项目,配置 delombok 过程:
请参考 README
📄 许可证
本项目采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。