mcpField
D
dejared

dejared

ローカル
github.com/HuynhKhanh1402開発ツール710 週間前に更新

dejared について

dejaredは、Javaアーカイブを調べるAIコーディングエージェント向けのJava製MCPサーバーです。内容の閲覧、バイトコード検索、メタデータ抽出に加え、3種類のエンジンでクラスを逆コンパイルできます。

主な機能

  1. 01パッケージ・クラス・リソースの一覧表示
  2. 02アーカイブ内のテキストリソースの読み取り
  3. 03クラス名とバイトコード文字列の検索
  4. 04クラスとパッケージのメタデータ抽出
  5. 05CFR・Vineflower・Procyonによる逆コンパイル

活用シーン

  1. 01ソースコードのない依存ライブラリの調査
  2. 02アーカイブ内の設定ファイルの復元
  3. 03スタックトレースからライブラリを調査
  4. 04難読化されたプラグインやModの分析

MCP 対応

アーカイブの探索・検索・メタデータ確認・逆コンパイルを行う9種類のMCPツールを提供します。stdio経由でMCPクライアントと通信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"huynhkhanh1402-dejared": {
"command": "npx",
"args": [
"-y",
"dejared-mcp"
]
}
}
}
起動コマンドnpx -y dejared-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdejared-mcp1.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Java Node.js npm version npm downloads License: MIT

dejared-mcp:Java デコンパイラー MCP サーバー

dejared-mcp は、Model Context Protocol に対応した Java デコンパイラー兼 JAR アナライザーです。AI コーディングエージェント(Claude Code、Codex、Cursor、VS Code)を使って、.jar、.war、.ear、.aar を開き、内容を一覧表示したり、バイトコードを検索したり、CFR、Vineflower、Procyon を使って任意のクラスを Java ソースコードにデコンパイルしたりできます。

Claude Code Codex Install in VS Code Add to Cursor

目次

概要

dejared-mcp は、npm パッケージとして配布される Java ベースの MCP サーバーです。調査、検索、詳細分析の 3 つのカテゴリーに分類された 9 つのツールを提供します。AI アシスタントはこれらのツールを使って、JAR ファイルの構造を調べたり、バイトコード内のクラスや文字列リテラルを検索したり、.class ファイルを読みやすい Java ソースコードにデコンパイルしたりできます。

依存関係にソースコードが含まれていないときに活用できます。サードパーティライブラリの実際の動作の確認、JAR に埋め込まれた application.yml や MANIFEST.MF の復元、ソースコードのないライブラリ内のスタックトレースの追跡、難読化されたプラグインや MOD の調査などに役立ちます。jar tf、unzip、javap を手作業で実行したり、デスクトップデコンパイラーを使ったりする必要がなくなります。

ZIP ベースの Java アーカイブであればすべて利用できます。.jar、.war、.ear、.aar、Spring Boot の実行可能 JAR に対応しています。

npm パッケージは薄いラッパーとして動作し、初回実行時にサーバー JAR をダウンロードしてキャッシュした後、stdio トランスポートを使って java -jar で起動します。

前提条件

  • Node.js 20 以降
  • Java 17 以降(JRE で十分です)

クイックスタート

最もおすすめのインストール方法はプラグインです。2 つのコマンドで、エージェントは 2 つの要素をまとめて利用できます。9 つの MCP ツールと、jar tf、unzip、javap をシェルから実行する代わりに、いつツールを使うべきかをエージェントに示す jar-analysis スキルです。

claude plugin marketplace add hqkh4nh/dejared-mcp
claude plugin install dejared@dejared-mcp-marketplace

Codex にも同じバンドルが用意されています。プラグインとしてインストールを参照してください。それ以外のクライアントでは、標準の MCP 設定を使用します。

プラグインとしてインストールする(推奨)

MCP サーバー単体では、エージェントに9つのツールを提供します。しかし、いつそれらを使うべきかはエージェントに伝えないため、多くのエージェントは習慣で jar tf、unzip -p、javap -p を使い続け、インストールしたツールには手を付けません。

プラグインには、両方がセットで含まれています。

部分役割
MCP サーバー機能に記載されている9つのツール
jar-analysis スキルJARに関する質問をこれらのツールに振り分け、コストの低いツールを高コストのツールより先に選び、どのデコンパイラーで再試行するかを判断します

現在、このバンドルに対応しているツールは2つです。それ以外はすべて MCPのみです。

Claude Code
claude plugin marketplace add hqkh4nh/dejared-mcp
claude plugin install dejared@dejared-mcp-marketplace

セッション内でも、同じコマンドを /plugin marketplace add ... と /plugin install ... として実行できます。インストールの概要に Run /reload-plugins to activate と表示されたら、実行してください。

Codex
codex plugin marketplace add hqkh4nh/dejared-mcp
codex plugin add dejared@dejared-mcp-marketplace

