Analyze JVM Dependencies and Versions
MCP server for JVM dependency intelligence: live Maven Central version/CVE/license checks and POM analysis with structured upgrade recommendations.
3.2.2Add to Favorites
Why it matters
Gain instant, accurate dependency information for all JVM build tools. This asset integrates with Maven Central to provide deep insights into dependency versions, age, and release patterns, enabling informed update decisions.
Outcomes
What it gets done
Retrieve the latest stable or pre-release versions for any JVM dependency.
Analyze the age and stability of project dependencies to identify risks.
Compare current dependency versions against the latest available releases.
Access documentation for libraries directly through Context7 integration.
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
Get the latest version by type with stability settings
Check if a specific version exists with type information
Check multiple dependencies with filtering and batch operations
Compare current and latest versions with update recommendations
Classify dependencies as fresh/current/stale/outdated
Analyze support activity and forecast releases
Extended version timeline with temporal analysis
Comprehensive health analysis for multiple dependencies
Overview
Maven Tools MCP Server
Maven Tools MCP Server gives MCP clients dependency intelligence against live Maven Central data: stability-aware version lookups, upgrade comparisons, age/CVE/license checks, and POM analysis that resolves versions through parent POMs and BOMs. Its recommend_pom_upgrades tool splits output into safe mechanical edits and items needing human review. Use it when an agent needs real Maven Central data to check or upgrade dependencies, or structured POM upgrade recommendations to review and apply; it doesn't parse Gradle/SBT/Mill build files directly, doesn't apply edits or open PRs itself, and needs network access for uncached lookups.
What it does
Maven Tools MCP Server gives MCP-capable clients (Claude Desktop, VS Code/Copilot, and others) a way to inspect JVM dependencies against live Maven Central data - not just a plain version lookup, but stability-aware version selection, upgrade comparisons, dependency age and release-cadence signals, license and CVE checks, and POM analysis that resolves declared dependency versions through parent POMs and imported BOMs without actually building the project.
When to use - and when NOT to
Use it when an agent needs to answer "is this dependency safe/current/well-maintained to upgrade" with real data rather than guessing, or when it needs structured, actionable upgrade recommendations for a Maven pom.xml that it (or you) can review and apply. Coordinate-based tools (version checks, comparisons, health audits) work for Maven, Gradle, SBT, and Mill projects by supplying the Maven-style group/artifact coordinates directly - but it does not parse Gradle, SBT, or Mill build files themselves, and the POM-analysis and upgrade-planning tools specifically require Maven pom.xml input. It is not a replacement for Renovate or Dependabot: it produces dependency analysis and upgrade recommendations, but applying file edits, running tests, scheduling, and opening PRs still needs a separate agent or workflow (the project's own weekly self-update dogfooding workflow demonstrates one such setup). It also isn't fully offline-capable - uncached metadata queries need access to Maven Central (or a configured repository), and vulnerability checks and the optional Context7 documentation lookups call external services.
Inputs and outputs
Input is Maven-style dependency coordinates for the simpler tools, or raw POM XML (plus an optional sideloadedPoms bundle for unreleased parent POMs or sibling modules) for the two POM-aware tools. Output ranges from a stability-classified latest version or an upgrade comparison, to a full POM analysis: analyze_pom_dependencies returns each dependency's effective version, whether it's EXPLICIT, MANAGED, or an EXPLICIT_OVERRIDE, and which BOM manages it (flagging conflicts); recommend_pom_upgrades splits its output into deterministicActions (safe, mechanical edits with the exact version field or property to change) and needsAttention (major upgrades, BOM conflicts, explicit overrides that need human review). Analysis covers declared dependencies, not the full transitive graph, and only profiles active by default.
Integrations
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
Runs via Docker with no local Java install required, in three image variants: :latest (STDIO, with Context7 docs enabled - the default), :latest-noc7 (STDIO, no Context7, for networks where it's blocked), and :latest-http (Streamable HTTP, for sidecar workflows). The default image exposes 11 tools (9 core Maven-intelligence tools plus 2 Context7 documentation tools); -noc7 drops to the 9 core tools. CONTEXT7_API_KEY is optional and only needed to avoid anonymous rate limits or where auth is required.
Who it's for
Java/JVM developers and coding agents that need to audit or upgrade project dependencies with real Maven Central data - freshness, stability, license, and CVE signals - and specifically teams wanting structured, machine-actionable POM upgrade recommendations rather than a plain "here's the latest version" answer. The project itself is released under the MIT license.
Source README
Maven Tools MCP Server
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.
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):
{
"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:
{
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
Image Variants
| Tag | Transport | Context7 | Best For |
|---|---|---|---|
:latest |
STDIO | Yes | Default desktop MCP usage |
:latest-noc7 |
STDIO | No | Networks where Context7 is blocked or not wanted |
:latest-http |
HTTP | Yes | Streamable HTTP clients and sidecar workflows |
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
| Tool | What It Does |
|---|---|
get_latest_version |
Find the latest version with stability-aware selection |
check_version_exists |
Verify a specific version and classify its stability |
check_multiple_dependencies |
Bulk lookup for dependency coordinates |
compare_dependency_versions |
Compare current versions against available upgrades |
analyze_dependency_age |
Classify how old a dependency is |
analyze_release_patterns |
Look at release cadence and maintenance signals |
analyze_project_health |
Run a broader dependency health audit |
analyze_pom_dependencies |
Resolve declared dependency versions, identify their source, and surface BOM conflicts |
recommend_pom_upgrades |
Produce actionable POM upgrade recommendations and flag changes needing review |
Context7 documentation tools
| Tool | What It Does |
|---|---|
resolve_library_id |
Find a documentation library identifier |
query_docs |
Fetch 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_dependenciesreturns effective versions, classifies declarations asEXPLICIT,MANAGED, orEXPLICIT_OVERRIDE, and identifies managing BOMs and conflicts.recommend_pom_upgradesreturnsdeterministicActionsfor mechanical edits andneedsAttentionfor 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.xmland 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.
More Docs
docs/setup.md- installation, client configuration, image variants, build-from-source optionsdocs/tools.md- full tool catalog, parameters, and response behaviordocs/examples.md- practical prompts, advanced use cases, reusable commands, and FAQ notesdocs/dogfooding.md- weekly self-update workflow and agent integrationdocs/troubleshooting.md- common environment issues and fixesdocs/architecture.md- design principles, transport/runtime options, and technical notesCORPORATE-CERTIFICATES.md- custom CA certificate support for locked-down networks
Further Reading
- How I Connected Claude to Maven Central (and Why You Should Too)
- Guided Delegation: Adding Context7 Documentation to My Maven Tools MCP Server
Author
Arvind Menon
- GitHub: @arvindand
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.