jarp-mcp
Java Archive Reader Protocol MCP server - Give AI agents X-ray vision into compiled Java code by decompiling JAR/WAR/EAR files and Maven/Gradle dependencies
JARP-MCP
⚡ Get Started in 10 Seconds
Add this to your AI editor's MCP configuration:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
That's it. No installation. No configuration. CFR decompiler bundled.
What this enables: Your AI agent (Claude, Cursor, Windsurf, Cline, etc.) can now:
- Decompile any Java class from your dependencies
- Analyze class structure, methods, and fields
- Read actual source code instead of guessing
Restart your AI editor and try: "Show me the source code for JpaRepository"
The Problem
AI agents like Claude, GPT-4, and Cursor cannot read compiled Java code. When working with Spring Boot, Maven, or any Java project:
"Show me how JpaRepository.saveAll() works" → Agent hallucinates the method signature
"What parameters does this internal library function take?" → Agent guesses wrong
"Why does this dependency throw this exception?" → Agent cannot see the source
Developers spend 5-10 minutes per class manually decompiling with JD-GUI, copying source, and pasting into chat.
The Solution
JARP-MCP gives AI agents instant access to decompiled Java source code from your Maven & Gradle dependencies.
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ LLM Agent │ ───▶ │ JARP-MCP │ ───▶ │ Maven/Gradle │
│ (Claude/ │ │ (MCP Server) │ │ + .m2 Repo │
│ Cursor) │ │ │ │ │
└─────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────┐
│ CFR 0.152 │
│ Decompiler │
└──────────────┘
Impact
| Metric | Before | After |
|---|---|---|
| Time to inspect a class | 5-10 min | <2 seconds |
| Accuracy of AI responses | ~60% (guessing) | 100% (actual source) |
| Manual steps | 4+ | 0 |
MCP Tools
| Tool | What It Does |
|---|---|
scan_dependencies | Scans your Maven/Gradle project, builds class → JAR index |
decompile_class | Returns full Java source code for any class |
analyze_class | Analyzes class structure, methods, fields, inheritance |
Example Usage
// In your AI assistant chat:
"Scan my Spring Boot project and decompile JpaRepository"
The agent uses JARP-MCP to:
- Scan all dependencies in
pom.xml - Find the JAR containing
JpaRepository - Decompile it using CFR
- Return the actual source code
Result: Accurate answers based on real code, not guesses.
Tech Stack
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
Key Implementation Details
- Zero external dependencies — CFR decompiler bundled (2.2MB JAR)
- Smart path resolution — Works with
npx,npm install -g, local dev - Maven & Gradle support — Parses
pom.xmlandbuild.gradle - Intelligent caching — First decompile ~2s, subsequent <100ms
- Auto-indexing — Builds class index on-demand if missing
Installation
Zero-Setup (Recommended)
npx jarp-mcp
No installation required. Everything is bundled.
Global Install
npm install -g jarp-mcp
jarp-mcp start
From Source
git clone https://github.com/tersePrompts/jarp-mcp.git
cd jarp-mcp
npm install
npm run build
MCP Configuration
Quick Setup — Works with any MCP-compatible AI editor:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Platform-Specific Setup
Claude Code (CLI)
Create .claude/mcp-config.json in your Java project root:
{
"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
Settings → MCP Servers → Add Server:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Or in .cursorrules:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Postman (with MCP Support)
- Open Postman → Settings → MCP Servers
- Add new server:
{
"name": "jarp-mcp",
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
Windsurf IDE
In .windsurfrules or project settings:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Cline (VSCode Extension)
In .clinerules or project settings:
{
"mcpServers": {
"jarp-mcp": {
"command": "npx",
"args": ["-y", "jarp-mcp"]
}
}
}
Performance
| Operation | First Run | Cached |
|---|---|---|
| Scan 100 JARs | ~30s | N/A |
| Decompile class | ~2s | <100ms |
| Analyze structure | ~2s | <100ms |
Real-world: Spring Boot project with 156 dependencies, 12,458 classes
- Initial scan: 45 seconds
- Each class: ~1.5s first time, instant thereafter
Links
- npm: https://www.npmjs.com/package/jarp-mcp
- GitHub: https://github.com/tersePrompts/jarp-mcp
- MCP Protocol: https://modelcontextprotocol.io
Works with any MCP client over STDIO — Claude, Cursor, Windsurf, Cline, Postman, and more.
License
Apache License 2.0 — see LICENSE
Acknowledgments
- handsomestWei — Original java-class-analyzer-mcp-server
- Lee Benfield — CFR Decompiler
- Anthropic — Claude & MCP ecosystem
Built with ❤️ for the AI-powered development community
Verwandte Server
Alpha Vantage MCP Server
SponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Docker MCP
A Ruby implementation of an MCP server for managing and using Docker
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
ChemMCP
A collection of 19 professional tools for chemical molecular processing based on the Model Context Protocol (MCP).
TestRail MCP Server
Interact with TestRail to manage test cases, projects, suites, and runs directly from your AI chat client.
Chronulus AI
Predict anything with Chronulus AI forecasting and prediction agents.
GitHub Workflow Debugger MCP
Diagnose and fix GitHub Actions workflow failures using the GitHub API.
MCP Server Example
An example MCP server for educational purposes, demonstrating how to build a functional server that integrates with LLM clients.
mcp-doctor
Diagnose, secure, and benchmark your MCP servers
secretctl
AI-safe secrets manager - inject credentials as env vars, AI never sees plaintext
Unity-MCP
A bridge between the Unity game engine and AI assistants using the Model Context Protocol (MCP).