mcpField
M
Maven Tools Mcp Server

Maven Tools Mcp Server

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

Maven Tools Mcp Server について

Maven Tools MCP Server は、Maven Central のライブデータを用いて JVM 依存関係を調べるための MCP サーバーです。単純なバージョン検索以上の機能が必要な開発者やエージェント向けで、安定版フィルタリング、アップグレード比較、CVE・ライセンス情報の確認に対応します。

主な機能

  1. 01安定版のフィルタリングとアップグレード比較
  2. 02依存関係の経過年数とリリース頻度の分析
  3. 03親 POM と BOM を考慮した POM 解析
  4. 04需要確認のフラグ付き構造化アップグレード案
  5. 05任意の Context7 ドキュメント照会

活用シーン

  1. 01pom.xml の依存関係について新しいバージョンとリスクを確認
  2. 02依存関係の脆弱性とライセンスの監査
  3. 03エージェントが検証・適用できる Maven アップグレード計画

MCP 対応

本プロジェクトは、Maven 依存関係の照会、POM 解析、アップグレード提案のツールを MCP クライアントに提供する MCP サーバーです。Docker イメージとして配布され、STDIO または HTTP で接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/arvindand/maven-tools-mcp:latest"
]
}
}
}
起動コマンドdocker run -i --rm docker.io/arvindand/maven-tools-mcp:latest

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

パッケージ
ocidocker.io/arvindand/maven-tools-mcp:latest

ツール

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

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

詳細

Maven Tools MCP サーバー

Java Spring Boot Spring AI MCP Protocol License GitHub release (latest by date) Docker Docker Pulls GitHub stars

Maven Tools MCP Server は、MCP 対応クライアントが Maven Central の最新データを使って JVM の依存関係を実用的に調査できるようにします。

単純なバージョン検索にとどまらず、安定性による絞り込み、アップグレードの比較、依存関係の健全性に関するシグナル、ライセンス情報、CVE チェック、Context7 によるオプションのドキュメント検索を必要とする開発者やエージェント向けに構築されています。

デモ

役立つ場面

  • バージョンの確認: 安定版を見つけ、メジャー/マイナー/パッチの情報を踏まえてアップグレードを比較します。
  • 依存関係の監査: 経過期間、リリース頻度、既知の脆弱性、ライセンス情報を調査します。
  • POM の分析: プロジェクトをビルドせずに、親 POM や BOM を介して宣言された依存関係のバージョンを解決します。
  • アップグレード計画: エージェントが検証して適用できる構造化された編集内容を取得します。メジャーアップグレード、競合、オーバーライドにはレビューが必要であることが示されます。
  • ドキュメント: オプションの Context7 ツールを使ってライブラリのドキュメントを検索します。

座標ベースのツールは Maven、Gradle、SBT、Mill のプロジェクトで動作します。POM 分析ツールとアップグレード計画ツールは Maven の pom.xml ファイルを受け取ります。

クイックスタート

前提条件: Docker がインストールされ、実行されていること。ローカルに Java をインストールする必要はありません。Docker を使わずにセットアップする方法については、JAR のビルドと実行を参照してください。

Claude Desktop

Claude Desktop の設定に maven-tools エントリーを追加します(設定ファイルの場所を参照してください)。

