Maven Tools MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Maven Tools MCP Serverwhat's the latest stable version of Hibernate ORM?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Use Maven Tools MCP when you want to:
check the latest stable version of a library without leaving your editor
compare your current dependency set against what is available now
plan upgrades with major/minor/patch context
audit a project for stale, risky, or weakly maintained dependencies
give an AI assistant structured, current dependency metadata instead of making it scrape docs or web pages
resolve a whole
pom.xmlinto per-dependency effective versions — walking the parent chain, applying<dependencyManagement>, importing BOMs — without actually building the project (useful in CI pre-checks, dependency-update PRs, multi-module monorepos, and any project where bumping a library means bumping a BOM instead)get a deterministic, applyable upgrade plan that a non-LLM agent can execute in one round-trip, with majors / conflicts / explicit overrides separated out for human or LLM judgement
This project works with any JVM build tool that relies on Maven Central. The inputs are standard Maven coordinates, so the same data applies to Maven, Gradle, SBT, and Mill projects.
Related MCP server: Maven Version Server
Why It Matters
This project is most useful when a plain package search is not enough.
it gives MCP clients structured dependency data instead of making them scrape web pages
it keeps upgrade checks grounded in current Maven Central metadata
it adds stability, age, CVE, and license signals in one place
it works well alongside agent workflows that need dependency facts before they edit code or open PRs
Emerging Use Case
One of the more interesting uses of this project is agent-driven dependency maintenance.
The core server does not open PRs by itself, but it gives an agent enough current dependency context to make safer update decisions than a blind version-bump workflow. The recommend_pom_upgrades tool was built for exactly that shape: a non-LLM agent hands it a raw pom.xml, applies every deterministic_actions[] entry at its identified version field or property, and surfaces needs_attention[] for a human or LLM to review separately. No per-coordinate fan-out and no recommendations the agent can't actually apply — transitively-managed BOMs and managed declarations without a root-owned edit site are filtered out.
This repository's own weekly self-update flow is the clearest example: GitHub Actions orchestrates the run, one MCP call returns the action list, the agent applies the diffs, and the result is a reviewable PR. Major-upgrade review is the only path that asks Copilot for judgement and migration framing.
That is also why the dogfooding setup matters beyond this repository. It demonstrates, in a small and concrete way, the same shape that broader GitHub Agentic Workflows can build on: a workflow orchestrator, structured tool output for deterministic edits, an AI worker only where judgement is useful, and a human-reviewed change at the end.
Quick Start
Claude Desktop
Add this to your Claude Desktop config:
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}VS Code + GitHub Copilot
Create .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 |
| STDIO | Yes | Default desktop MCP usage |
| STDIO | No | Networks where Context7 is blocked or not wanted |
| 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/native usage, Docker Compose, and environment notes, see docs/setup.md.
Core Tools
The server exposes 11 MCP tools.
Maven intelligence tools
Tool | What It Does |
| Find the latest version with stability-aware selection |
| Verify a specific version and classify its stability |
| Bulk lookup for dependency coordinates |
| Compare current versions against available upgrades |
| Classify how old a dependency is |
| Look at release cadence and maintenance signals |
| Run a broader dependency health audit |
| POM-aware: resolve effective versions from raw pom.xml, classify as |
| POM-aware: returns deterministic explicit, BOM, and root dependency-management edits for an agent to apply, plus a |
Context7 documentation tools
Tool | What It Does |
| Find a documentation library identifier |
| Fetch docs by Context7 library ID |
For parameters, examples, and tool-by-tool notes, see docs/tools.md.
POM-aware dependency analysis
Two tools take a whole POM (raw XML) rather than a single coordinate. Both walk the parent chain, apply <dependencyManagement>, resolve <scope>import</scope> BOMs against Maven Central, scope ${project.version} per-POM so an imported BOM's placeholders resolve to that BOM's version (not the importer's), and accept an optional sideloadedPoms bundle for monorepo siblings / unreleased parents.
analyze_pom_dependencies— returns each declared dep with effective version + classification (EXPLICIT/MANAGED/EXPLICIT_OVERRIDE) + managing BOM coordinate + any multi-BOMconflicts. Use when you want raw analysis ("what does my POM actually resolve to?").recommend_pom_upgrades— builds on the analyzer and returns two lists:deterministic_actions(mechanical edits —explicit_bumpfor declared deps,bom_bumpfor user-controllable BOMs,managed_decl_bumpfor direct root dependency-management entries, andplugin_dep_bumpfor direct build/plugin dependencies) andneeds_attention(majors, multi-BOM conflicts, and explicit overrides). Owned-declaration actions include edit location metadata; plugin actions also identify the owner plugin so a client can edit the correct block directly.
Upgrade recommendations are scoped to knobs the caller can actually edit in the input POM: the direct <parent>, root-level BOM imports, explicit dependencies, and direct non-import dependency-management declarations with a literal version or an exact root-owned property. Transitively-imported BOMs, inherited properties, and compound property expressions are silently skipped because they lack an unambiguous edit site in the input file.
Example
A common prompt in Copilot or Claude is:
Check all latest versions of the dependencies in my
pom.xmland call out anything risky.
A good response from this server gives the client structured information such as:
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
That keeps the workflow grounded in live repository data instead of guesswork.
For broader questions like "which library should I choose?", the useful pattern is: let the model use Maven Tools MCP for current coordinates, version/stability signals, and upgrade context, then combine that with Context7 docs (available through the default image's exposed tools) and, when needed, client-side web search for ecosystem context that this server does not provide on its own.
For more prompt examples, see docs/examples.md. There is also a maven-tools skill in the separate agent-skills repository that gives agents general guidance for using Maven Tools MCP effectively across varied use cases, while the local prompt examples and dogfooding agent define more specific paths.
Dogfooding
This repository runs a weekly self-update workflow that uses a local Python agent against its own pom.xml and opens a reviewable PR for safe dependency updates. The agent hands the raw POM to recommend_pom_upgrades and applies the returned deterministic_actions[] directly — no per-coordinate fan-out, no XML parsing in Python. Manual major-review runs are the only mode that routes through the GitHub Copilot SDK.
That flow is documented in docs/dogfooding.md, including:
the GitHub Actions workflow
the agent subproject under
agents/copilot-maven-tools-agent/direct MCP minor/patch mode vs Copilot-backed major-review mode
required
COPILOT_BOT_PATsetup for PR creation and major-review runsmanual trigger instructions
FAQ
Does this replace Renovate or Dependabot? For Maven Central-based JVM projects, it can. Maven Tools MCP is the dependency intelligence layer, and the replacement behavior comes from the agent workflow built on top of it. In this repository, the weekly self-update workflow already replaces routine blind update PRs for safe minor and patch upgrades through direct MCP calls, while leaving major upgrades for Copilot-assisted manual review.
Does it work offline? Not fully. Uncached queries need network access to Maven Central.
Does it work for Gradle or other JVM build tools? Yes, as long as the project depends on libraries that are resolved through Maven Central coordinates.
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
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
Contributing
If you want to build or test locally, start with docs/setup.md and the helper scripts in build/.
Project history and release notes live in CHANGELOG.md.
License
This project is licensed under the MIT License. See LICENSE.
Author
Arvind Menon
GitHub: @arvindand
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP (Model Context Protocol) server that provides tools for checking Maven dependency versions. This server enables LLMs to verify Maven dependencies and retrieve their latest versions from Maven Central Repository.334133MIT
- FlicenseAqualityDmaintenanceAn MCP server for managing Maven dependency versions using direct metadata parsing from Maven Central. It provides tools to fetch latest stable versions, list version history, and compare versions with upgrade recommendations.4
- AlicenseAqualityCmaintenanceAn MCP server that queries 19 package registries (npm, PyPI, crates.io, etc.) to retrieve the latest version of packages and their metadata.211MIT
- Alicense-qualityDmaintenanceEnables searching Maven Central artifacts, retrieving versions, and analyzing dependencies via natural language.MIT
Related MCP Connectors
Maven Central MCP — Java/JVM artifact registry
Scan any public GitHub MCP-server repo for security issues. 37 MCP-specific L1 rules, 8 languages.
Query OSV.dev for package vulnerabilities and batch-audit dependency lists via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arvindand/maven-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server