その後、新しいセッションを開始して、バンドルされたスキルとサーバーを読み込みます。 codex mcp list で確認してください。dejared が enabled として表示されているはずです。

MCP サーバーとしてインストールする

プラグインシステムのないクライアント向けです。ツールは利用できますが、エージェントにツールの使用を促すスキルは含まれません。

ほとんどのクライアントでは、この標準設定を使用できます。

{
  "mcpServers": {
    "dejared": {
      "command": "npx",
      "args": ["-y", "dejared-mcp"]
    }
  }
}
コマンドラインから

ツールに CLI がある場合は、1行で設定できます。

claude mcp add dejared -- npx -y dejared-mcp     # Claude Code
codex mcp add dejared -- npx -y dejared-mcp      # Codex
amp mcp add dejared -- npx -y dejared-mcp        # Amp
gemini mcp add dejared npx -y dejared-mcp        # Gemini CLI
設定ファイルの場所

標準設定を、お使いのツールの設定ファイルに追加します。

ツール場所
Claude Desktop%APPDATA%\Claude\claude_desktop_config.json (Windows) · ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
Claude Codeプロジェクトルートの .mcp.json
Cursor.cursor/mcp.json (プロジェクト) · ~/.cursor/mcp.json (グローバル)
Windsurf設定の MCP サーバーパネル、または設定ファイルの mcpServers
Cline拡張機能の MCP Servers パネルから設定する MCP 設定ファイル
Antigravity Editor~/.gemini/antigravity/mcp_config.json
Kiro.kiro/settings/mcp.json
Copilot CLI~/.copilot/mcp-config.json、または /mcp add を実行
Gemini CLI~/.gemini/settings.json (グローバル) · .gemini/settings.json (プロジェクト)
Goose詳細設定 → 拡張機能 → カスタム拡張機能を追加し、STDIO と入力
JetBrains IDEs設定 → ツール → AI Assistant → Model Context Protocol (MCP)
Qodo Genチャットパネル → さらにツールを接続 → + 新しい MCP を追加

標準設定以外の設定が必要な環境もあります。以下を展開してください。

Codex:JSONではなくTOMLを使用
codex mcp add dejared -- npx -y dejared-mcp
codex mcp list

-- は重要です。その後に続くすべてが、サーバーの起動コマンドになります。

または、~/.codex/config.toml (グローバル) あるいは .codex/config.toml (プロジェクト) を編集します。

[mcp_servers.dejared]
command = "npx"
args = ["-y", "dejared-mcp"]

# Only if Java is not on your PATH
[mcp_servers.dejared.env]
DEJARED_JAVA_PATH = "/path/to/java"
VS Code (GitHub Copilot):mcpServers ではなく servers を使用

.vscode/mcp.json を作成または編集します。

{
  "servers": {
    "dejared": {
      "command": "npx",
      "args": ["-y", "dejared-mcp"]
    }
  }
}

保存後、サーバーエントリーの上にある Start をクリックし、Copilot Chatでエージェントモードを使用します。

opencode:コマンドは配列

~/.config/opencode/opencode.json を編集します。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dejared": {
      "type": "local",
      "command": ["npx", "-y", "dejared-mcp"],
      "enabled": true
    }
  }
}
Pure Java (Node.js不要)

Node.jsを使わずにサーバーJARを直接実行する場合:

  1. GitHub Releasesから最新のJARをダウンロードします。

  2. 実行します。

    java -jar dejared-mcp-<version>.jar
    
  3. npx の代わりにJARを直接使用するよう、MCPクライアントを設定します。

    {
      "mcpServers": {
        "dejared": {
          "command": "java",
          "args": ["-jar", "/path/to/dejared-mcp-<version>.jar"]
        }
      }
    }
    

機能

検出

JARの内容を参照して読み取ります。

ツール説明
dejared_list_packagesクラス数とともにすべてのパッケージを一覧表示します
dejared_list_classes特定のパッケージ内のクラスを一覧表示します
dejared_list_resourcesクラス以外のリソースファイルを一覧表示します
dejared_read_resourceテキストリソース (YAML、XML、properties、JSONなど) を読み取ります
ハンティング

JAR ファイル内を検索します。

ツール説明
dejared_search_class名前でクラスを検索します
dejared_search_stringバイトコード内の文字列リテラル(URL、SQL、エラーメッセージ)を検索します
詳細分析

メタデータを調査し、クラスを逆コンパイルします。

ツール説明
dejared_get_metadataASM を使用してクラスのメタデータを抽出します(高速、逆コンパイルなし)
dejared_dump_package_metadataパッケージ全体のメタデータを一括で抽出します
dejared_decompile_class.class ファイルを Java ソースコードに逆コンパイルします

逆コンパイラエンジン

