プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のための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の3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: 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

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

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

  • このカテゴリのほかの32464件のうち0%よりスターが多い
  • このカテゴリのほかの32464件のうち36%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32464件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Maven Decoderは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:MAVEN_REMOTE_PASSWORD

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.3.2)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.js, Python (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, yontu

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

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

クラウドで動く★ 211昨日更新
インストール

yontu

作者:senrecep

Türkçe yazı denetimi: TDK kuralları, yapay zekâ izleri, metin türüne göre üslup.

パソコンで動く今日更新
インストール

作者の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に聞く