Labsco
BeamLiu logo

Javadoc MCP

โ˜… 1

from BeamLiu

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.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

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:

  • Maven Plugin (java-docs-json-doclet) - Generates structured JSON documentation from Java source code

  • MCP Server (mcp-server) - Provides intelligent search and query capabilities for the generated documentation

  • 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:

Goal Supported Versions Notes javadoc-json Java 8+ Supports all Java 8 and above versions Crawl Java 9 To 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:

io.github.beamliu java-docs-json-doclet 0.1.1

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

  • 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/

  • From HTML Javadoc:

please refer to README

Step 2: Start MCP Server

ไธญๆ–‡

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

๐Ÿ“ฆ ็ป„ไปถ

ไธ€ไธชๅฐ† 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 ๅ…ผๅฎนๆ ผๅผ็š„ๆ–‡ๆกฃ

  • ๅŒ…่ฟ‡ๆปค๏ผšไฝฟ็”จๆญฃๅˆ™่กจ่พพๅผๆจกๅผ่ฟ‡ๆปค็‰นๅฎšๅŒ…

  • ไปฃ็†ๆ”ฏๆŒ๏ผšไธบ็ˆฌๅ–ๅค–้ƒจๆ–‡ๆกฃ้…็ฝฎไปฃ็†่ฎพ็ฝฎ

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

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

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

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

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

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

  • ๆจก็ณŠๆœ็ดข๏ผš็”ฑ Fuse.js ๆไพ›ๆ™บ่ƒฝๅŒน้…

  • ๅคš็งๆœ็ดข็ฑปๅž‹๏ผš็ฑปใ€ๆ–นๆณ•ใ€ๆž„้€ ๅ‡ฝๆ•ฐๅ’Œๅญ—ๆฎต

  • ๆ•ฐๆฎๅŽป้‡๏ผš่‡ชๅŠจๅˆๅนถ้‡ๅคๆก็›ฎ

  • ็ปŸ่ฎกไฟกๆฏ๏ผš่Žทๅ–ๆ–‡ๆกฃ่ฆ†็›–็އๆฆ‚่งˆ

  • Claude ้›†ๆˆ๏ผšไธŽ Claude Desktop ๆ— ็ผ้›†ๆˆ

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

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

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

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

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

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

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

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

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

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