Maven Dependencies MCP Server
Ein MCP-Server (Model Context Protocol), der Tools zur Überprüfung von Maven-Abhängigkeitsversionen bereitstellt. Dieser Server ermöglicht es LLMs, Maven-Abhängigkeiten zu verifizieren und deren neueste Versionen aus dem Maven Central Repository abzurufen.
Installation
Sie können diesen MCP-Server global über npm installieren:
npm install -g mcp-maven-depsOder führen Sie ihn direkt mit npx aus:
npx mcp-maven-depsInstallation über Smithery
Um den Maven Dependencies Server für Claude Desktop automatisch über Smithery zu installieren:
npx -y @smithery/cli install maven-deps-server --client claudeRelated MCP server: Minecraft Plugin Documentation MCP Server
Funktionen
Abrufen der neuesten stabilen Version einer beliebigen Maven-Abhängigkeit (schließt Vorabversionen standardmäßig aus)
Überprüfung, ob eine Maven-Abhängigkeit existiert
Überprüfung, ob eine bestimmte Version einer Abhängigkeit existiert
Auflisten von Maven-Abhängigkeitsversionen mit optionaler Filterung von Vorabversionen
Intelligente Erkennung von Vorabversionen (Alpha, Beta, Milestone, RC, Snapshot)
Unterstützung für vollständige Maven-Koordinaten einschließlich Packaging und Classifier
Echtzeitzugriff auf Daten des Maven Central Repository
Kompatibel mit verschiedenen Build-Tool-Formaten (Maven, Gradle, SBT, Mill)
Für die Entwicklung:
Klonen Sie dieses Repository
Installieren Sie die Abhängigkeiten:
npm installErstellen Sie den Server:
npm run build
Konfiguration
Fügen Sie den Server zu Ihrer MCP-Einstellungskonfigurationsdatei hinzu:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps"]
}
}
}Bei globaler Installation können Sie auch Folgendes verwenden:
{
"mcpServers": {
"maven-deps-server": {
"command": "mcp-maven-deps"
}
}
}Transportoptionen
Der Server unterstützt zwei Transportmodi:
stdio (Standard) - Standard-Eingabe/Ausgabe-Kommunikation
SSE (Server-Sent Events) - HTTP-basierte Kommunikation mit optionalem Fernzugriff
Um den SSE-Transport zu verwenden, können Sie sowohl Host als auch Port angeben:
# Local access only (default host: localhost)
npx mcp-maven-deps --port=3000
# Remote access
npx mcp-maven-deps --host=0.0.0.0 --port=3000Bei Verwendung des SSE-Transports in Ihren MCP-Einstellungen:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--port=3000"]
}
}
}Für den Fernzugriff verwenden Sie die IP oder den Hostnamen des Servers in Ihrer Client-Konfiguration:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--host=your-server-ip", "--port=3000"]
}
}
}Verfügbare Tools
get_latest_release
Ruft die neueste stabile Release-Version einer Maven-Abhängigkeit ab. Standardmäßig werden Vorabversionen (Alpha, Beta, Milestone, RC, Snapshot) ausgeschlossen, um sicherzustellen, dass Sie produktionsreife Versionen erhalten.
Eingabeschema:
{
"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"]
}Beispielanwendung:
// 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
Überprüft, ob eine bestimmte Version einer Maven-Abhängigkeit existiert. Die Version kann entweder im Abhängigkeits-String oder als separater Parameter angegeben werden.
Eingabeschema:
{
"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"]
}Beispielanwendung:
// 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
Listet Maven-Abhängigkeitsversionen in der Reihenfolge der Bereitstellung auf, beginnend mit der aktuellsten, mit optionaler Filterung von Vorabversionen und Tiefenkontrolle. Die Ausgabe erfolgt als eine Version pro Zeile.
Eingabeschema:
{
"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"]
}Beispielanwendung:
// 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"Implementierungsdetails
Fragt
maven-metadata.xmldirekt auf Maven Central ab (https://repo1.maven.org/maven2/<g>/<a>/maven-metadata.xml) – die maßgebliche Datei, die Maven und Gradle selbst bei der Abhängigkeitsauflösung konsultieren. Sie wird innerhalb von Sekunden nach einer Bereitstellung aktualisiert, sodass die Ergebnisse niemals veraltet sind.Unterstützt vollständige Maven-Koordinaten (groupId:artifactId:version:packaging:classifier)
Intelligente Erkennung von Vorabversionen mittels Regex-Musterabgleich
Gibt Versionen in der Reihenfolge der Bereitstellung zurück (die aktuellste zuerst), wie in
maven-metadata.xmlaufgezeichnetEnthält Fehlerbehandlung für ungültige Abhängigkeiten und API-Probleme
Gibt saubere, analysierbare Versions-Strings für gültige Abhängigkeiten zurück
Bietet boolesche Antworten für Überprüfungen der Versions-Existenz
Erkennung von Vorabversionen
Der Server erkennt Vorabversionen automatisch anhand der folgenden Muster:
Alpha:
-alpha,-aBeta:
-beta,-bMilestone:
-milestone,-m,-MRelease Candidate:
-rc,-crSnapshot:
-snapshot
Beispiele:
7.0.0-M6→ Vorabversion (Milestone)6.2.8→ Stabile Version3.1.0-SNAPSHOT→ Vorabversion (Snapshot)2.5.0-RC1→ Vorabversion (Release Candidate)
Hinweis zu Breaking Changes: Das Tool wurde von get_maven_last_updated_version in get_latest_release umbenannt und schließt nun standardmäßig Vorabversionen aus. Dies stellt sicher, dass Produktionsanwendungen standardmäßig stabile Versionen erhalten, während bei Bedarf weiterhin Zugriff auf Vorabversionen möglich ist.
Fehlerbehandlung
Der Server behandelt verschiedene Fehlerfälle:
Ungültiges Abhängigkeitsformat
Ungültiges Versionsformat
Nicht existierende Abhängigkeiten
Keine stabilen Releases gefunden (wenn Filterung aktiviert ist)
API-Verbindungsprobleme
Fehlerhafte Antworten
Fehlende Versionsinformationen
Entwicklung
Um den Server zu ändern oder zu erweitern:
Nehmen Sie Änderungen an
src/index.tsvorErstellen Sie das Projekt neu mit
npm run buildStarten Sie den MCP-Server neu, um die Änderungen anzuwenden
Lizenz
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
