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
관련 서버
Scout Monitoring MCP
스폰서Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Berry MCP Server
A universal framework for easily creating and deploying Model Context Protocol servers with any tools.
Markdown Sidecar MCP Server
Serve and access markdown documentation for locally installed NPM, Go, or PyPi packages.
Choose MCP Server
An MCP server for integration with the Claude Desktop Client, with optional DBT manifest path configuration.
Glif
Run AI workflows from glif.app using the Glif MCP server.
MCP Aggregator
A universal aggregator that combines multiple MCP servers into a single endpoint.
Ghidra MCP Server
Exposes binary analysis data from Ghidra, including functions and pseudocode, to LLMs.
Have I Been Pwned
Check if an account or password has been compromised in a data breach using the Have I Been Pwned API.
LambdaTest MCP Server
LambdaTest MCP Servers ranging from Accessibility, SmartUI, Automation, and HyperExecute allows you to connect AI assistants with your testing workflow, streamlining setup, analyzing failures, and generating fixes to speed up testing and improve efficiency.
GDB MCP Server
An MCP server that enables LLM clients to interact with GDB for debugging and binary analysis.
MCP Servers for CS Experimentation Workshop
A collection of MCP servers designed for rapid prototyping in CS experimentation workshops.