ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Maven Decoder

โดย salitabaรุ่น 1.3.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.salitaba/maven-decoder-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Lets AI agents read the real source of any Maven dependency, decompiled from ~/.m2 or Central.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: MAVEN_REMOTE_PASSWORD

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: MAVEN_REPOSITORY, MAVEN_REMOTE_REPOS, MAVEN_REMOTE_USERNAME, MAVEN_REMOTE_PASSWORD, MAVEN_OFFLINE, MAVEN_AUTO_DOWNLOAD, MAVEN_DECODER_CACHE_DIR

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "maven-decoder": {
      "command": "npx",
      "args": [
        "-y",
        "maven-decoder-mcp"
      ],
      "env": {
        "MAVEN_REPOSITORY": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_REPOS": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_USERNAME": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_PASSWORD": "ใส่ค่าของคุณ",
        "MAVEN_OFFLINE": "ใส่ค่าของคุณ",
        "MAVEN_AUTO_DOWNLOAD": "ใส่ค่าของคุณ",
        "MAVEN_DECODER_CACHE_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add maven-decoder --env MAVEN_REPOSITORY='ใส่ค่าของคุณ' --env MAVEN_REMOTE_REPOS='ใส่ค่าของคุณ' --env MAVEN_REMOTE_USERNAME='ใส่ค่าของคุณ' --env MAVEN_REMOTE_PASSWORD='ใส่ค่าของคุณ' --env MAVEN_OFFLINE='ใส่ค่าของคุณ' --env MAVEN_AUTO_DOWNLOAD='ใส่ค่าของคุณ' --env MAVEN_DECODER_CACHE_DIR='ใส่ค่าของคุณ' -- npx -y maven-decoder-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "maven-decoder": {
      "command": "npx",
      "args": [
        "-y",
        "maven-decoder-mcp"
      ],
      "env": {
        "MAVEN_REPOSITORY": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_REPOS": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_USERNAME": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_PASSWORD": "ใส่ค่าของคุณ",
        "MAVEN_OFFLINE": "ใส่ค่าของคุณ",
        "MAVEN_AUTO_DOWNLOAD": "ใส่ค่าของคุณ",
        "MAVEN_DECODER_CACHE_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "maven-decoder": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "maven-decoder-mcp"
      ],
      "env": {
        "MAVEN_REPOSITORY": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_REPOS": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_USERNAME": "ใส่ค่าของคุณ",
        "MAVEN_REMOTE_PASSWORD": "ใส่ค่าของคุณ",
        "MAVEN_OFFLINE": "ใส่ค่าของคุณ",
        "MAVEN_AUTO_DOWNLOAD": "ใส่ค่าของคุณ",
        "MAVEN_DECODER_CACHE_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • MAVEN_REPOSITORY env
    Path to the local Maven repository. Defaults to ~/.m2/repository.
  • MAVEN_REMOTE_REPOS env
    Comma or whitespace separated list of remote Maven repository base URLs.
  • MAVEN_REMOTE_USERNAME env
    Username for authenticating against private remote Maven repositories.
  • MAVEN_REMOTE_PASSWORD ความลับ env
    Password or token for authenticating against private remote Maven repositories.
  • MAVEN_OFFLINE env
    Set to true to disable all network access and use only the local repository.
  • MAVEN_AUTO_DOWNLOAD env
    Whether to automatically download missing artifacts from remote repositories. Defaults to true.
  • MAVEN_DECODER_CACHE_DIR env
    Override directory used for decompilation and metadata caches.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub salitaba ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32455 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 36% ของอีก 32455 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32455 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Maven Decoder ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: MAVEN_REMOTE_PASSWORD

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.3.2) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SSTracker free youth training

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Maven Decoder MCP Server

Your agent guesses at library APIs it has never read. This makes it read them.

Lets AI agents read the actual source of any Maven dependency — decompiles jars from ~/.m2 or Maven Central, and diffs versions for breaking changes.

Ask an agent *"I'm upgrading org.jsoup:jsoup from 1.17.2 to 1.23.2 — what breaks?"* and without a way to read the jars it will answer from memory. With this server, compare_versions reads both jars and reports what actually changed:

1.17.2 → 1.23.2
Breaking changes45
Members removed31
Members added150
Classes with API changes47 of 115 compared

Members are compared as declared, so one that moved to a supertype is reported as removed even though it may still be callable. The tool states this in its own output.

It works on artifacts that have no sources jar too: extract_class_info falls back to javap and returns parsed fields, methods, and bytecode version — which is exactly the case for the internal artifacts in a corporate Nexus.

Try it in one command
npx skills add https://github.com/salitaba/maven-decoder-mcp --skill maven-code-search

That installs the maven-code-search agent skill, which tells your agent when to reach for these tools. For a raw MCP server setup instead, see Installation.

🚀 Features

Core Functionality
  • Jar File Analysis: Deep inspection of jar files including metadata, manifests, and structure
  • Dependency Resolution: Complete dependency tree analysis with transitive dependencies
  • Source Code Extraction: Extract source code from source jars or decompile bytecode
  • Class Information: Detailed class signatures, methods, fields, and annotations
  • Search Capabilities: Find classes, methods, and dependencies across all artifacts
  • Version Management: Compare versions, find dependents, and track version conflicts
Online Maven Support
  • Maven Central Search: Find artifacts and classes that are not installed locally
  • Remote Version Listing: See every published version, not just the ones you have
  • On-Demand Download: Fetch any artifact (jar, sources, POM) into a local cache
  • Transparent Fallback: Every analysis tool automatically downloads a missing artifact, so decompiling a dependency you never installed just works
  • Mirror Friendly: Point it at a corporate Nexus/Artifactory, with optional credentials
  • Offline Mode: A single env var restores fully local, network-free behavior
Advanced Features
  • Decompilation Support: Integrated support for multiple Java decompilers (CFR, Fernflower, Procyon)
  • Conflict Analysis: Detect and analyze dependency version conflicts
  • Repository Navigation: Browse and explore the local Maven repository structure
  • Metadata Parsing: Extract and parse Maven POM files and metadata
  • Service Discovery: Find and analyze Java services and SPI implementations
  • Response Management: Intelligent pagination and summarization for large responses
  • Method Extraction: Extract specific methods from large Java classes
  • Integrity Checking: Downloads are verified against the repository's SHA-1 checksums

📦 Installation

Prerequisites
  • Java 8+ (for decompilation features)
  • Maven local repository (~/.m2/repository)
  • One of: Python 3.8+, Node.js 14+, or Docker
🚀 Quick Install
One-Line Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/salitaba/maven-decoder-mcp/main/install.sh | bash
📋 Installation Methods
Method 1: uvx (Recommended)
# Install uv (if not installed)

curl -Ls https://astral.sh/uv/install.sh | sh

Ensure your shell PATH is updated (restart shell or eval as printed by installer)

Run the server via uvx (isolated, fast, no venv needed)

uvx maven-decoder-mcp

Optional: pick a specific Python

uvx --python 3.12 maven-decoder-mcp

Method 2: Node.js/npm
# Install globally

npm install -g maven-decoder-mcp

Or install locally

npm install maven-decoder-mcp

Run the server

maven-decoder-mcp

or if installed locally: npx maven-decoder-mcp

Method 3: Docker
# Pull and run

docker run --rm -it \ -v ~/.m2:/home/mcpuser/.m2 \ -v $(pwd):/workspace \ ali79taba/maven-decoder-mcp:latest

Method 4: From Source (Development)
# Clone repository

git clone https://github.com/salitaba/maven-decoder-mcp.git cd maven-decoder-mcp

Option A: Using Virtual Environment

python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -r requirements.txt pip install "git+https://github.com/modelcontextprotocol/python-sdk.git" ./setup_decompilers.sh

Option B: System-wide Installation (not recommended)

./setup_decompilers.sh

Windows

For a source checkout, use Python 3.10 or newer and a JDK on PATH. From the repository root, create and activate a virtual environment in PowerShell:

python -m venv .venv

.\.venv\Scripts\Activate.ps1 python -m pip install -e ".[dev]"

Point to your existing local Maven repository (drive-letter paths are supported)

$env:MAVEN_REPOSITORY = 'F:\data\repository' maven-decoder-mcp

In Command Prompt (cmd.exe), activate with .venv\Scripts\activate.bat and set the repository with set "MAVEN_REPOSITORY=F:\data\repository" instead. These environment settings apply to programs launched from that terminal; set them in your MCP client's environment when it launches the server separately.

Remote downloads use a separate cache, resolved in this order (empty values are skipped):

  1. MAVEN_DECODER_CACHE_DIR: the complete cache directory; no subdirectory is appended.
  2. XDG_CACHE_HOME: append maven-decoder-mcp\repository.
  3. LOCALAPPDATA: append maven-decoder-mcp\repository.
  4. Otherwise, ~/.cache/maven-decoder-mcp/repository under your home directory.

On Windows, this usually means %LOCALAPPDATA%\maven-decoder-mcp\repository; XDG_CACHE_HOME still takes precedence if set. The cache uses Maven's directory layout but stays separate from the real local repository so downloads do not interfere with Maven builds. Setting MAVEN_REPOSITORY does not change the cache location.

🔧 Configuration

For Cursor IDE

Add to your ~/.cursor/mcp_servers.json:

{

"maven-decoder": { "command": "uvx", "args": ["maven-decoder-mcp"] } }

For Other MCP Clients

The server runs as a standard MCP server and can be integrated with any MCP-compatible client.

🧠 AI Agent Skill

This repository includes a maven-code-search agent skill that tells AI coding agents when and how to use this MCP for searching installed Maven package code.

npx skills add https://github.com/salitaba/maven-decoder-mcp --skill maven-code-search

The skill is located at skills/maven-code-search and is ready for skills.sh indexing after the repository is pushed.

🛠️ Available Tools

Local Analysis
ToolDescription
list_artifactsList artifacts in Maven repository with filtering
analyze_jarAnalyze jar file structure and contents
extract_class_infoGet detailed information about Java classes
get_dependenciesRetrieve Maven dependencies from POM files
search_classesSearch for classes across all jars, optionally filtered by annotation
extract_source_codeDecompile and extract Java source code
extract_jar_resourceExtract text resources such as .proto files, services, and metadata
compare_versionsCompare two versions, including a public API diff and breaking changes
find_usage_examplesFind classes that reference a given class or method
get_dependency_treeGet complete dependency tree
find_dependentsFind artifacts that depend on a specific artifact
get_version_infoGet installed versions of an artifact (set include_remote to add published ones)
analyze_jar_structureAnalyze overall jar structure and metadata
extract_method_infoExtract specific method information from Java classes
Online (Maven Central)
ToolDescription
search_maven_centralSearch Maven Central for artifacts by name, coordinates, or contained class
get_remote_versionsList every version published remotely, flagging which are installed
download_artifactDownload an artifact (jar/sources/POM) into the local cache; accepts latest
Tool parameters
ToolParameterTypeDefaultDescription
list_artifactsgroup_idstring—Filter by group ID (e.g., 'org.springframework')
list_artifactsartifact_idstring—Filter by artifact ID (e.g., 'spring-core')
list_artifactsversionstring—Filter by version (e.g., '5.3.21')
list_artifactssort_bystringnameOrder results by: 'name' (group/artifact/version ascending, default), 'size' (largest jars first), or 'modified' (most recently modified first). Unknown values fall back to 'name'.
list_artifactslimitinteger50Maximum number of artifacts to return
list_artifactspageinteger1Page number for pagination
list_artifactsitems_per_pageinteger20Items per page
analyze_jargroup_id*string—Maven group ID
analyze_jarartifact_id*string—Maven artifact ID
analyze_jarversion*string—Maven version
analyze_jarinclude_bytecodebooleanFalseInclude bytecode analysis
analyze_jarinclude_manifestbooleanTrueInclude JAR manifest
analyze_jarsummarize_large_contentbooleanTrueSummarize large content automatically
extract_class_infogroup_id*string—Maven group ID
extract_class_infoartifact_id*string—Maven artifact ID
extract_class_infoversion*string—Maven version
extract_class_infoclass_patternstring—Pattern to match class names (regex supported)
extract_class_infoinclude_methodsbooleanTrueInclude method signatures
extract_class_infoinclude_fieldsbooleanTrueInclude field information
extract_class_infoinclude_bytecodebooleanFalseInclude verbose javap bytecode output for matched classes
extract_class_infopageinteger1Page number for pagination
extract_class_infoitems_per_pageinteger20Items per page
extract_class_infosummarize_large_contentbooleanTrueSummarize large content automatically
get_dependenciesgroup_id*string—Maven group ID
get_dependenciesartifact_id*string—Maven artifact ID
get_dependenciesversion*string—Maven version
get_dependenciesinclude_transitivebooleanFalseInclude transitive dependencies
get_dependenciespageinteger1Page number for pagination
get_dependenciesitems_per_pageinteger20Items per page
search_classesclass_namestring—Class name to search for (supports wildcards)
search_classespackage_patternstring—Package pattern to filter by
search_classesannotationstring—Search for classes with specific annotation
search_classescase_sensitivebooleanTrueMatch class_name and package_pattern case-sensitively. Set false for a case-insensitive search (e.g. 'arraylist' matches 'ArrayList').

| search_classes | limit | integer | 100 | Maximum

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx