In a real project the version of a library is often not written next to the library — it comes from a parent POM, a dependencyManagement block, or an imported BOM. analyze_pom_dependencies walks all of that and tells you the version that actually applies and where it is set, which is exactly what you need before a dependency-update PR. recommend_pom_upgrades goes further and separates edits an agent can apply mechanically from the ones needing judgement, so a non-LLM workflow can act on the first list and route the second to a person.
A Spring Boot server that answers JVM dependency questions against Maven Central: latest stable versions, upgrade comparisons, age and release-cadence signals, and POM-level resolution that walks the parent chain and imported BOMs.
- get_latest_version and check_version_exists — the newest release with stability-aware selection, or a specific version verified and classified
- check_multiple_dependencies — a bulk lookup across a whole coordinate list
- compare_dependency_versions — what you have against what is available, with major, minor and patch context
- analyze_dependency_age and analyze_release_patterns — how stale a dependency is, and what its release cadence says about maintenance
- analyze_project_health — a broader audit across the dependency set
- analyze_pom_dependencies — a raw pom.xml resolved to effective versions, each classified EXPLICIT, MANAGED or EXPLICIT_OVERRIDE, with multi-BOM conflicts surfaced
- recommend_pom_upgrades — a deterministic list of edits with the exact field or property to change, and a separate needs_attention list of majors, conflicts and overrides for a human to judge
- resolve-library-id and query-docs — documentation lookups through Context7
- Eleven tools in total, with stability, age, CVE and licence signals in one place
Nothing to authorize for the core tools — Maven Central data is public. Run the published Docker image over stdio; a variant without Context7 exists for networks where it is blocked, and an HTTP variant for streamable clients. CONTEXT7_API_KEY is optional and only affects the documentation tools. Inputs are plain Maven coordinates, so Gradle, SBT and Mill projects work the same way.
One command — docker run -i --rm arvindand/maven-tools-mcp:latest
