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

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
| Etiqueta | Transporte | Context7 | Mejor para |
|---|---|---|---|
:latest | STDIO | Sí | Uso MCP de escritorio predeterminado |
:latest-noc7 | STDIO | No | Redes donde Context7 está bloqueado o no se desea |
:latest-http | HTTP | Sí | 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
| Herramienta | Qué hace |
|---|---|
get_latest_version | Encuentra la última versión con selección consciente de estabilidad |
check_version_exists | Verifica una versión específica y clasifica su estabilidad |
check_multiple_dependencies | Consulta masiva de coordenadas de dependencias |
compare_dependency_versions | Compara versiones actuales con actualizaciones disponibles |
analyze_dependency_age | Clasifica la antigüedad de una dependencia |
analyze_release_patterns | Examina la cadencia de lanzamientos y señales de mantenimiento |
analyze_project_health | Ejecuta una auditoría más amplia de salud de dependencias |
analyze_pom_dependencies | Resuelve versiones de dependencias declaradas, identifica su origen y muestra conflictos de BOM |
recommend_pom_upgrades | Produce recomendaciones accionables de actualización de POM y marca cambios que necesitan revisión |
Herramientas de documentación de Context7
| Herramienta | Qué hace |
|---|---|
resolve_library_id | Encuentra un identificador de librería de documentación |
query_docs | Obtiene 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_dependenciesdevuelve versiones efectivas, clasifica declaraciones comoEXPLICIT,MANAGEDoEXPLICIT_OVERRIDE, e identifica BOM de gestión y conflictos.recommend_pom_upgradesdevuelvedeterministicActionspara ediciones mecánicas yneedsAttentionpara 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.xmly 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 fuentedocs/tools.md- catálogo completo de herramientas, parámetros y comportamiento de respuestasdocs/examples.md- prompts prácticos, casos de uso avanzados, comandos reutilizables y notas de preguntas frecuentesdocs/dogfooding.md- flujo de trabajo semanal de autoactualización e integración de agentesdocs/troubleshooting.md- problemas comunes del entorno y solucionesdocs/architecture.md- principios de diseño, opciones de transporte/ejecución y notas técnicasCORPORATE-CERTIFICATES.md- soporte de certificados CA personalizados para redes restringidas
Lecturas adicionales
- Cómo conecté Claude a Maven Central (y por qué tú también deberías)
- Delegación guiada: añadiendo documentación de Context7 a mi servidor MCP de Maven Tools
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
- GitHub: @arvindand