Maven Tools Mcp

io.github.arvindandPublished by GitHub account arvindandv3.2.4Updated Nov 1, 2026

JVM dependency intelligence for AI assistants via Maven Central

Overview

AI-generated overview

MCP server that gives assistants live Maven Central data to check JVM dependency versions, health, licenses, CVEs and POM upgrades.

What you can do
  • Look up latest or specific versions of Maven coordinates, classify stability, and bulk-check multiple dependencies
  • Compare current versions against available upgrades with major, minor and patch context
  • Audit dependencies for age, release cadence, maintenance signals, known vulnerabilities and license data
  • Resolve declared versions in a Maven pom.xml through parents, properties and imported BOMs, flagging conflicts
  • Produce structured POM upgrade recommendations, separating mechanical edits from changes needing review
  • Look up library documentation through optional Context7 tools
When to use it
Useful when an assistant works on JVM projects and you want it to check dependency versions, plan upgrades, or audit a Maven POM for staleness, CVEs and license concerns without building the project.
Requirements
Runs locally over stdio; the documented setup needs Docker installed and running (no local Java required), or a JAR build as an alternative. Network access to Maven Central or your configured repository is needed for uncached metadata, and vulnerability checks and Context7 docs use external services. CONTEXT7_API_KEY is optional.
Before you install
Queries go to Maven Central, vulnerability services and Context7, so dependency coordinates leave your machine; the noc7 image variant avoids Context7. The server only returns recommendations and does not edit files, but applying them is up to the client or agent. Analysis covers declared dependencies, not the full transitive graph, and only active-by-default profiles.

Installation

In SourceWeft

  1. Open Maven Tools Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Maven Tools MCP Server

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

Maven Tools MCP Server gives MCP-capable clients a practical way to inspect JVM dependencies using live Maven Central data.

It is built for developers and agents that need more than a plain version lookup: stability filtering, upgrade comparisons, dependency health signals, license data, CVE checks, and optional documentation lookups through Context7.

[Demo]

What It Helps With

  • Version checks: find stable releases and compare upgrades with major/minor/patch context.
  • Dependency audits: inspect age, release cadence, known vulnerabilities, and license data.
  • POM analysis: resolve declared dependency versions through parents and BOMs without building the project.
  • Upgrade planning: get structured edits an agent can validate and apply, with major upgrades, conflicts, and overrides flagged for review.
  • Documentation: look up library docs through the optional Context7 tools.

Coordinate-based tools work with Maven, Gradle, SBT, and Mill projects. The POM analysis and upgrade-planning tools take Maven pom.xml files.

Quick Start

Prerequisite: Docker installed and running. No local Java installation is required. For a Docker-free setup, see building and running the JAR.

Claude Desktop

Add the maven-tools entry to your Claude Desktop config (see config file locations):

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

VS Code + GitHub Copilot

Add the following server to .vscode/mcp.json in your workspace:

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

Image Variants

TagTransportContext7Best For
:latestSTDIOYesDefault desktop MCP usage
:latest-noc7STDIONoNetworks where Context7 is blocked or not wanted
:latest-httpHTTPYesStreamable HTTP clients and sidecar workflows

The current release is v3.2.4. For version-pinned setups, use :3.2.4, :3.2.4-noc7 or :3.2.4-http; each supports Linux AMD64 and ARM64.

CONTEXT7_API_KEY is optional. Most setups can start without it. If your environment requires Context7 auth, or you want to avoid anonymous limits, pass it through Docker with -e CONTEXT7_API_KEY.

For fuller setup guidance, including JAR and native-container usage, Docker Compose, and environment notes, see docs/setup.md.

Available Tools

The default image exposes 11 MCP tools; -noc7 exposes the 9 core tools.

Maven intelligence tools

