Maven Tools

Accede a información inteligente en tiempo real de Maven Central para obtener datos de dependencias rápidos y precisos.

Documentación

Servidor MCP de Maven Tools

Java Spring Boot Spring AI MCP Protocol License GitHub release (latest by date) Docker Docker Pulls GitHub stars

El servidor MCP de Maven Tools ofrece a los clientes compatibles con MCP una forma práctica de inspeccionar dependencias JVM utilizando datos en vivo de Maven Central.

Está diseñado para desarrolladores y agentes que necesitan más que una simple consulta de versiones: filtrado de estabilidad, comparaciones de actualizaciones, señales de salud de dependencias, datos de licencias, verificaciones de CVE y consultas opcionales de documentación a través de Context7.

Demo

Para qué sirve

  • Verificación de versiones: encuentra versiones estables y compara actualizaciones con contexto de versión mayor, menor y de parche.
  • Auditorías de dependencias: inspecciona antigüedad, cadencia de lanzamientos, vulnerabilidades conocidas y datos de licencias.
  • Análisis de POM: resuelve las versiones de dependencias declaradas a través de padres y BOM sin compilar el proyecto.
  • Planificación de actualizaciones: obtén ediciones estructuradas que un agente pueda validar y aplicar, con actualizaciones mayores, conflictos y anulaciones marcadas para revisión.
  • Documentación: consulta documentación de librerías mediante las herramientas opcionales de Context7.

Las herramientas basadas en coordenadas funcionan con proyectos Maven, Gradle, SBT y Mill. Las herramientas de análisis de POM y planificación de actualizaciones aceptan archivos pom.xml de Maven.

Inicio rápido

Requisito previo: Docker instalado y en ejecución. No se requiere una instalación local de Java. Para una configuración sin Docker, consulta cómo compilar y ejecutar el JAR.

Claude Desktop

Añade la entrada maven-tools a tu configuración de Claude Desktop (consulta ubicaciones de archivos de configuración):

