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:
- 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:
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
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 ๆๆกฃ็ๆ็ณป็ป๏ผ
- 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 ่ฎธๅฏ่ฏใ
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Pica MCP Server
An MCP server for Pica that enables seamless interaction with various third-party services through a standardized interface.
Claude Code MCP
Orchestrates multiple Claude Code agents across iTerm2 sessions, providing centralized management and inter-agent communication.
Kafka Schema Registry
A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.
OSSInsight
Analyze GitHub repositories, developers, and organizations with data from OSSInsight.io.
DeepWiki by Devin
Remote, no-auth MCP server providing AI-powered codebase context and answers
Postman Tool Generation
Generates AI agent tools from Postman collections and requests using the Postman API.
WireMCP
Empowers LLMs with real-time network traffic analysis using tshark. Requires Wireshark's tshark to be installed.
Base64 Encode/Decode
A simple and efficient MCP server for Base64 encoding and decoding of text and images.
shadcn-vue
An AI agent that helps developers instantly create high-quality UI components for shadcn-vue.
REPL MCP Server
A universal REPL session manager supporting Python, Node.js, Ruby, and more, with session management and LLM-assisted recovery.