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
Azure DevOps
Interact with Azure DevOps Work Items using the Azure DevOps REST API.
OpenZipline MCP
Provides secure, standards-compliant smart contract templates for tokens, access control, finance, and governance.
OpenAI Image Generation
Generate and edit images using OpenAI's DALL-E models via the official Python SDK.
MCP Domain Availability Checker
Check domain availability directly from MCP clients using the Namecheap API.
Laravel Docs
Search and access Laravel documentation from version 6.x onwards, with automatic daily updates.
Universal MCP Server
A universal MCP server with a modular plugin architecture.
USolver
A server for solving combinatorial, convex, integer, and non-linear optimization problems.
Chrome Debug MCP
This MCP allows you to record browser interactions with a chrome extension that include screenshots and console logs. The data is then saved to a local database that feeds the data to an AI system like claude code to search.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
OpenDia
An open-source server that exposes browser functions via MCP, allowing AI models to interact with browser capabilities.