ToolWhat It Does
get_latest_versionFind the latest version with stability-aware selection
check_version_existsVerify a specific version and classify its stability
check_multiple_dependenciesBulk lookup for dependency coordinates
compare_dependency_versionsCompare current versions against available upgrades
analyze_dependency_ageClassify how old a dependency is
analyze_release_patternsLook at release cadence and maintenance signals
analyze_project_healthRun a broader dependency health audit
analyze_pom_dependenciesResolve declared dependency versions, identify their source, and surface BOM conflicts
recommend_pom_upgradesProduce actionable POM upgrade recommendations and flag changes needing review

Context7 documentation tools

ToolWhat It Does
resolve_library_idFind a documentation library identifier
query_docsFetch docs by Context7 library ID

For parameters, examples, and tool-by-tool notes, see docs/tools.md.

POM-aware dependency analysis

Both POM tools use Apache Maven Model Builder for parent inheritance, properties, and dependency management, including imported BOMs. They accept raw POM XML and an optional sideloadedPoms bundle for unreleased parents or sibling modules.

  • analyze_pom_dependencies returns effective versions, classifies declarations as EXPLICIT, MANAGED, or EXPLICIT_OVERRIDE, and identifies managing BOMs and conflicts.
  • recommend_pom_upgrades returns deterministicActions for mechanical edits and needsAttention for major upgrades, BOM conflicts, and explicit overrides. Actions identify the version field or property to edit in the input POM.

Recommendations cover editable parent/BOM versions, explicit dependencies, root dependency-management entries, and direct build/plugin dependencies. Declarations without an unambiguous edit location in the input POM are skipped. The server returns recommendations; the client or agent validates and applies them.

Analysis covers declared dependencies, not the full transitive dependency graph. Profile activation is limited to active-by-default profiles. See POM analysis details and limits.

Example

A common prompt in Copilot or Claude is:

Check all latest versions of the dependencies in my pom.xml and call out anything risky.

The client can combine tool results to report:

  • current version vs latest version
  • whether the upgrade is major, minor, or patch
  • whether the newest release is stable
  • whether the dependency looks fresh, aging, or stale
  • whether there are known CVEs or license concerns worth noticing

For broader questions like "which library should I choose?", combine Maven metadata with Context7 documentation and client-side web search for ecosystem context.

See more prompt examples or the maven-tools agent skill for guidance on choosing and combining tools.

Dogfooding

This repository uses its own tools in a weekly dependency-update workflow. A Python agent sends the POM to recommend_pom_upgrades, validates and applies minor/patch actions, and opens a PR for review. Its XML editor checks current versions and preserves formatting. Manual major-upgrade reviews use the GitHub Copilot SDK; routine updates do not require an LLM.

See the dogfooding guide for the agent, GitHub Actions workflow, credentials, and manual triggers.

FAQ

  • Does this replace Renovate or Dependabot? The server provides dependency analysis and upgrade recommendations. File edits, testing, scheduling, and PR creation require a separate agent or workflow. The included agent demonstrates this for Maven POM updates.
  • Does it work offline? Not fully. Uncached metadata queries need access to Maven Central or your configured repository. Vulnerability checks and Context7 documentation also use external services.
  • Does it parse Gradle, SBT, or Mill build files? No. Use their dependencies' Maven coordinates with the coordinate-based tools; whole-file analysis accepts Maven POM XML.

For a few more usage notes, see the FAQ section in docs/examples.md.

Acknowledgements

The effective POM resolver under com.arvindand.mcp.maven.pom follows the resolution shape of maxxq-org/maxxq-maven (MIT, Guy Chauliac), scoped here to declared-dep resolution. See NOTICE.

More Docs

Further Reading

Contributing

If you want to build or test locally, start with docs/setup.md and the helper scripts in build/.

Check out v3.2.4 to build this release from source; main may contain unreleased changes.

Project history and release notes live in CHANGELOG.md.

License

This project is licensed under the MIT License. See LICENSE.

Author

Arvind Menon

Source: README.md at commit 54e55c0

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

3
  1. v3.2.4LatestNov 1, 2026
  2. v3.2.3Oct 4, 2026
  3. v3.2.2Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts