Maven Tools

Acesse inteligência em tempo real do Maven Central para obter informações rápidas e precisas sobre dependências.

Documentação

Servidor MCP Maven Tools

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

O Servidor MCP Maven Tools oferece a clientes compatíveis com MCP uma forma prática de inspecionar dependências JVM usando dados ao vivo do Maven Central.

Ele foi criado para desenvolvedores e agentes que precisam de mais do que uma simples consulta de versão: filtragem de estabilidade, comparações de atualização, sinais de saúde de dependências, dados de licença, verificações de CVE e consultas opcionais de documentação por meio do Context7.

Demo

Para Que Serve

  • Verificações de versão: encontre versões estáveis e compare atualizações com contexto de major, minor e patch.
  • Auditorias de dependências: inspecione idade, ritmo de lançamentos, vulnerabilidades conhecidas e dados de licença.
  • Análise de POM: resolva versões declaradas de dependências por meio de parents e BOMs sem compilar o projeto.
  • Planejamento de atualizações: obtenha edições estruturadas que um agente pode validar e aplicar, com atualizações major, conflitos e overrides sinalizados para revisão.
  • Documentação: consulte documentações de bibliotecas por meio das ferramentas opcionais do Context7.

As ferramentas baseadas em coordenadas funcionam com projetos Maven, Gradle, SBT e Mill. As ferramentas de análise de POM e planejamento de atualizações aceitam arquivos pom.xml do Maven.

Início Rápido

Pré-requisito: Docker instalado e em execução. Nenhuma instalação local de Java é necessária. Para uma configuração sem Docker, consulte como compilar e executar o JAR.

Claude Desktop

Adicione a entrada maven-tools à configuração do seu Claude Desktop (consulte locais dos arquivos de configuração):

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

VS Code + GitHub Copilot

Adicione o seguinte servidor a .vscode/mcp.json no seu workspace:

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

Variantes de Imagem

TagTransporteContext7Melhor Para
:latestSTDIOSimUso padrão de MCP em desktop
:latest-noc7STDIONãoRedes onde o Context7 está bloqueado ou não é desejado
:latest-httpHTTPSimClientes HTTP streamable e fluxos de trabalho sidecar

CONTEXT7_API_KEY é opcional. A maioria das configurações pode começar sem ele. Se o seu ambiente exigir autenticação do Context7, ou se você quiser evitar limites anônimos, passe-o pelo Docker com -e CONTEXT7_API_KEY.

Para orientações mais completas de configuração, incluindo uso de JAR e contêiner nativo, Docker Compose e notas sobre ambiente, consulte docs/setup.md.

Ferramentas Disponíveis

A imagem padrão expõe 11 ferramentas MCP; -noc7 expõe as 9 ferramentas principais.

Ferramentas de inteligência Maven

FerramentaO Que Faz
get_latest_versionEncontra a versão mais recente com seleção ciente de estabilidade
check_version_existsVerifica uma versão específica e classifica sua estabilidade
check_multiple_dependenciesConsulta em lote de coordenadas de dependências
compare_dependency_versionsCompara versões atuais com atualizações disponíveis
analyze_dependency_ageClassifica a idade de uma dependência
analyze_release_patternsAnalisa ritmo de lançamentos e sinais de manutenção
analyze_project_healthExecuta uma auditoria mais ampla de saúde de dependências
analyze_pom_dependenciesResolve versões declaradas de dependências, identifica sua origem e expõe conflitos de BOM
recommend_pom_upgradesProduz recomendações acionáveis de atualização de POM e sinaliza mudanças que precisam de revisão

Ferramentas de documentação Context7

FerramentaO Que Faz
resolve_library_idEncontra um identificador de biblioteca de documentação
query_docsBusca documentação pelo ID da biblioteca no Context7

Para parâmetros, exemplos e notas ferramenta por ferramenta, consulte docs/tools.md.

Análise de dependências ciente de POM

Ambas as ferramentas de POM usam o Apache Maven Model Builder para herança de parents, propriedades e gerenciamento de dependências, incluindo BOMs importados. Elas aceitam XML de POM bruto e um pacote opcional sideloadedPoms para parents não lançados ou módulos irmãos.

  • analyze_pom_dependencies retorna versões efetivas, classifica declarações como EXPLICIT, MANAGED ou EXPLICIT_OVERRIDE, e identifica BOMs gerenciadores e conflitos.
  • recommend_pom_upgrades retorna deterministicActions para edições mecânicas e needsAttention para atualizações major, conflitos de BOM e overrides explícitos. As ações identificam o campo de versão ou a propriedade a editar no POM de entrada.

