jarp-mcp
Servidor MCP do Protocolo de Leitura de Arquivos Java - Dê aos agentes de IA visão de raio-X em código Java compilado, descompilando arquivos JAR/WAR/EAR e dependências Maven/Gradle
Documentação
JARP-MCP
Java Archive Reader Protocol — Dê aos agentes de IA visão de raio-X em código Java compilado
⚡ Comece em 10 Segundos
Adicione isto à configuração MCP do seu editor de IA:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
É isso. Sem instalação. Sem configuração. Decompilador CFR incluído.
O que isso permite: Seu agente de IA (Claude, Cursor, Windsurf, Cline, etc.) agora pode:
- Descompilar qualquer classe Java das suas dependências
- Analisar estrutura de classes, métodos e campos
- Ler o código-fonte real em vez de adivinhar
Reinicie seu editor de IA e tente: "Mostre-me o código-fonte de JpaRepository"
O Problema
Agentes de IA como Claude, GPT-4 e Cursor não conseguem ler código Java compilado. Ao trabalhar com Spring Boot, Maven ou qualquer projeto Java:
"Mostre-me como funciona JpaRepository.saveAll()" → O agente alucina a assinatura do método
"Quais parâmetros essa função de biblioteca interna recebe?" → O agente adivinha errado
"Por que essa dependência lança essa exceção?" → O agente não consegue ver o código-fonte
Desenvolvedores gastam de 5 a 10 minutos por classe descompilando manualmente com JD-GUI, copiando o código-fonte e colando no chat.
A Solução
JARP-MCP dá aos agentes de IA acesso instantâneo ao código-fonte Java descompilado das suas dependências Maven e Gradle.
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ LLM Agent │ ───▶ │ JARP-MCP │ ───▶ │ Maven/Gradle │
│ (Claude/ │ │ (MCP Server) │ │ + .m2 Repo │
│ Cursor) │ │ │ │ │
└─────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────┐
│ CFR 0.152 │
│ Decompiler │
└──────────────┘
Impacto
| Métrica | Antes | Depois |
|---|---|---|
| Tempo para inspecionar uma classe | 5-10 min | <2 segundos |
| Precisão das respostas da IA | ~60% (adivinhando) | 100% (código-fonte real) |
| Etapas manuais | 4+ | 0 |
Ferramentas MCP
| Ferramenta | O que faz |
|---|---|
scan_dependencies | Escaneia seu projeto Maven/Gradle, constrói índice de classe → JAR |
decompile_class | Retorna o código-fonte Java completo para qualquer classe |
analyze_class | Analisa estrutura de classe, métodos, campos, herança |
Exemplo de Uso
// In your AI assistant chat:
"Scan my Spring Boot project and decompile JpaRepository"
O agente usa JARP-MCP para:
- Escanear todas as dependências em
pom.xml - Encontrar o JAR contendo
JpaRepository - Descompilá-lo usando CFR
- Retornar o código-fonte real
Resultado: Respostas precisas baseadas em código real, não em suposições.
Pilha Tecnológica
JARP-MCP
├── Language: TypeScript 5.7
├── Runtime: Node.js 16+
├── Protocol: Model Context Protocol (MCP)
├── Decompiler: CFR 0.152 (bundled)
├── Build: tsc
├── Package: npm (zero-setup with npx)
└── License: Apache-2.0
Detalhes-chave de Implementação
- Zero dependências externas — Decompilador CFR incluído (JAR de 2,2MB)
- Resolução inteligente de caminhos — Funciona com
npx,npm install -g, desenvolvimento local - Suporte a Maven e Gradle — Analisa
pom.xmlebuild.gradle - Cache inteligente — Primeira descompilação ~2s, subsequentes <100ms
- Auto-indexação — Constrói índice de classes sob demanda se ausente
Instalação
Zero Configuração (Recomendado)
npx jarp-mcp
Nenhuma instalação necessária. Tudo está incluído.
Instalação Global
npm install -g jarp-mcp
jarp-mcp start
A partir do Código-Fonte
git clone https://github.com/tersePrompts/jarp-mcp.git
cd jarp-mcp
npm install
npm run build
Configuração MCP
Configuração Rápida — Funciona com qualquer editor de IA compatível com MCP:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Configuração Específica por Plataforma
Claude Code (CLI)
Crie .claude/mcp-config.json na raiz do seu projeto Java:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Cursor IDE
Configurações → Servidores MCP → Adicionar Servidor:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Ou em .cursorrules:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Postman (com Suporte a MCP)
- Abra o Postman → Configurações → Servidores MCP
- Adicione um novo servidor:
{
"name": "jarp-mcp",
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
Windsurf IDE
Em .windsurfrules ou configurações do projeto:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Cline (Extensão VSCode)
Em .clinerules ou configurações do projeto:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Desempenho
| Operação | Primeira Execução | Em Cache |
|---|---|---|
| Escanear 100 JARs | ~30s | N/A |
| Descompilar classe | ~2s | <100ms |
| Analisar estrutura | ~2s | <100ms |
Mundo real: Projeto Spring Boot com 156 dependências, 12.458 classes
- Escaneamento inicial: 45 segundos
- Cada classe: ~1,5s na primeira vez, instantâneo depois
Links
- npm: https://www.npmjs.com/package/jarp-mcp
- GitHub: https://github.com/tersePrompts/jarp-mcp
- MCP Protocol: https://modelcontextprotocol.io
Funciona com qualquer cliente MCP via STDIO — Claude, Cursor, Windsurf, Cline, Postman e mais.
Licença
Apache License 2.0 — veja LICENSE
Agradecimentos
- handsomestWei — Original java-class-analyzer-mcp-server
- Lee Benfield — Decompilador CFR
- Anthropic — Ecossistema Claude e MCP
Feito com ❤️ para a comunidade de desenvolvimento com IA