Maven Decoder — Claude Code MCP server: features and setup
Inspect Maven dependency classes and compare library versions through an MCP server. Useful when checking an upgrade or locating an API method.
claude mcp add --env MAVEN_REPOSITORY=<MAVEN_REPOSITORY> --env MAVEN_REMOTE_REPOS=<MAVEN_REMOTE_REPOS> --env MAVEN_REMOTE_USERNAME=<MAVEN_REMOTE_USERNAME> --env MAVEN_REMOTE_PASSWORD=<MAVEN_REMOTE_PASSWORD> --env MAVEN_OFFLINE=<MAVEN_OFFLINE> --transport stdio maven-decoder -- npx -y maven-decoder-mcpWhat Maven Decoder does
Maven Decoder gives an agent tools to inspect Maven artifacts: retrieve source, examine class signatures, methods and fields, search dependencies, and compare releases. It can work with JAR files in ~/.m2 or fetch artifacts from Maven Central. When a sources JAR is missing, javap can provide parsed bytecode information.
The server can also inspect transitive dependency trees and identify version conflicts. Decompilation requires Java 8 or newer. You also need a local Maven repository and one runtime option: Python 3.8+, Node.js 14+, or Docker. Without Java, the decompilation features will not run.
For Claude Code, add the server with claude mcp add; repository and authentication settings are passed as environment variables. Remote repositories support address and credential settings, while MAVEN_OFFLINE switches the server to offline operation.
What it helps with
- compare the APIs of two Maven dependency releases
- locate a class or method in Maven artifacts
- inspect class signatures and fields
- trace a transitive dependency tree
- find version conflicts in dependencies
Example prompts for the agent
- Compare
org.jsoup:jsoupversions1.17.2and1.23.2, then report API changes. - Search my Maven dependencies for a class with a method that parses HTML.
- Inspect the transitive dependency tree and identify version conflicts.
How to install Maven Decoder
Platform CLI
claude mcp add --env MAVEN_REPOSITORY=<MAVEN_REPOSITORY> --env MAVEN_REMOTE_REPOS=<MAVEN_REMOTE_REPOS> --env MAVEN_REMOTE_USERNAME=<MAVEN_REMOTE_USERNAME> --env MAVEN_REMOTE_PASSWORD=<MAVEN_REMOTE_PASSWORD> --env MAVEN_OFFLINE=<MAVEN_OFFLINE> --transport stdio maven-decoder -- npx -y maven-decoder-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Platform CLI
codex mcp add maven-decoder --env MAVEN_REPOSITORY=<MAVEN_REPOSITORY> --env MAVEN_REMOTE_REPOS=<MAVEN_REMOTE_REPOS> --env MAVEN_REMOTE_USERNAME=<MAVEN_REMOTE_USERNAME> --env MAVEN_REMOTE_PASSWORD=<MAVEN_REMOTE_PASSWORD> --env MAVEN_OFFLINE=<MAVEN_OFFLINE> -- npx -y maven-decoder-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Config file
{
"mcpServers": {
"maven-decoder": {
"command": "npx",
"args": [
"-y",
"maven-decoder-mcp"
],
"env": {
"MAVEN_REPOSITORY": "<MAVEN_REPOSITORY>",
"MAVEN_REMOTE_REPOS": "<MAVEN_REMOTE_REPOS>",
"MAVEN_REMOTE_USERNAME": "<MAVEN_REMOTE_USERNAME>",
"MAVEN_REMOTE_PASSWORD": "<MAVEN_REMOTE_PASSWORD>",
"MAVEN_OFFLINE": "<MAVEN_OFFLINE>"
}
}
}
}Replace <…> with your own values. 2 more environment variables are in the server README
Config file
{
"servers": {
"maven-decoder": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"maven-decoder-mcp"
],
"env": {
"MAVEN_REPOSITORY": "<MAVEN_REPOSITORY>",
"MAVEN_REMOTE_REPOS": "<MAVEN_REMOTE_REPOS>",
"MAVEN_REMOTE_USERNAME": "<MAVEN_REMOTE_USERNAME>",
"MAVEN_REMOTE_PASSWORD": "<MAVEN_REMOTE_PASSWORD>",
"MAVEN_OFFLINE": "<MAVEN_OFFLINE>"
}
}
}
}Replace <…> with your own values. 2 more environment variables are in the server README
Platform CLI
gemini mcp add -e MAVEN_REPOSITORY=<MAVEN_REPOSITORY> -e MAVEN_REMOTE_REPOS=<MAVEN_REMOTE_REPOS> -e MAVEN_REMOTE_USERNAME=<MAVEN_REMOTE_USERNAME> -e MAVEN_REMOTE_PASSWORD=<MAVEN_REMOTE_PASSWORD> -e MAVEN_OFFLINE=<MAVEN_OFFLINE> maven-decoder npx -y maven-decoder-mcpReplace <…> with your own values. 2 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Maven Decoder
How do I install Maven Decoder in Claude Code?
Run claude mcp add maven-decoder-mcp -e MAVEN_REMOTE_PASSWORD=<MAVEN_REMOTE_PASSWORD> -- npx -y maven-decoder-mcp. This registers the server with an environment variable for the remote Maven repository password.
What does Maven Decoder do?
It provides tools for inspecting Maven artifacts, searching dependencies, examining classes and methods, and comparing releases. Artifacts can come from the local repository or Maven Central.
What does Maven Decoder need for decompilation?
Decompilation requires Java 8 or newer. The setup also needs a local Maven repository and one runtime option: Python 3.8+, Node.js 14+, or Docker.