As recomendações cobrem versões editáveis de parent/BOM, dependências explícitas, entradas raiz de gerenciamento de dependências e dependências diretas de build/plugin. Declarações sem um local de edição inequívoco no POM de entrada são ignoradas. O servidor retorna recomendações; o cliente ou agente valida e aplica.

A análise cobre dependências declaradas, não o grafo completo de dependências transitivas. A ativação de perfis é limitada a perfis ativos por padrão. Consulte detalhes e limites da análise de POM.

Exemplo

Um prompt comum no Copilot ou Claude é:

Verifique todas as versões mais recentes das dependências no meu pom.xml e aponte qualquer coisa arriscada.

O cliente pode combinar os resultados das ferramentas para relatar:

  • versão atual vs versão mais recente
  • se a atualização é major, minor ou patch
  • se o lançamento mais recente é estável
  • se a dependência parece recente, envelhecendo ou desatualizada
  • se há CVEs conhecidos ou preocupações de licença que valem atenção

Para perguntas mais amplas, como "qual biblioteca devo escolher?", combine metadados do Maven com documentação do Context7 e busca web no lado do cliente para contexto do ecossistema.

Consulte mais exemplos de prompts ou a habilidade de agente maven-tools para orientação sobre como escolher e combinar ferramentas.

Dogfooding

Este repositório usa suas próprias ferramentas em um fluxo de trabalho semanal de atualização de dependências. Um agente Python envia o POM para recommend_pom_upgrades, valida e aplica ações minor/patch, e abre um PR para revisão. Seu editor de XML verifica versões atuais e preserva a formatação. Revisões manuais de atualizações major usam o SDK do GitHub Copilot; atualizações rotineiras não exigem um LLM.

Consulte o guia de dogfooding para o agente, o fluxo de trabalho do GitHub Actions, credenciais e acionamentos manuais.

FAQ

  • Isso substitui o Renovate ou Dependabot? O servidor fornece análise de dependências e recomendações de atualização. Edições de arquivos, testes, agendamento e criação de PRs exigem um agente ou fluxo de trabalho separado. O agente incluído demonstra isso para atualizações de POM do Maven.
  • Funciona offline? Não totalmente. Consultas de metadados não armazenados em cache precisam de acesso ao Maven Central ou ao seu repositório configurado. Verificações de vulnerabilidades e documentação do Context7 também usam serviços externos.
  • Ele analisa arquivos de build Gradle, SBT ou Mill? Não. Use as coordenadas Maven das dependências deles com as ferramentas baseadas em coordenadas; a análise de arquivos completos aceita XML de POM do Maven.

Para mais algumas notas de uso, consulte a seção FAQ em docs/examples.md.

Agradecimentos

O resolvedor de POM efetivo sob com.arvindand.mcp.maven.pom segue o formato de resolução de maxxq-org/maxxq-maven (MIT, Guy Chauliac), aqui limitado à resolução de dependências declaradas. Consulte NOTICE.

Mais Documentação

  • docs/setup.md - instalação, configuração de clientes, variantes de imagem, opções de compilação a partir do código-fonte
  • docs/tools.md - catálogo completo de ferramentas, parâmetros e comportamento de respostas
  • docs/examples.md - prompts práticos, casos de uso avançados, comandos reutilizáveis e notas de FAQ
  • docs/dogfooding.md - fluxo de trabalho semanal de auto-atualização e integração de agentes
  • docs/troubleshooting.md - problemas comuns de ambiente e correções
  • docs/architecture.md - princípios de design, opções de transporte/tempo de execução e notas técnicas
  • CORPORATE-CERTIFICATES.md - suporte a certificados CA personalizados para redes restritas

Leitura Adicional

Contribuindo

Se você quiser compilar ou testar localmente, comece com docs/setup.md e os scripts auxiliares em build/.

O histórico do projeto e as notas de versão estão em CHANGELOG.md.

Licença

Este projeto é licenciado sob a Licença MIT. Consulte LICENSE.

Autor

Arvind Menon