原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Maven Decoder

作者:salitaba版本 1.3.2i★ –i在你的电脑上运行
注册名称io.github.salitaba/maven-decoder-mcp

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: 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": "your-value",
        "MAVEN_REMOTE_REPOS": "your-value",
        "MAVEN_REMOTE_USERNAME": "your-value",
        "MAVEN_REMOTE_PASSWORD": "your-value",
        "MAVEN_OFFLINE": "your-value",
        "MAVEN_AUTO_DOWNLOAD": "your-value",
        "MAVEN_DECODER_CACHE_DIR": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add maven-decoder --env MAVEN_REPOSITORY=your-value --env MAVEN_REMOTE_REPOS=your-value --env MAVEN_REMOTE_USERNAME=your-value --env MAVEN_REMOTE_PASSWORD=your-value --env MAVEN_OFFLINE=your-value --env MAVEN_AUTO_DOWNLOAD=your-value --env MAVEN_DECODER_CACHE_DIR=your-value -- 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": "your-value",
        "MAVEN_REMOTE_REPOS": "your-value",
        "MAVEN_REMOTE_USERNAME": "your-value",
        "MAVEN_REMOTE_PASSWORD": "your-value",
        "MAVEN_OFFLINE": "your-value",
        "MAVEN_AUTO_DOWNLOAD": "your-value",
        "MAVEN_DECODER_CACHE_DIR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "maven-decoder": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "maven-decoder-mcp"
      ],
      "env": {
        "MAVEN_REPOSITORY": "your-value",
        "MAVEN_REMOTE_REPOS": "your-value",
        "MAVEN_REMOTE_USERNAME": "your-value",
        "MAVEN_REMOTE_PASSWORD": "your-value",
        "MAVEN_OFFLINE": "your-value",
        "MAVEN_AUTO_DOWNLOAD": "your-value",
        "MAVEN_DECODER_CACHE_DIR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

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

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 salitaba 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32531 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32531 个服务器的 36% 更新
  • 基础检查结果等于或优于此分类中其他 32531 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Maven Decoder 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:MAVEN_REMOTE_PASSWORD

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.3.2)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js, Python (uv)。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Reelsaw

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

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

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

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

在云端运行★ 211昨天更新
安装

Reelsaw

作者:osbytes

Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。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

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx