Javadoc MCP

A Model Context Protocol (MCP) server for searching Java documentation. This server enables AI assistants to search and retrieve Java API documentation from JSON files.

MCP Java Documentation / MCP Java ๆ–‡ๆกฃ

English | ไธญๆ–‡


English

A comprehensive solution for generating structured JSON documentation from Java source code and providing intelligent search capabilities through MCP (Model Context Protocol).

๐Ÿš€ Overview

This project consists of three main components that work together to create a complete Java documentation ecosystem:

  1. Maven Plugin (java-docs-json-doclet) - Generates structured JSON documentation from Java source code
  2. MCP Server (mcp-server) - Provides intelligent search and query capabilities for the generated documentation
  3. Sample Data (javadoc-json) - Example JSON documentation files for testing and reference

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   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)    โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ Components

1. Java Docs JSON Doclet (java-docs-json-doclet/)

A Maven plugin that converts Java documentation into structured JSON format.

Supported Java Versions:

GoalSupported VersionsNotes
javadoc-jsonJava 8+Supports all Java 8 and above versions
CrawlJava 9To be supported for other versions in the future, currently only support https://docs.sw.siemens.com/documentation/external/PL20231101866122454/en-US/custom\_api/open\_java\_ref/ , you could update io.emop.javadocjson.doclet.JsonDoclet to build your own html to json parser

Future Java versions will be supported in upcoming releases

Features:

  • Generate Javadoc Json Goal: Generate JSON from Java source code
  • Crawl Goal: Extract documentation from HTML Javadoc websites (JDK 9+ supported)
  • Lombok Support: Handle Lombok annotations with delombok process
  • MCP Compatible: Generate documentation in MCP-compatible format
  • Package Filtering: Use regex patterns to filter specific packages
  • Proxy Support: Configure proxy settings for crawling external documentation

Quick Start:

Pay attention, you may encounter compile error if you are using a lombok, please jump to Lombok Projects section.

More detail goes to README

2. MCP Server (mcp-server/)

A Node.js-based MCP server that provides intelligent search capabilities for Java documentation.

Features:

  • Fuzzy Search: Powered by Fuse.js for intelligent matching
  • Multiple Search Types: Classes, methods, constructors, and fields
  • Data Deduplication: Automatic merging of duplicate entries
  • Statistics: Get overview of documentation coverage
  • Claude Integration: Seamless integration with Claude Desktop

Quick Start:

npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json

3. Sample Data (javadoc-json/)

Contains example JSON documentation files generated from various Java projects for testing and reference purposes.

๐Ÿš€ Getting Started

Step 1: Generate JSON Documentation

  1. From Source Code:

add maven dependency

and then

mvn javadoc-json:javadoc-json

Sample maven config could be found at ./java-docs-json-doclet/examples/

  1. From HTML Javadoc:

please refer to README

Step 2: Start MCP Server

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

๐Ÿ“– Usage Examples

Once configured, you can use these commands in Claude Desktop:

  • Search all items: search_all("ArrayList")
  • Search classes: search_classes("HashMap")
  • Search methods: search_methods("toString")
  • Get class details: get_class_details("java.util.List")
  • Get statistics: get_stats()

๐Ÿ”ง Advanced Configuration

Lombok Projects

For projects using Lombok, configure the delombok process:

๐Ÿ“„ License

This project is licensed under the MIT License.


ไธญๆ–‡

ไธ€ไธชๅฎŒๆ•ด็š„่งฃๅ†ณๆ–นๆกˆ๏ผŒ็”จไบŽไปŽ 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 ๅŠฉๆ‰‹)         โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ ็ป„ไปถ

ไธ€ไธชๅฐ† 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 ๅ…ผๅฎนๆ ผๅผ็š„ๆ–‡ๆกฃ
  • ๅŒ…่ฟ‡ๆปค๏ผšไฝฟ็”จๆญฃๅˆ™่กจ่พพๅผๆจกๅผ่ฟ‡ๆปค็‰นๅฎšๅŒ…
  • ไปฃ็†ๆ”ฏๆŒ๏ผšไธบ็ˆฌๅ–ๅค–้ƒจๆ–‡ๆกฃ้…็ฝฎไปฃ็†่ฎพ็ฝฎ

ๅฟซ้€Ÿๅผ€ๅง‹๏ผš

ๆณจๆ„๏ผŒๅฆ‚ๆžœๆ‚จๆญฃๅœจไฝฟ็”จ Lombok๏ผŒๅฏ่ƒฝไผš้‡ๅˆฐ็ผ–่ฏ‘้”™่ฏฏ๏ผŒ่ฏท่ทณ่ฝฌๅˆฐ Lombok ้กน็›ฎ ็ซ ่Š‚ใ€‚

ๆ›ดๅคš่ฏฆๆƒ…่ฏทๅ‚่€ƒ README

2. MCP ๆœๅŠกๅ™จ (mcp-server/)

ๅŸบไบŽ Node.js ็š„ MCP ๆœๅŠกๅ™จ๏ผŒไธบ Java ๆ–‡ๆกฃๆไพ›ๆ™บ่ƒฝๆœ็ดขๅŠŸ่ƒฝใ€‚

ๅŠŸ่ƒฝ็‰นๆ€ง๏ผš

  • ๆจก็ณŠๆœ็ดข๏ผš็”ฑ Fuse.js ๆไพ›ๆ™บ่ƒฝๅŒน้…
  • ๅคš็งๆœ็ดข็ฑปๅž‹๏ผš็ฑปใ€ๆ–นๆณ•ใ€ๆž„้€ ๅ‡ฝๆ•ฐๅ’Œๅญ—ๆฎต
  • ๆ•ฐๆฎๅŽป้‡๏ผš่‡ชๅŠจๅˆๅนถ้‡ๅคๆก็›ฎ
  • ็ปŸ่ฎกไฟกๆฏ๏ผš่Žทๅ–ๆ–‡ๆกฃ่ฆ†็›–็އๆฆ‚่งˆ
  • Claude ้›†ๆˆ๏ผšไธŽ Claude Desktop ๆ— ็ผ้›†ๆˆ

ๅฟซ้€Ÿๅผ€ๅง‹๏ผš

3. ๆ ทไพ‹ๆ•ฐๆฎ (javadoc-json/)

ๅŒ…ๅซไปŽๅ„็ง Java ้กน็›ฎ็”Ÿๆˆ็š„็คบไพ‹ JSON ๆ–‡ๆกฃๆ–‡ไปถ๏ผŒ็”จไบŽๆต‹่ฏ•ๅ’Œๅ‚่€ƒใ€‚

๐Ÿš€ ๅ…ฅ้—จๆŒ‡ๅ—

ๆญฅ้ชค 1๏ผš็”Ÿๆˆ JSON ๆ–‡ๆกฃ

  1. ไปŽๆบไปฃ็ ๏ผš

ๆทปๅŠ  Maven ไพ่ต–

็„ถๅŽๆ‰ง่กŒ

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 ๆต‹่ฏ•

่ฏทๅ‚่€ƒ 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 ่ฎธๅฏ่ฏใ€‚

Related Servers