maven-mcp-server
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: Maven Decoder 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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server for managing Maven dependency versions using direct metadata parsing from Maven Central. It provides tools to fetch latest stable versions, list version history, and compare versions with upgrade recommendations.4
- AlicenseNot gradedqualityCmaintenanceA comprehensive MCP server for analyzing Maven jar files in the local repository, enabling AI agents to understand dependencies, analyze bytecode, and extract source code.2219MIT
- AlicenseBqualityCmaintenanceMaven MCP Server enables AI assistants to manage Maven dependencies through natural language, including version checking, security scanning, and dependency analysis.5MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that scans Maven project dependencies, decompiles Java class files, and provides class structure analysis to LLMs for accurate code generation.6Apache 2.0
Related MCP Connectors
MCP Server for JFrog, providing tools for development and artifact management.
Maven Central MCP — Java/JVM artifact registry
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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