Easy Code Reader MCP
An MCP server that reads Java dependency sources from a local Maven repository: sources JARs or CFR and Fernflower decompiling.
- 154 ★ on the repository
- Last commit
- Apache-2.0
Minimal access
Why this level
- The server reads local Maven files and writes a cache next to artifacts.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/easy-code-readerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The server reads local Maven files and writes a cache next to artifacts.
This is third-party code. Review the repository files before installing.
What it does
Easy Code Reader gives an agent two tools. `search_group_id` finds the groupId and available versions of an artifact in the local Maven repository, and `read_jar_source` returns the class source from a JAR. The server tries a sources JAR first, then the disk cache, and only then decompiles the original JAR. CFR or Fernflower is chosen by Java version, with a fallback if one fails. The cache lives in the artifact version directory, and for SNAPSHOT builds the server tracks the size and modification time of the input package. Error messages tell the agent how to fix the query so it does not repeat one failed attempt.
Who it is for. Java developers who ask an agent to write code against a third-party library based on its real implementation.
Good fit when
- The agent writes a Nacos integration and first reads the real `NamingService` instead of guessing.
- An exception came from a third-party JAR and the stack must be tied to a specific line.
- Before a dependency upgrade the old and new implementations are compared.
- A SNAPSHOT version is built in Maven and the agent needs exactly that code.
Not a fit when
- The dependency is absent from the local Maven repository and must be downloaded or installed first.
- The project is not Java and does not use JARs.
- The sources are closed by licence, and decompiling third-party code may breach its terms.
Example request
Find the groupId for spring-core, read `org.springframework.core.SpringVersion` and show where the version comes from.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
`MAVEN_REPO`- Path to the local Maven repository when `--maven-repo` is not set.
Limitations
The dependency must already sit in the local Maven repository, since the server downloads nothing. Decompiling needs `java` on PATH, and the README suggests JDK 11 or 21, while reading sources JARs and a ready cache needs no Java. Python 3.10+ and uv are required. The server is pinned to `mcp>=1.30,<2`. Decompiled code is imperfect: variable names and structure may differ from the original. The repository path comes from the `--maven-repo` flag, the `MAVEN_REPO` variable or Maven settings. The last commit is from September 17, 2026.
How to disable. Remove the `easy-code-reader` entry from the client MCP config. The decompilation cache can be deleted from version directories in local Maven.
FAQ
How do I set the Maven repository path?
With the `--maven-repo` flag. Without it the server reads the `MAVEN_REPO` variable, then user Maven settings.
What if the artifact version is missing?
Call `search_group_id` and pick a version that exists locally. Download or install the missing dependency through Maven.
Can I read part of a file?
Yes. `read_jar_source` returns the whole file, and `start_line` and `end_line` limit the line range.
Which decompiler is used?
CFR or Fernflower, depending on the Java version in the environment. On failure the server tries the other.
What about SNAPSHOT versions?
The main SNAPSHOT package is read first, and the cache is managed by the package name with the latest timestamp.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server that indexes code with tree-sitter and returns individual functions and classes to the agent instead of whole files
An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens
Source search ranks matches using code structure and gives agents relevant snippets without a separate search index.
An MCP server that lets an agent read files, search code and run commands in a workspace
Parses repositories into UniAST trees and gives agents MCP tools for finding functions, dependencies and code references
The MCP server finds definitions and meaningful code fragments through a local index with vector and full-text search.
README in short
The README covers features, scenarios such as exception tracing and version comparison, two connection methods and checking in MCP Inspector. The document is in Chinese with an English summary at the top.