VOOZH about

URL: https://glama.ai/mcp/servers/Bigsy/maven-mcp-server?locale=de-DE

⇱ maven-mcp-server by Bigsy | Glama


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-deps

Oder führen Sie ihn direkt mit npx aus:

npx mcp-maven-deps

Installation ü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 claude

Related 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:

  1. Klonen Sie dieses Repository

  2. Installieren Sie die Abhängigkeiten: npm install

  3. Erstellen 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:

  1. stdio (Standard) - Standard-Eingabe/Ausgabe-Kommunikation

  2. 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=3000

Bei 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.xml direkt 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.xml aufgezeichnet

  • Enthä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, -a

  • Beta: -beta, -b

  • Milestone: -milestone, -m, -M

  • Release Candidate: -rc, -cr

  • Snapshot: -snapshot

Beispiele:

  • 7.0.0-M6 → Vorabversion (Milestone)

  • 6.2.8 → Stabile Version

  • 3.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:

  1. Nehmen Sie Änderungen an src/index.ts vor

  2. Erstellen Sie das Projekt neu mit npm run build

  3. Starten Sie den MCP-Server neu, um die Änderungen anzuwenden

Lizenz

MIT

A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

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