mcpField
J
Javadoc Mcp

Javadoc Mcp

本地服务
github.com/BeamLiu开发工具151 周前更新

关于 Javadoc Mcp

Javadoc Mcp 提供一套工具,可将 Java 源代码或受支持的 HTML Javadoc 转为结构化 JSON,并搜索文档。它面向需要通过 MCP 查询类、方法、构造函数和字段的 Java 开发者。

主要功能

  1. 01从 Java 源代码生成 JSON
  2. 02爬取受支持的 HTML Javadoc
  3. 03通过 delombok 处理 Lombok
  4. 04使用正则表达式筛选包
  5. 05模糊搜索 Java 文档
  6. 06查看文档统计信息

适用场景

  1. 01从 Java 源代码生成可搜索的 JSON
  2. 02搜索生成文档中的类和方法
  3. 03编码时查询类详情

MCP 相关

基于 Node.js 的 MCP 服务可搜索生成的 Java 文档,并向 MCP 客户端提供类、方法、构造函数、字段和统计信息查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"java-doc": {
"command": "npx",
"args": [
"-y",
"@io.emop/mcp-javadoc-server"
]
}
}
}
启动命令npx -y @io.emop/mcp-javadoc-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@io.emop/mcp-javadoc-server

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否要返回的最大结果数(默认值:10)
modeenum否搜索模式:fuzzy(默认)、keyword(包含匹配)或 regex(正则表达式)fuzzy | keyword | regex
querystring是搜索查询(例如,“TestClass”、“getName”、“nxopen.features”)

详细介绍

MCP Java 文档 / MCP Java 文档

English | 中文


English

一套完整的解决方案,可从 Java 源代码生成结构化 JSON 文档,并通过 MCP(Model Context Protocol)提供智能搜索功能。

🚀 概览

本项目由三个主要组件构成,协同打造完整的 Java 文档生态系统:

  1. Maven 插件(java-docs-json-doclet)——从 Java 源代码生成结构化 JSON 文档
  2. MCP 服务(mcp-server)——为生成的文档提供智能搜索和查询功能
  3. 示例数据(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-jsonJava 8+支持所有 Java 8 及以上版本
CrawlJava 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 文档
  1. 从源代码生成:

添加 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/

  1. 从 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 文档生态系统:

  1. Maven 插件 (java-docs-json-doclet) - 从 Java 源代码生成结构化 JSON 文档
  2. MCP 服务器 (mcp-server) - 为生成的文档提供智能搜索和查询功能
  3. 样例数据 (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-jsonJava 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 文档
  1. 从源代码:

添加 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/ 找到

  1. 从 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 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。