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
Servidores relacionados
Scout Monitoring MCP
patrocinadorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
SonarQube MCP Server
Integrates with SonarQube to provide AI assistants with access to code quality metrics, issues, and analysis results.
MCP Proxy Server
Aggregates multiple MCP resource servers into a single interface with stdio/sse support.
MCP Server Template
A starter template for building a Model Context Protocol (MCP) server using TypeScript and Node.js.
WCAG Aria patterns MCP
MCP server for WCAG practices found at https://github.com/karanshah229/wcag-aria-practices-mcp-skill/tree/main
Testplane MCP
A server for Testplane that enables LLMs to interact with web applications.
Cedardiff
Edit files using CEDARScript, a SQL-like language for code manipulation.
Read Docs MCP
Enables AI agents to access and understand package documentation from local or remote repositories.
Lisply-MCP
A Node.js middleware that allows AI agents to interact with Lisp-based systems using the Lisply protocol.
MCP Router
A unified gateway for routing requests to multiple Model Context Protocol servers.
MCP_Agent:RE
Fetches requirements and defect data from the TAPD platform to provide data support for AI clients.