Javadoc MCP
Um servidor Model Context Protocol (MCP) para pesquisar documentação Java. Este servidor permite que assistentes de IA pesquisem e recuperem documentação da API Java a partir de arquivos JSON.
Documentação
Documentação Java MCP / Documentação Java MCP
Português
Uma solução abrangente para gerar documentação JSON estruturada a partir de código-fonte Java e fornecer recursos de busca inteligente através do MCP (Model Context Protocol).
🚀 Visão Geral
Este projeto consiste em três componentes principais que trabalham juntos para criar um ecossistema completo de documentação Java:
- Plugin Maven (
java-docs-json-doclet) - Gera documentação JSON estruturada a partir do código-fonte Java - Servidor MCP (
mcp-server) - Fornece recursos de busca e consulta inteligentes para a documentação gerada - Dados de Exemplo (
javadoc-json) - Arquivos de documentação JSON de exemplo para teste e referência
🏗️ Arquitetura
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ 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) │
└─────────────────────┘
📦 Componentes
1. Java Docs JSON Doclet (java-docs-json-doclet/)
Um plugin Maven que converte documentação Java em formato JSON estruturado.
Versões Java Suportadas:
| Objetivo | Versões Suportadas | Observações |
|---|---|---|
| javadoc-json | Java 8+ | Suporta todas as versões Java 8 e superiores |
| Crawl | Java 9 | Será suportado para outras versões no futuro, atualmente suporta apenas https://docs.sw.siemens.com/documentation/external/PL20231101866122454/en-US/custom_api/open_java_ref/, você pode atualizar io.emop.javadocjson.doclet.JsonDoclet para construir seu próprio parser de html para json |
Versões futuras do Java serão suportadas em próximos lançamentos
Recursos:
- Objetivo Gerar Javadoc Json: Gera JSON a partir do código-fonte Java
- Objetivo Crawl: Extrai documentação de sites HTML Javadoc (JDK 9+ suportado)
- Suporte a Lombok: Trata anotações Lombok com o processo delombok
- Compatível com MCP: Gera documentação em formato compatível com MCP
- Filtragem de Pacotes: Use padrões regex para filtrar pacotes específicos
- Suporte a Proxy: Configure configurações de proxy para rastrear documentação externa
Início Rápido:
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
Atenção, você pode encontrar erro de compilação se estiver usando Lombok, por favor vá para a seção Projetos Lombok.
Mais detalhes em README
2. Servidor MCP (mcp-server/)
Um servidor MCP baseado em Node.js que fornece recursos de busca inteligente para documentação Java.
Recursos:
- Busca Fuzzy: Alimentada por Fuse.js para correspondência inteligente
- Múltiplos Tipos de Busca: Classes, métodos, construtores e campos
- Deduplicação de Dados: Mesclagem automática de entradas duplicadas
- Estatísticas: Obtenha uma visão geral da cobertura da documentação
- Integração com Claude: Integração perfeita com Claude Desktop
Início Rápido:
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
3. Dados de Exemplo (javadoc-json/)
Contém arquivos de documentação JSON de exemplo gerados a partir de vários projetos Java para fins de teste e referência.
🚀 Começando
Passo 1: Gerar Documentação JSON
- A partir do Código-Fonte:
adicione a dependência Maven
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
e depois
mvn javadoc-json:javadoc-json
A configuração Maven de exemplo pode ser encontrada em ./java-docs-json-doclet/examples/
- A partir do HTML Javadoc:
consulte o README
Passo 2: Iniciar o Servidor MCP
# Using npx (recommended, no installation needed)
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
Teste usando mcp inspector
npx @modelcontextprotocol/inspector npx -y @io.emop/mcp-javadoc-server -- --javadoc-path /path/to/javadoc-json
consulte o README
📖 Exemplos de Uso
Uma vez configurado, você pode usar estes comandos no Claude Desktop:
- Buscar todos os itens:
search_all("ArrayList") - Buscar classes:
search_classes("HashMap") - Buscar métodos:
search_methods("toString") - Obter detalhes da classe:
get_class_details("java.util.List") - Obter estatísticas:
get_stats()
🔧 Configuração Avançada
Projetos Lombok
Para projetos que usam Lombok, configure o processo delombok:
consulte o README
📄 Licença
Este projeto é licenciado sob a Licença MIT.
Português
Uma solução completa para gerar documentação JSON estruturada a partir do código-fonte Java e fornecer recursos de busca inteligente através do MCP (Model Context Protocol).
🚀 Visão Geral
Este projeto consiste em três componentes principais que trabalham juntos para criar um ecossistema completo de documentação Java:
- Plugin Maven (
java-docs-json-doclet) - Gera documentação JSON estruturada a partir do código-fonte Java - Servidor MCP (
mcp-server) - Fornece recursos de busca e consulta inteligentes para a documentação gerada - Dados de Exemplo (
javadoc-json) - Arquivos de documentação JSON de exemplo para teste e referência
🏗️ Arquitetura
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Java 源代码 │ │ HTML Javadoc │ │ Lombok 项目 │
│ │ │ (JDK 9) │ │ │
└──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Maven 插件 (java-docs-json-doclet) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ 发布目标 │ │ 爬取目标 │ │ Lombok 支持 │ │
│ │ (源代码) │ │ (HTML 文档) │ │ (Delombok 过程) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ JSON 文档 │
│ (结构化数据) │
└──────────┬──────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ MCP 服务器 │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ 搜索类 │ │ 搜索方法 │ │ 获取统计信息 │ │
│ │ │ │ │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ Claude Desktop │
│ (AI 助手) │
└─────────────────────┘
📦 Componentes
1. Java Docs JSON Doclet (java-docs-json-doclet/)
Um plugin Maven que converte documentação Java em formato JSON estruturado.
Versões Java Suportadas:
| Objetivo | Versões Suportadas | Observações |
|---|---|---|
| javadoc-json | Java 8+ | Suporta todas as versões Java 8 e superiores |
| Crawl | Java 9 | Será suportado para outras versões no futuro, atualmente suporta apenas https://docs.sw.siemens.com/documentation/external/PL20231101866122454/en-US/custom_api/open_java_ref/, você pode atualizar io.emop.javadocjson.doclet.JsonDoclet para construir seu próprio parser de HTML para JSON |
Versões futuras do Java serão suportadas em próximos lançamentos
Recursos:
- Objetivo Gerar Javadoc Json: Gera JSON a partir do código-fonte Java
- Objetivo Crawl: Extrai documentação de sites HTML Javadoc (suporta JDK 9+)
- Suporte a Lombok: Trata anotações Lombok com o processo delombok
- Compatível com MCP: Gera documentação em formato compatível com MCP
- Filtragem de Pacotes: Use padrões regex para filtrar pacotes específicos
- Suporte a Proxy: Configure configurações de proxy para rastrear documentação externa
Início Rápido:
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
Atenção, se você estiver usando Lombok, pode encontrar erro de compilação. Vá para a seção Projetos Lombok.
Mais detalhes em README
2. Servidor MCP (mcp-server/)
Um servidor MCP baseado em Node.js que fornece recursos de busca inteligente para documentação Java.
Recursos:
- Busca Fuzzy: Alimentada por Fuse.js para correspondência inteligente
- Múltiplos Tipos de Busca: Classes, métodos, construtores e campos
- Deduplicação de Dados: Mesclagem automática de entradas duplicadas
- Estatísticas: Obtenha uma visão geral da cobertura da documentação
- Integração com Claude: Integração perfeita com Claude Desktop
Início Rápido:
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
3. Dados de Exemplo (javadoc-json/)
Contém arquivos de documentação JSON de exemplo gerados a partir de vários projetos Java para teste e referência.
🚀 Começando
Passo 1: Gerar Documentação JSON
- A partir do Código-Fonte:
Adicione a dependência Maven
<plugin>
<groupId>io.github.beamliu</groupId>
<artifactId>java-docs-json-doclet</artifactId>
<version>0.1.1</version>
</plugin>
E depois execute
mvn javadoc-json:javadoc-json
A configuração Maven de exemplo pode ser encontrada em ./java-docs-json-doclet/examples/
- A partir do HTML Javadoc:
Consulte o README
Passo 2: Iniciar o Servidor MCP
# 使用 npx(推荐,无需安装)
npx @io.emop/mcp-javadoc-server --javadoc-path /path/to/javadoc-json
Teste usando mcp inspector
npx @modelcontextprotocol/inspector npx -y @io.emop/mcp-javadoc-server -- --javadoc-path /path/to/javadoc-json
Consulte o README
📖 Exemplos de Uso
Após a configuração, você pode usar estes comandos no Claude Desktop:
🔧 Configuração Avançada
Projetos Lombok
Para projetos que usam Lombok, configure o processo delombok:
Consulte o README
📄 Licença
Este projeto é licenciado sob a Licença MIT.