Maven Dependencies MCP Server
Maven依存関係のバージョンを確認するためのツールを提供するMCP(Model Context Protocol)サーバーです。このサーバーにより、LLMはMaven依存関係を検証し、Maven Central Repositoryから最新バージョンを取得できるようになります。
インストール
npmを使用して、このMCPサーバーをグローバルにインストールできます:
npm install -g mcp-maven-depsまたは、npxを使用して直接実行することもできます:
npx mcp-maven-depsSmithery経由でのインストール
Smithery を介してClaude Desktop用のMaven Dependencies Serverを自動的にインストールするには:
npx -y @smithery/cli install maven-deps-server --client claudeRelated MCP server: Minecraft Plugin Documentation MCP Server
機能
Maven依存関係の最新の安定版リリースを取得(デフォルトでプレリリース版を除外)
Maven依存関係が存在するかどうかを検証
特定のバージョンの依存関係が存在するかどうかを確認
オプションのプレリリースフィルタリングを使用してMaven依存関係のバージョンを一覧表示
インテリジェントなプレリリース検出(alpha、beta、milestone、RC、snapshot)
パッケージングや分類子を含む完全なMaven座標をサポート
Maven Central Repositoryデータへのリアルタイムアクセス
複数のビルドツール形式(Maven、Gradle、SBT、Mill)と互換性あり
開発用:
このリポジトリをクローン
依存関係をインストール:
npm installサーバーをビルド:
npm run build
設定
MCP設定ファイルにサーバーを追加します:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps"]
}
}
}グローバルにインストールされている場合は、以下も使用できます:
{
"mcpServers": {
"maven-deps-server": {
"command": "mcp-maven-deps"
}
}
}トランスポートオプション
サーバーは2つのトランスポートモードをサポートしています:
stdio(デフォルト) - 標準入出力通信
SSE(Server-Sent Events) - オプションのリモートアクセスを備えたHTTPベースの通信
SSEトランスポートを使用するには、ホストとポートの両方を指定できます:
# Local access only (default host: localhost)
npx mcp-maven-deps --port=3000
# Remote access
npx mcp-maven-deps --host=0.0.0.0 --port=3000MCP設定でSSEトランスポートを使用する場合:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--port=3000"]
}
}
}リモートアクセスの場合は、クライアント設定でサーバーのIPまたはホスト名を使用してください:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--host=your-server-ip", "--port=3000"]
}
}
}利用可能なツール
get_latest_release
Maven依存関係の最新の安定版リリースバージョンを取得します。デフォルトでは、本番環境に対応したバージョンを確実に取得するために、プレリリースバージョン(alpha、beta、milestone、RC、snapshot)を除外します。
入力スキーマ:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}使用例:
// Get latest stable release (default behavior)
const result1 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core"
});
// Returns: "6.2.8" (latest stable, excludes "7.0.0-M6" milestone)
// Include pre-releases if needed
const result2 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core",
excludePreReleases: false
});
// Returns: "7.0.0-M6" (includes pre-releases)check_maven_version_exists
特定のバージョンのMaven依存関係が存在するかどうかを確認します。バージョンは、依存関係文字列で提供するか、個別のパラメータとして提供できます。
入力スキーマ:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"version": {
"type": "string",
"description": "Version to check if not included in dependency string"
}
},
"required": ["dependency"]
}使用例:
// Using version in dependency string
const result1 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core:5.3.20"
});
// Using separate version parameter
const result2 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core",
version: "5.3.20"
});list_maven_versions
Maven依存関係のバージョンをデプロイ順(最新のものから)に一覧表示します。オプションでプレリリースフィルタリングと深さ制御が可能です。出力は1行につき1バージョンです。
入力スキーマ:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:jar\")"
},
"depth": {
"type": "number",
"description": "Number of versions to return (default: 15)",
"minimum": 1,
"maximum": 100
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}使用例:
// Get last 15 stable versions (default - excludes pre-releases)
const result1 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core"
});
// Returns only stable versions: "6.2.8\n6.1.21\n6.2.7\n..."
// Get last 5 versions including pre-releases
const result2 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core",
depth: 5,
excludePreReleases: false
});
// Returns: "7.0.0-M6\n6.2.8\n6.1.21\n7.0.0-M5\n6.2.7"実装の詳細
Maven Centralの
maven-metadata.xmlを直接クエリします(https://repo1.maven.org/maven2/<g>/<a>/maven-metadata.xml)。これは、MavenやGradle自体が依存関係解決時に参照する信頼できるファイルです。デプロイから数秒以内に更新されるため、結果が古くなることはありません。完全なMaven座標(groupId:artifactId:version:packaging:classifier)をサポート
正規表現パターンマッチングを使用したインテリジェントなプレリリース検出
maven-metadata.xmlに記録されている順序(最新のものから)でバージョンを返します無効な依存関係やAPIの問題に対するエラーハンドリングを含みます
有効な依存関係に対して、クリーンで解析可能なバージョン文字列を返します
バージョンの存在確認に対してブール値を返します
プレリリース検出
サーバーは以下のパターンを使用してプレリリースバージョンを自動的に検出します:
Alpha:
-alpha,-aBeta:
-beta,-bMilestone:
-milestone,-m,-MRelease Candidate:
-rc,-crSnapshot:
-snapshot
例:
7.0.0-M6→ プレリリース(milestone)6.2.8→ 安定版リリース3.1.0-SNAPSHOT→ プレリリース(snapshot)2.5.0-RC1→ プレリリース(release candidate)
破壊的変更に関する注意: ツール名は get_maven_last_updated_version から get_latest_release に変更され、デフォルトでプレリリースを除外するようになりました。これにより、本番アプリケーションはデフォルトで安定版を取得できるようになり、必要な場合にはプレリリースへのアクセスも引き続き可能です。
エラーハンドリング
サーバーは以下のエラーケースを処理します:
無効な依存関係形式
無効なバージョン形式
存在しない依存関係
安定版リリースが見つからない(フィルタリングが有効な場合)
API接続の問題
不正な形式のレスポンス
バージョン情報の欠落
開発
サーバーを変更または拡張するには:
src/index.tsを変更npm run buildを使用して再ビルドMCPサーバーを再起動して変更を適用
ライセンス
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bigsy/maven-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
