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
関連サーバー
Alpha Vantage MCP Server
スポンサーAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
sqlew
ADR (Architecture Decision Record) for AI Agents – An MCP server that enables AI agents to create, query, and maintain architecture decision records in a structured SQL database
Perfetto
Turn natural language into powerful Perfetto trace analysis. Quickly explain jank, diagnose ANRs, spot CPU hot threads, uncover lock contention, and find memory leaks.
AppsAI
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
MediaWiki MCP Server
Enables LLM clients to interact with any MediaWiki wiki using the Model Context Protocol.
Nuxt MCP
MCP server helping models to understand your Vite/Nuxt app better.
ZenML
Interact with your MLOps and LLMOps pipelines through your ZenML MCP server
OSSInsight
Analyze GitHub repositories, developers, and organizations with data from OSSInsight.io.
Gradio MCP Test
A Python-based MCP server that provides tools to get cat images, either as a direct PNG or a URL for Markdown display.
MCP-scala
A Model Context Protocol server implementation written in Scala 3.
Django MCP Server
A Django extension to enable AI agents to interact with Django apps through the Model Context Protocol.