{
  "mcpServers": {
    "maven-tools": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}

VS Code + GitHub Copilot

Añade el siguiente servidor a .vscode/mcp.json en tu espacio de trabajo:

{
  "servers": {
    "maven-tools": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}

Variantes de imagen

EtiquetaTransporteContext7Mejor para
:latestSTDIOSíUso MCP de escritorio predeterminado
:latest-noc7STDIONoRedes donde Context7 está bloqueado o no se desea
:latest-httpHTTPSíClientes HTTP transmisibles y flujos de trabajo sidecar

CONTEXT7_API_KEY es opcional. La mayoría de las configuraciones pueden comenzar sin él. Si tu entorno requiere autenticación de Context7, o deseas evitar límites anónimos, pásalo a través de Docker con -e CONTEXT7_API_KEY.

Para una guía de configuración más completa, incluido el uso de JAR y contenedores nativos, Docker Compose y notas sobre el entorno, consulta docs/setup.md.

Herramientas disponibles

La imagen predeterminada expone 11 herramientas MCP; -noc7 expone las 9 herramientas principales.

Herramientas de inteligencia de Maven

HerramientaQué hace
get_latest_versionEncuentra la última versión con selección consciente de estabilidad
check_version_existsVerifica una versión específica y clasifica su estabilidad
check_multiple_dependenciesConsulta masiva de coordenadas de dependencias
compare_dependency_versionsCompara versiones actuales con actualizaciones disponibles
analyze_dependency_ageClasifica la antigüedad de una dependencia
analyze_release_patternsExamina la cadencia de lanzamientos y señales de mantenimiento
analyze_project_healthEjecuta una auditoría más amplia de salud de dependencias
analyze_pom_dependenciesResuelve versiones de dependencias declaradas, identifica su origen y muestra conflictos de BOM
recommend_pom_upgradesProduce recomendaciones accionables de actualización de POM y marca cambios que necesitan revisión

Herramientas de documentación de Context7

HerramientaQué hace
resolve_library_idEncuentra un identificador de librería de documentación
query_docsObtiene documentación por ID de librería de Context7

Para parámetros, ejemplos y notas herramienta por herramienta, consulta docs/tools.md.

Análisis de dependencias consciente de POM

Ambas herramientas de POM utilizan Apache Maven Model Builder para herencia de padres, propiedades y gestión de dependencias, incluidos BOM importados. Aceptan XML de POM sin procesar y un paquete sideloadedPoms opcional para padres no publicados o módulos hermanos.

  • analyze_pom_dependencies devuelve versiones efectivas, clasifica declaraciones como EXPLICIT, MANAGED o EXPLICIT_OVERRIDE, e identifica BOM de gestión y conflictos.
  • recommend_pom_upgrades devuelve deterministicActions para ediciones mecánicas y needsAttention para actualizaciones mayores, conflictos de BOM y anulaciones explícitas. Las acciones identifican el campo de versión o la propiedad a editar en el POM de entrada.

Las recomendaciones cubren versiones editables de padres/BOM, dependencias explícitas, entradas raíz de gestión de dependencias y dependencias directas de compilación/plugins. Las declaraciones sin una ubicación de edición inequívoca en el POM de entrada se omiten. El servidor devuelve recomendaciones; el cliente o agente las valida y aplica.

El análisis cubre dependencias declaradas, no el grafo completo de dependencias transitivas. La activación de perfiles se limita a perfiles activos por defecto. Consulta detalles y límites del análisis de POM.

Ejemplo

Un prompt común en Copilot o Claude es:

Verifica todas las últimas versiones de las dependencias en mi pom.xml y señala cualquier cosa riesgosa.

El cliente puede combinar los resultados de las herramientas para informar:

  • versión actual vs última versión
  • si la actualización es mayor, menor o de parche
  • si la versión más reciente es estable
  • si la dependencia parece reciente, envejecida o desactualizada
  • si hay CVEs conocidos o problemas de licencia que valga la pena notar

Para preguntas más amplias como "¿qué librería debería elegir?", combina metadatos de Maven con documentación de Context7 y búsqueda web del lado del cliente para contexto del ecosistema.

Consulta más ejemplos de prompts o la habilidad de agente maven-tools para obtener orientación sobre cómo elegir y combinar herramientas.

Dogfooding

Este repositorio utiliza sus propias herramientas en un flujo de trabajo semanal de actualización de dependencias. Un agente de Python envía el POM a recommend_pom_upgrades, valida y aplica acciones de parche/menor, y abre un PR para revisión. Su editor XML verifica versiones actuales y preserva el formato. Las revisiones manuales de actualizaciones mayores utilizan el SDK de GitHub Copilot; las actualizaciones rutinarias no requieren un LLM.

Consulta la guía de dogfooding para el agente, el flujo de trabajo de GitHub Actions, credenciales y disparadores manuales.

Preguntas frecuentes

  • ¿Esto reemplaza a Renovate o Dependabot? El servidor proporciona análisis de dependencias y recomendaciones de actualización. Las ediciones de archivos, pruebas, programación y creación de PR requieren un agente o flujo de trabajo separado. El agente incluido demuestra esto para actualizaciones de POM de Maven.
  • ¿Funciona sin conexión? No completamente. Las consultas de metadatos no almacenados en caché necesitan acceso a Maven Central o a tu repositorio configurado. Las verificaciones de vulnerabilidades y la documentación de Context7 también utilizan servicios externos.
  • ¿Analiza archivos de compilación de Gradle, SBT o Mill? No. Usa las coordenadas Maven de sus dependencias con las herramientas basadas en coordenadas; el análisis de archivos completos acepta XML de POM de Maven.

Para algunas notas de uso adicionales, consulta la sección de preguntas frecuentes en docs/examples.md.

Agradecimientos

El resolvedor de POM efectivo bajo com.arvindand.mcp.maven.pom sigue la forma de resolución de maxxq-org/maxxq-maven (MIT, Guy Chauliac), limitado aquí a la resolución de dependencias declaradas. Consulta NOTICE.

Más documentación

  • docs/setup.md - instalación, configuración de clientes, variantes de imagen, opciones de compilación desde el código fuente
  • docs/tools.md - catálogo completo de herramientas, parámetros y comportamiento de respuestas
  • docs/examples.md - prompts prácticos, casos de uso avanzados, comandos reutilizables y notas de preguntas frecuentes
  • docs/dogfooding.md - flujo de trabajo semanal de autoactualización e integración de agentes
  • docs/troubleshooting.md - problemas comunes del entorno y soluciones
  • docs/architecture.md - principios de diseño, opciones de transporte/ejecución y notas técnicas
  • CORPORATE-CERTIFICATES.md - soporte de certificados CA personalizados para redes restringidas

Lecturas adicionales

Contribuciones

Si deseas compilar o probar localmente, comienza con docs/setup.md y los scripts auxiliares en build/.

El historial del proyecto y las notas de versión se encuentran en CHANGELOG.md.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta LICENSE.

Autor

Arvind Menon