Skip to main content
Glama
Bigsy
by Bigsy

Servidor MCP de dependencias de Maven

Un servidor MCP (Model Context Protocol) que proporciona herramientas para verificar las versiones de dependencias de Maven. Este servidor permite a los LLM verificar dependencias de Maven y recuperar sus versiones más recientes desde el Repositorio Central de Maven.

Instalación

Puede instalar este servidor MCP globalmente usando npm:

npm install -g mcp-maven-deps

O ejecutarlo directamente usando npx:

npx mcp-maven-deps

Instalación a través de Smithery

Para instalar el servidor de dependencias de Maven para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install maven-deps-server --client claude

Related MCP server: Maven Decoder MCP Server

Características

  • Obtenga la última versión estable de cualquier dependencia de Maven (excluye versiones preliminares por defecto)

  • Verifique si existe una dependencia de Maven

  • Compruebe si existe una versión específica de una dependencia

  • Liste las versiones de dependencias de Maven con filtrado opcional de versiones preliminares

  • Detección inteligente de versiones preliminares (alpha, beta, milestone, RC, snapshot)

  • Soporte para coordenadas completas de Maven, incluyendo empaquetado y clasificador

  • Acceso en tiempo real a los datos del Repositorio Central de Maven

  • Compatible con múltiples formatos de herramientas de construcción (Maven, Gradle, SBT, Mill)

Para desarrollo:

  1. Clone este repositorio

  2. Instale las dependencias: npm install

  3. Construya el servidor: npm run build

Configuración

Añada el servidor a su archivo de configuración de ajustes de MCP:

{
  "mcpServers": {
    "maven-deps-server": {
      "command": "npx",
      "args": ["mcp-maven-deps"]
    }
  }
}

Si se instaló globalmente, también puede usar:

{
  "mcpServers": {
    "maven-deps-server": {
      "command": "mcp-maven-deps"
    }
  }
}

Opciones de transporte

El servidor admite dos modos de transporte:

  1. stdio (predeterminado) - Comunicación de entrada/salida estándar

  2. SSE (Server-Sent Events) - Comunicación basada en HTTP con acceso remoto opcional

Para usar el transporte SSE, puede especificar tanto el host como el puerto:

# 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

Al usar el transporte SSE en sus ajustes de MCP:

{
  "mcpServers": {
    "maven-deps-server": {
      "command": "npx",
      "args": ["mcp-maven-deps", "--port=3000"]
    }
  }
}

Para acceso remoto, use la IP o el nombre de host del servidor en la configuración de su cliente:

{
  "mcpServers": {
    "maven-deps-server": {
      "command": "npx",
      "args": ["mcp-maven-deps", "--host=your-server-ip", "--port=3000"]
    }
  }
}

Herramientas disponibles

get_latest_release

Recupera la última versión estable de una dependencia de Maven. Por defecto, esto excluye versiones preliminares (alpha, beta, milestone, RC, snapshot) para asegurar que obtenga versiones listas para producción.

Esquema de entrada:

{
  "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"]
}

Ejemplo de uso:

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

Comprueba si existe una versión específica de una dependencia de Maven. La versión puede proporcionarse en la cadena de dependencia o como un parámetro separado.

Esquema de entrada:

{
  "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"]
}

Ejemplo de uso:

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

Enumera las versiones de dependencias de Maven en orden de despliegue, de la más reciente a la más antigua, con filtrado opcional de versiones preliminares y control de profundidad. La salida es una versión por línea.

Esquema de entrada:

{
  "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"]
}

Ejemplo de uso:

// 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"

Detalles de implementación

  • Consulta maven-metadata.xml en Maven Central directamente (https://repo1.maven.org/maven2/<g>/<a>/maven-metadata.xml), el archivo autoritativo que Maven y Gradle consultan durante la resolución de dependencias. Se actualiza segundos después de un despliegue, por lo que los resultados nunca están obsoletos.

  • Soporta coordenadas completas de Maven (groupId:artifactId:version:packaging:classifier)

  • Detección inteligente de versiones preliminares mediante coincidencia de patrones regex

  • Devuelve las versiones en orden de despliegue (la más reciente primero) tal como se registra en maven-metadata.xml

  • Incluye manejo de errores para dependencias no válidas y problemas de API

  • Devuelve cadenas de versión limpias y analizables para dependencias válidas

  • Proporciona respuestas booleanas para comprobaciones de existencia de versiones

Detección de versiones preliminares

El servidor detecta automáticamente las versiones preliminares utilizando los siguientes patrones:

  • Alpha: -alpha, -a

  • Beta: -beta, -b

  • Milestone: -milestone, -m, -M

  • Release Candidate: -rc, -cr

  • Snapshot: -snapshot

Ejemplos:

  • 7.0.0-M6 → Versión preliminar (milestone)

  • 6.2.8 → Versión estable

  • 3.1.0-SNAPSHOT → Versión preliminar (snapshot)

  • 2.5.0-RC1 → Versión preliminar (release candidate)

Nota sobre cambios importantes: La herramienta ha sido renombrada de get_maven_last_updated_version a get_latest_release y ahora excluye versiones preliminares por defecto. Esto asegura que las aplicaciones de producción obtengan versiones estables por defecto, permitiendo al mismo tiempo el acceso a versiones preliminares cuando sea necesario.

Manejo de errores

El servidor maneja varios casos de error:

  • Formato de dependencia no válido

  • Formato de versión no válido

  • Dependencias inexistentes

  • No se encontraron versiones estables (cuando el filtrado está habilitado)

  • Problemas de conexión a la API

  • Respuestas mal formadas

  • Información de versión faltante

Desarrollo

Para modificar o extender el servidor:

  1. Realice cambios en src/index.ts

  2. Reconstruya usando npm run build

  3. Reinicie el servidor MCP para aplicar los cambios

Licencia

MIT

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

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

  • F
    license
    A
    quality
    D
    maintenance
    An 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    A comprehensive MCP server for analyzing Maven jar files in the local repository, enabling AI agents to understand dependencies, analyze bytecode, and extract source code.
    22
    19
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that scans Maven project dependencies, decompiles Java class files, and provides class structure analysis to LLMs for accurate code generation.
    6
    Apache 2.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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