A comprehensive solution for generating structured JSON documentation from Java source code and providing intelligent search capabilities through MCP (Model Context Protocol).
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
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ
โ 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) โ
โโโโโโโโโโโโโโโโโโโโโโโ
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:
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>Pay attention, you may encounter compile error if you are using a lombok, please jump to Lombok Projects section.
More detail goes to README
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-jsonContains example JSON documentation files generated from various Java projects for testing and reference purposes.
- From Source Code:
add maven dependency
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>and then
mvn javadoc-json:javadoc-jsonSample maven config could be found at ./java-docs-json-doclet/examples/
- From HTML Javadoc:
please refer to README
# 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-jsonplease refer to README
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()
For projects using Lombok, configure the delombok process:
please refer to README
This project is licensed under the MIT License.
ไธไธชๅฎๆด็่งฃๅณๆนๆก๏ผ็จไบไป 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 ๅ ผๅฎนๆ ผๅผ็ๆๆกฃ
- ๅ ่ฟๆปค๏ผไฝฟ็จๆญฃๅ่กจ่พพๅผๆจกๅผ่ฟๆปค็นๅฎๅ
- ไปฃ็ๆฏๆ๏ผไธบ็ฌๅๅค้จๆๆกฃ้ ็ฝฎไปฃ็่ฎพ็ฝฎ
ๅฟซ้ๅผๅง๏ผ
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>ๆณจๆ๏ผๅฆๆๆจๆญฃๅจไฝฟ็จ Lombok๏ผๅฏ่ฝไผ้ๅฐ็ผ่ฏ้่ฏฏ๏ผ่ฏท่ทณ่ฝฌๅฐ Lombok ้กน็ฎ ็ซ ่ใ
ๆดๅค่ฏฆๆ ่ฏทๅ่ README
ๅบไบ Node.js ็ MCP ๆๅกๅจ๏ผไธบ Java ๆๆกฃๆไพๆบ่ฝๆ็ดขๅ่ฝใ
ๅ่ฝ็นๆง๏ผ
- ๆจก็ณๆ็ดข๏ผ็ฑ Fuse.js ๆไพๆบ่ฝๅน้
- ๅค็งๆ็ดข็ฑปๅ๏ผ็ฑปใๆนๆณใๆ้ ๅฝๆฐๅๅญๆฎต
- ๆฐๆฎๅป้๏ผ่ชๅจๅๅนถ้ๅคๆก็ฎ
- ็ป่ฎกไฟกๆฏ๏ผ่ทๅๆๆกฃ่ฆ็็ๆฆ่ง
- Claude ้ๆ๏ผไธ Claude Desktop ๆ ็ผ้ๆ
ๅฟซ้ๅผๅง๏ผ
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-jsonๅ ๅซไปๅ็ง Java ้กน็ฎ็ๆ็็คบไพ JSON ๆๆกฃๆไปถ๏ผ็จไบๆต่ฏๅๅ่ใ
- ไปๆบไปฃ็ ๏ผ
ๆทปๅ Maven ไพ่ต
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>็ถๅๆง่ก
mvn javadoc-json:javadoc-jsonMaven ้ ็ฝฎ็คบไพๅฏไปฅๅจ ./java-docs-json-doclet/examples/ ๆพๅฐ
- ไป HTML Javadoc๏ผ
่ฏทๅ่ README
# ไฝฟ็จ 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 ็้กน็ฎ๏ผ้ ็ฝฎ delombok ่ฟ็จ๏ผ
่ฏทๅ่ README
ๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏใ