{"id":"fangyuan33-easy-code-reader","name":"easy-code-reader","homepage":"https://pypi.org/project/easy-code-reader/","repo_url":"https://github.com/FangYuan33/easy-code-reader","category":"devtools","subcategories":[],"tags":["mcp","maven","java","decompiler","code-intelligence","local-dev","source-code-extraction"],"what_it_does":"easy-code-reader is a local MCP server that helps an AI assistant read Java source code from either local multi-module projects or Maven dependencies (including resolving sources JARs and falling back to decompilation with CFR/Fernflower). It provides tools to enumerate projects/files and retrieve code to support codebase understanding.","use_cases":["Ask an AI assistant to locate and read relevant Java files across a local multi-module project","Inspect the implementation of classes inside Maven artifacts by extracting sources or decompiling classes","Handle SNAPSHOT dependencies by selecting latest timestamped versions and caching decompilation results","Accelerate debugging and root-cause analysis for exceptions coming from third-party JARs by reading/decompiling referenced classes","Compare old/new dependency behavior by reading sources from different Maven versions"],"not_for":["Production security-sensitive environments without additional controls (no documented auth/authorization for the MCP server in the provided material)","Scenarios requiring a network-hosted, authenticated API service (this is designed for local MCP usage)","Large-scale, high-concurrency automated code crawling where resource usage needs explicit quotas and robust backpressure","Workflows that require perfect source fidelity beyond what decompilation can provide"],"best_when":"You want an agent to reason over Java code from local repos and Maven jars, and you can run the MCP server locally with access to a Maven repository directory.","avoid_when":"You cannot control the local environment risks (e.g., untrusted agents prompting it to read sensitive local files) or you need strict guarantees about decompiled code correctness.","alternatives":["OpenRewrite/IDE-based source navigation (local, but not MCP-agent friendly for jar extraction)","javap + manual decompilation tooling (manual workflow)","Other code-context MCP servers (repo-scoped file reading without Maven/decompiler support)","Maven source jar retrieval + IDE indexing (accurate sources, but less “agent direct” automation)"],"af_score":70.8,"security_score":28.8,"reliability_score":37.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:43:24.724547+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"Provided documentation focuses on local MCP server execution via uvx/installed binary and configuration of local directories. No authentication/authorization mechanism for the MCP server is described in the provided README content."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information provided in the supplied material; repo metadata indicates Apache-2.0 license."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":70.8,"security_score":28.8,"reliability_score":37.5,"mcp_server_quality":88.0,"documentation_accuracy":78.0,"error_message_quality":null,"error_message_notes":"No concrete MCP error schema or example failure payloads are included in the truncated README section shown, but multiple tools describe returned hints and troubleshooting steps.","auth_complexity":95.0,"rate_limit_clarity":10.0,"tls_enforcement":30.0,"auth_strength":10.0,"scope_granularity":10.0,"dependency_hygiene":55.0,"secret_handling":50.0,"security_notes":"Likely runs as a local process via MCP with no documented authentication/authorization in provided materials. This increases risk if exposed beyond localhost or used in untrusted agent contexts. TLS cannot be confirmed because the server URL/transport security is not described. Tooling involves decompilers (bundled JARs) and reading local Maven repo/project directories; ensure prompts/inputs cannot be used to exfiltrate sensitive local files. No explicit secret-handling practices are documented.","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":40.0,"error_recovery":65.0,"idempotency_support":"true","idempotency_notes":"Most read/list operations are naturally idempotent; decompilation may populate a cache directory, but repeated reads should yield consistent results after caching.","pagination_style":"none","retry_guidance_documented":true,"known_agent_gotchas":["Requires correct local configuration of Maven repository path (MAVEN_HOME or ~/.m2/repository) and project directory path; incorrect paths lead to “not found” errors that must be resolved by adjusting inputs.","Decompiled code may differ from original sources; prefer sources.jar when available (prefer_sources=true).","Overly strict file/project name patterns can yield empty results; documentation recommends re-querying without filters."]}}