search_allLABSCO SUMMARY
It answers the question a model usually guesses at.
Asking a model about an internal Java API is where hallucinated method signatures come from, because the documentation was never in its training data. Generating JSON from your own source and putting a search tool over it replaces the guess with a lookup. The crawl path is narrower than it sounds — it targets one vendor's HTML documentation today, with the parser named as the place to extend — so plan on the source-code route unless yours happens to match.
What it is
Two pieces that work together: a Maven plugin that converts Java documentation into structured JSON, and a Node.js MCP server that searches that JSON. The point is to give a model accurate API documentation for your own code — or for a library whose docs only exist as HTML — instead of relying on what it remembers.
What you get
search_allsearches everything at once,search_classesandsearch_methodsnarrow it to one kindget_class_detailsreturns the full record for a fully qualified class nameget_statsreports what the indexed documentation actually covers- Fuzzy matching through Fuse.js, so an approximate name still finds the right class
- Coverage across classes, methods, constructors and fields, with duplicate entries merged automatically
- Two ways to produce the JSON: generate it from source with the plugin's javadoc-json goal, which supports Java 8 and above, or crawl an existing HTML Javadoc site with the crawl goal
- Lombok projects handled through a delombok step, so generated accessors appear in the documentation
Requirements
For generating documentation: Maven, with the plugin java-docs-json-doclet from group io.github.beamliu, version 0.1.1 added to the project, then mvn javadoc-json:javadoc-json. For serving it: Node.js, with npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json; the published package version is 0.1.6. The crawl goal currently targets one vendor documentation site, and the parser class is the extension point for others. Package filtering uses regex patterns, and proxy settings are configurable for crawling.
Setup effort
Follow the published steps — mvn javadoc-json:javadoc-json
USE CASES
Getting the real signature for an internal API
Search the generated documentation for the method instead of trusting a remembered signature.
Finding a class when you half remember the name
Fuzzy matching resolves an approximate name to the right fully qualified class.
Documenting a Lombok project properly
Run the delombok step so generated accessors appear in the JSON rather than going missing.
Checking how much of a codebase is documented
Read the coverage statistics before relying on the index for answers.
5 tools
Listed in project docs. Your client may show a different list.
search_classessearch_methodsget_class_detailsget_statsBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
- Node.js
- Java 8+
- Maven, with the java-docs-json-doclet plugin (io.github.beamliu, 0.1.1) added to your project's pom.xml
INSTALLATION
Connect your client
Server setup
mvn javadoc-json:javadoc-json
npx @io.emop/mcp-javadoc-server --javadoc-path <YOUR_PATH_TO_JAVADOC_JSON>