dejared-mcp は3つの逆コンパイラエンジンに対応しています。エンジンは dejared_decompile_class ツールを介してリクエストごとに指定できます。

エンジン説明
CFR(デフォルト)汎用性が高く、信頼性の高い逆コンパイラです
VineflowerFernFlower のモダンなフォークで、新しい Java 機能にも適切に対応します
Procyon一部の特殊なケースにより適切に対応できる代替エンジンです

カスタム Java パス

Java がシステムの PATH にない場合は、MCP 設定で DEJARED_JAVA_PATH 環境変数を設定してください。これは、すべての npx ベースの設定に適用されます。

{
  "mcpServers": {
    "dejared": {
      "command": "npx",
      "args": ["-y", "dejared-mcp"],
      "env": {
        "DEJARED_JAVA_PATH": "/path/to/java"
      }
    }
  }
}

サーバー設定

プロパティデフォルト説明
dejared.cache.max-size500逆コンパイル用 LRU キャッシュの最大エントリ数
dejared.security.max-resource-size5242880リソースファイルの最大サイズ(バイト)
dejared.security.decompile-timeout-seconds30逆コンパイルごとのタイムアウト

動作の仕組み

npm パッケージは薄い Node.js ラッパーです。初回実行時に、次の処理を行います。

  1. プラットフォームのキャッシュディレクトリを確認し、現在のバージョンに一致するキャッシュ済み JAR があるか調べます。
    • Linux:$XDG_CACHE_HOME/dejared-mcp(デフォルトは ~/.cache/dejared-mcp)
    • macOS:~/Library/Caches/dejared-mcp
    • Windows:%LOCALAPPDATA%\dejared-mcp
  2. キャッシュされていない場合、GitHub Releases から JAR をダウンロードします。
  3. MCP トランスポート用に stdio を継承して java -jar を起動します。

サーバーは Model Context Protocol を使用し、stdio 経由で通信します。

FAQ とトラブルシューティング

Q:Java はインストール済みですが、サーバーが見つけられません。

MCP 設定で DEJARED_JAVA_PATH 環境変数を設定してください。 カスタム Java パスを参照してください。

Q:権限エラーでサーバーの起動に失敗します。

キャッシュされた JAR ファイルが読み取り可能であることを確認してください。キャッシュの場所は プラットフォームによって異なります。キャッシュディレクトリのパスについては、 動作の仕組みを参照してください。

Q:逆コンパイルがタイムアウトするか、エラーを返します。

逆コンパイルが難しいクラスもあります。dejared_decompile_class ツールで vineflower または procyon を指定して、別のエンジンをお試しください。デフォルトのタイムアウトは30秒で、 dejared.security.decompile-timeout-seconds から変更できます。

Q:必要な Java のバージョンを教えてください。

Java 17 以降です。JRE で十分であり、JDK 全体は必要ありません。

Q:Node.js なしでサーバーを実行できますか?

はい。GitHub Releases から JAR をダウンロードし、 java -jar で直接実行してください。 MCP サーバーとしてインストールの「Pure Java」セクションを参照してください。

コントリビューション

コントリビューションを歓迎します。次のガイドラインに従ってください。

  1. リポジトリをフォークし、master から機能ブランチを作成します。
  2. 変更がコンパイルされ、既存のテストに合格することを確認します。
  3. 各変更の目的がわかる、明確なコミットメッセージを記述します。
  4. 変更内容とその理由を説明し、master を対象にプルリクエストを作成します。

プロジェクト構成に記載されているすべてのマニフェストには version フィールドがあり、いずれかの値が package.json と一致しない場合、CI でビルドが失敗します。これらの値はまとめて更新してください。

プロジェクト構成
dejared-mcp/
├── bin/                    # Node.js CLI entry point
├── lib/                    # Node.js wrapper (JAR download and process management)
├── java-mcp/               # Java MCP server (Spring Boot, Gradle)
│   └── src/
├── skills/                 # Agent skills, shared by every plugin manifest below
├── .mcp.json               # MCP server definition, shared the same way
├── .claude-plugin/         # Claude Code plugin + marketplace manifests
├── .codex-plugin/          # Codex plugin manifest
├── .agents/plugins/        # Codex marketplace manifest
├── package.json            # npm package manifest
└── server.json             # MCP Registry manifest
ソースからビルドする
cd java-mcp
./gradlew build
問題の報告

問題を再現する手順、Java のバージョン、Node.js のバージョンを添えて、 GitHub Issuesに イシューを作成してください。

サードパーティライセンス

このプロジェクトでは、以下のオープンソースライブラリを使用しています。

ライブラリライセンス
Spring BootApache 2.0
Spring AIApache 2.0
ASMBSD 3-Clause
CFRMIT
VineflowerApache 2.0
ProcyonApache 2.0

ライセンス

このプロジェクトはMIT Licenseの下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。