{
  "mcpServers": {
    "maven-tools": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}
VS Code + GitHub Copilot

ワークスペースの .vscode/mcp.json に次のサーバーを追加します。

{
  "servers": {
    "maven-tools": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}
イメージのバリエーション
タグトランスポートContext7最適な用途
:latestSTDIOはいデスクトップでの標準的な MCP 利用
:latest-noc7STDIOいいえContext7 がブロックされている、または不要なネットワーク
:latest-httpHTTPはいStreamable HTTP クライアントとサイドカーワークフロー

現在のリリースは v3.2.3 です。バージョンを固定する場合は、:3.2.3、:3.2.3-noc7、または :3.2.3-http を使用してください。いずれも Linux AMD64 と ARM64 に対応しています。

CONTEXT7_API_KEY は任意です。ほとんどの環境では、キーなしで開始できます。環境で Context7 認証が必要な場合、または匿名利用の制限を避けたい場合は、-e CONTEXT7_API_KEY を指定して Docker に渡してください。

JAR やネイティブコンテナーの使用方法、Docker Compose、環境に関する注意事項など、詳しいセットアップ手順については docs/setup.md を参照してください。

利用可能なツール

デフォルトのイメージでは 11 個の MCP ツールが公開され、-noc7 ではコアツール 9 個が公開されます。

Maven インテリジェンスツール
ツール機能
get_latest_version安定性を考慮して最新バージョンを選択します
check_version_exists特定のバージョンを検証し、安定性を分類します
check_multiple_dependencies依存関係の座標を一括検索します
compare_dependency_versions現在のバージョンと利用可能なアップグレードを比較します
analyze_dependency_age依存関係の古さを分類します
analyze_release_patternsリリース頻度とメンテナンスの指標を確認します
analyze_project_healthより広範な依存関係の健全性監査を実行します
analyze_pom_dependencies宣言された依存関係のバージョンを解決し、その出所を特定して、BOM の競合を明らかにします
recommend_pom_upgrades実行可能な POM アップグレードの推奨事項を作成し、レビューが必要な変更を指摘します
Context7 ドキュメントツール
ツール機能
resolve_library_idドキュメントライブラリの識別子を検索します
query_docsContext7 のライブラリ ID を使ってドキュメントを取得します

パラメーター、例、ツールごとの説明については、docs/tools.md を参照してください。

POM を考慮した依存関係分析

2 つの POM ツールは、親の継承、プロパティ、依存関係管理(インポートされた BOM を含む)に Apache Maven Model Builder を使用します。生の POM XML と、未リリースの親や兄弟モジュール向けの任意の sideloadedPoms バンドルを受け付けます。

  • analyze_pom_dependencies は、有効なバージョンを返し、宣言を EXPLICIT、MANAGED、EXPLICIT_OVERRIDE に分類して、管理している BOM と競合を特定します。
  • recommend_pom_upgrades は、機械的な編集向けの deterministicActions と、メジャーアップグレード、BOM の競合、明示的なオーバーライド向けの needsAttention を返します。アクションには、入力 POM で編集するバージョンフィールドまたはプロパティが示されます。

推奨事項の対象は、編集可能な親/BOM のバージョン、明示的な依存関係、ルートの依存関係管理エントリー、直接のビルド/プラグイン依存関係です。入力 POM 内で編集箇所を一意に特定できない宣言はスキップされます。サーバーは推奨事項を返し、クライアントまたはエージェントが検証して適用します。

分析対象は宣言された依存関係であり、推移的な依存関係グラフ全体ではありません。プロファイルの有効化は、デフォルトで有効なプロファイルに限定されます。POM 分析の詳細と制限を参照してください。

例

Copilot や Claude でよく使われるプロンプトは次のとおりです。

pom.xml にある依存関係の最新バージョンをすべて確認し、リスクがあるものを指摘してください。

クライアントはツールの結果を組み合わせ、次の内容を報告できます。

  • 現在のバージョンと最新バージョン
  • アップグレードがメジャー、マイナー、パッチのいずれにあたるか
  • 最新リリースが安定版かどうか
  • 依存関係が新しい、古くなりつつある、または古い状態に見えるか
  • 注意すべき既知の CVE やライセンス上の懸念があるか

「どのライブラリを選ぶべきか」といった、より広範な質問には、Maven のメタデータを Context7 のドキュメントや、エコシステムの背景情報を得るためのクライアント側ウェブ検索と組み合わせてください。

ツールの選択と組み合わせ方については、プロンプトの例またはmaven-tools エージェントスキルを参照してください。

ドッグフーディング

このリポジトリでは、週次の依存関係更新ワークフローで独自のツールを使用しています。Python エージェントが POM を recommend_pom_upgrades に送信し、マイナー/パッチアクションを検証して適用したうえで、レビュー用の PR を作成します。XML エディターは現在のバージョンを確認し、書式を保持します。メジャーアップグレードの手動レビューには GitHub Copilot SDK を使用します。通常の更新に LLM は必要ありません。

エージェント、GitHub Actions ワークフロー、認証情報、手動トリガーについては、ドッグフーディングガイドを参照してください。

よくある質問

  • Renovate や Dependabot の代わりになりますか? このサーバーは依存関係の分析とアップグレードの推奨を提供します。ファイルの編集、テスト、スケジュール設定、PR の作成には、別のエージェントまたはワークフローが必要です。同梱のエージェントでは、Maven POM の更新における使用例を示しています。
  • オフラインで動作しますか? 完全には動作しません。キャッシュされていないメタデータのクエリには、Maven Central または設定済みのリポジトリへのアクセスが必要です。脆弱性チェックと Context7 のドキュメントにも、外部サービスを使用します。
  • Gradle、SBT、Mill のビルドファイルを解析できますか? できません。座標ベースのツールでは、それらの依存関係の Maven 座標を使用してください。ファイル全体の分析で受け付けるのは Maven POM XML です。

その他の使用上の注意については、docs/examples.md の FAQ セクションをご覧ください。

謝辞

com.arvindand.mcp.maven.pom の effective POM リゾルバーは、maxxq-org/maxxq-maven(MIT、Guy Chauliac)の解決方法に倣い、ここでは宣言済み依存関係の解決に範囲を限定しています。NOTICE をご覧ください。

その他のドキュメント

  • docs/setup.md - インストール、クライアント設定、イメージのバリエーション、ソースからのビルド方法
  • docs/tools.md - ツールの全カタログ、パラメーター、応答の動作
  • docs/examples.md - 実用的なプロンプト、高度なユースケース、再利用可能なコマンド、FAQ の補足
  • docs/dogfooding.md - 毎週のセルフアップデートワークフローとエージェントの統合
  • docs/troubleshooting.md - よくある環境の問題と解決方法
  • docs/architecture.md - 設計原則、トランスポート/ランタイムの選択肢、技術的な補足
  • CORPORATE-CERTIFICATES.md - 制限されたネットワーク向けのカスタム CA 証明書のサポート

関連記事

コントリビューション

ローカルでビルドまたはテストする場合は、docs/setup.md と build/ 内のヘルパースクリプトから始めてください。

main ブランチは 3.2.4-SNAPSHOT です。現行リリースをソースからビルドするには、v3.2.3 をチェックアウトしてください。

プロジェクトの履歴とリリースノートは CHANGELOG.md にあります。

ライセンス

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

作者

Arvind Menon

コメント

MCP は初めてですか?

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

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