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
MCP server

Minimal access

Why this level

  • The server reads local Maven files and writes a cache next to artifacts.
All reasons and checks

fangyuan33/easy-code-reader

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/easy-code-reader

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal 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.

An MCP server that indexes code with tree-sitter and returns individual functions and classes to the agent instead of whole files

MCP serverExtended access2.9KRepository stars
Official

An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens

MCP serverExtended access961Repository stars

Source search ranks matches using code structure and gives agents relevant snippets without a separate search index.

CLIExtended access1.1KRepository stars

An MCP server that lets an agent read files, search code and run commands in a workspace

MCP serverBroad access1.2KRepository stars

Parses repositories into UniAST trees and gives agents MCP tools for finding functions, dependencies and code references

MCP serverBroad access389Repository stars
Official

The MCP server finds definitions and meaningful code fragments through a local index with vector and full-text search.

MCP serverExtended access349Repository stars

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.

README badge

Report a problem