Access real-time Maven Central intelligence for fast and accurate dependency information.
Universal JVM dependency intelligence for any build tool using Maven Central Repository
A Model Context Protocol (MCP) server that provides AI assistants with dependency analysis. Get instant, accurate dependency information for Maven, Gradle, SBT, Mill, and any JVM build tool that's faster and more reliable than web searches.
Problem: Managing dependencies across complex projects requires deep analysis beyond simple version lookups Solution: Dependency intelligence with bulk operations, trend analysis, and risk assessment for any JVM build tool
Ask your AI assistant:
Working with any build tool that uses Maven Central Repository:
Build Tool | Dependency Format | Example Usage |
---|---|---|
Maven | groupId:artifactId:version | org.springframework:spring-core:6.2.8 |
Gradle | implementation("group:artifact:version") | Uses same Maven coordinates |
SBT | libraryDependencies += "group" % "artifact" % "version" | Same groupId:artifactId format |
Mill | ivy"group:artifact:version" | Same Maven Central lookup |
All tools use standard Maven coordinates - just provide groupId:artifactId
and we handle the rest.
Step 1: Locate your Claude Desktop configuration file
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Step 2: Add this configuration (using pre-built Docker image):
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": [
"run", "-i", "--rm", "-e", "SPRING_PROFILES_ACTIVE=docker",
"arvindand/maven-tools-mcp:latest"
]
}
}
}
Step 3: Restart Claude Desktop
Prerequisites: Docker installed and running
Note: The Docker image supports both AMD64 (Intel/AMD) and ARM64 (Apple Silicon) architectures. Docker automatically selects the correct version for your platform.
Option 1: Workspace Configuration - Create .vscode/mcp.json
:
{
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "SPRING_PROFILES_ACTIVE=docker", "arvindand/maven-tools-mcp:latest"]
}
}
}
Option 2: User Settings - Add to your VS Code settings:
{
"mcp": {
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "SPRING_PROFILES_ACTIVE=docker", "arvindand/maven-tools-mcp:latest"]
}
}
}
}
Usage: Open Chat view (Ctrl+Alt+I), select Agent mode, then use the Tools button to enable Maven tools.
Core Dependency Intelligence:
Advanced Analytics (v1.1.0):
Tool | Purpose | Key Features |
---|---|---|
get_latest_version | Get newest version by type with stability preferences | preferStable parameter, all version types |
get_stable_version | Get latest stable only (production-ready) | Production-safe, excludes pre-release |
check_version_exists | Verify if specific version exists with type info | Works with any JVM build tool |
check_multiple_dependencies | Check multiple dependencies with filtering | stableOnly parameter, bulk operations |
check_multiple_stable_versions | Stable versions for many dependencies | Perfect for production updates |
compare_dependency_versions | Compare current vs latest with upgrade recommendations | onlyStableTargets parameter, risk assessment |
Tool | Purpose | Key Features |
---|---|---|
analyze_dependency_age | Classify dependencies as fresh/current/aging/stale | maxAgeInDays parameter, actionable insights |
analyze_release_patterns | Analyze maintenance activity and predict releases | monthsToAnalyze parameter, velocity trends |
get_version_timeline | Enhanced version timeline with temporal analysis | versionCount parameter, release gap detection |
analyze_project_health | Comprehensive health analysis for multiple dependencies | Health scoring, bulk analysis, recommendations |
Core Parameters:
preferStable
- Prioritize stable versions in analysisstableOnly
- Filter to production-ready versions onlyonlyStableTargets
- Only suggest upgrades to stable versionsAnalytical Parameters (v1.1.0):
maxAgeInDays
- Set acceptable age threshold for dependenciesmonthsToAnalyze
- Specify analysis period for release patterns (default: 24)versionCount
- Number of recent versions to analyze in timeline (default: 20)includeRecommendations
- Include detailed recommendations in health analysisUniversal Compatibility:
All tools work with standard Maven coordinates (groupId:artifactId
) and support any JVM build tool.
get_latest_version
Get latest version of any dependency from Maven Central (works with Maven, Gradle, SBT, Mill) with stability preferences.
Parameters:
dependency
(string, required): Maven coordinate in format groupId:artifactId
(NO version)preferStable
(boolean, optional): When true, prioritizes stable version in response (default: false)Examples:
{
"dependency": "org.springframework:spring-core",
"preferStable": false
}
{
"dependency": "org.springframework:spring-boot",
"preferStable": true
}
Response:
{
"dependency": "org.springframework:spring-core",
"latest_stable": { "version": "6.2.7", "type": "stable" },
"latest_rc": { "version": "7.0.0-RC1", "type": "rc" },
"latest_beta": { "version": "7.0.0-beta1", "type": "beta" },
"latest_alpha": { "version": "7.0.0-alpha1", "type": "alpha" },
"latest_milestone": { "version": "7.0.0-M5", "type": "milestone" },
"total_versions": 100
}
check_version_exists
Check if specific dependency version exists and identify its stability type. Works with any JVM build tool.
Parameters:
dependency
(string, required): Maven coordinate in format groupId:artifactId
(NO version)version
(string, required): Version to checkExample:
{
"dependency": "org.jetbrains.kotlin:kotlin-stdlib",
"version": "1.9.0"
}
Response:
{
"exists": true,
"version": "6.0.0",
"type": "stable"
}
get_stable_version
Get latest stable version only - excludes alpha, beta, RC, milestone versions. Perfect for production deployments.
Parameters:
dependency
(string, required): Maven coordinate in format groupId:artifactId
(NO version)Example:
{
"dependency": "com.squareup.retrofit2:retrofit"
}
Response:
{
"version": "2.19.0",
"type": "stable",
"total_versions": 100,
"stable_versions": 82
}
check_multiple_dependencies
Check latest versions for multiple dependencies with filtering options. Works with any JVM build tool.
Parameters:
dependencies
(string, required): Comma- or newline-separated list of Maven coordinates (NO versions)stableOnly
(boolean, optional): When true, filters to production-ready versions only (default: false)Examples:
{
"dependencies": "org.jetbrains.kotlin:kotlin-stdlib,com.squareup.retrofit2:retrofit,org.apache.spark:spark-core_2.13",
"stableOnly": false
}
{
"dependencies": "org.springframework:spring-boot,com.fasterxml.jackson.core:jackson-core",
"stableOnly": true
}
Response (array):
[
{
"dependency": "org.springframework:spring-core",
"primary_version": "6.2.7",
"primary_type": "stable",
"total_versions": 100,
"stable_versions": 82,
"latest_stable": { "version": "6.2.7", "type": "stable" },
"latest_rc": { "version": "7.0.0-RC1", "type": "rc" },
"latest_beta": null,
"latest_alpha": null,
"latest_milestone": { "version": "7.0.0-M5", "type": "milestone" }
},
// ...more results
]
check_multiple_stable_versions
Get latest stable versions for multiple dependencies - perfect for production updates.
Parameters:
dependencies
(string, required): Comma- or newline-separated list of Maven coordinates (NO versions)Example:
{
"dependencies": "org.scala-lang:scala-library,org.apache.kafka:kafka_2.13,io.vertx:vertx-core"
}
Response (array):
[
{
"dependency": "org.springframework:spring-boot-starter",
"primary_version": "3.5.3",
"primary_type": "stable",
"total_versions": 50,
"stable_versions": 40
},
// ...more results
]
compare_dependency_versions
Compare current dependency versions with latest available and show upgrade recommendations with safety controls.
Parameters:
currentDependencies
(string, required): Comma- or newline-separated list of Maven coordinates with versions (groupId:artifactId:version
)onlyStableTargets
(boolean, optional): When true, only suggests upgrades to stable versions (default: false)Examples:
{
"currentDependencies": "org.jetbrains.kotlin:kotlin-stdlib:1.8.0,com.squareup.retrofit2:retrofit:2.9.0",
"onlyStableTargets": false
}
{
"currentDependencies": "org.springframework:spring-boot:2.7.0,org.hibernate:hibernate-core:5.6.0",
"onlyStableTargets": true
}
Response:
{
"comparison_date": "2025-06-07T22:38:47Z",
"dependencies": [
{
"dependency": "org.springframework:spring-core:6.0.0",
"current_version": "6.0.0",
"latest_version": "7.0.0-M5",
"latest_type": "milestone",
"update_type": "major",
"update_available": true,
"status": "success",
"error": null
}
],
"update_summary": {
"major_updates": 1,
"minor_updates": 0,
"patch_updates": 0,
"no_updates": 0
}
}
Simple Questions:
Multi-Build Tool Support:
Advanced Stability Controls:
Action: Paste your build.gradle: "Analyze my Gradle dependencies for outdated versions"
Result: Universal dependency analysis in seconds across any build tool
Action: "Show me latest stable versions for these affected dependencies"
Result: Instant security patch identification with production-safe recommendations
Action: "What are the latest stable versions for Spring Boot, Spring Security, and Jackson for both Maven and Gradle?"
Result: Universal dependency intelligence across all JVM build tools
Action: "Compare my current versions but only suggest stable upgrades for production safety"
Result: Risk-assessed upgrade recommendations with stability filtering
Scenario | Web Search | Maven Tools MCP |
---|---|---|
Single dependency lookup | 3-5 seconds | <100ms (cached) |
20 dependencies across build tools | 60+ seconds | <500ms |
Data accuracy | Variable/outdated | 100% current |
Bulk operations | Manual, error-prone | Native support |
Version classification | Manual parsing | Automatic (stable/RC/beta) |
Stability filtering | Not available | Built-in (stableOnly, preferStable) |
Build tool compatibility | Tool-specific searches | Universal JVM support |
Usage: "How old is my Spring Boot dependency and should I update it?"
Tool: analyze_dependency_age
{
"dependency": "org.springframework.boot:spring-boot-starter",
"age_classification": "current",
"days_since_release": 45,
"recommendation": "Actively maintained - consider updating if needed"
}
Usage: "What's the maintenance pattern for Jackson? When might the next release be?"
Tool: analyze_release_patterns
{
"dependency": "com.fasterxml.jackson.core:jackson-core",
"maintenance_level": "active",
"release_velocity": 1.2,
"next_release_prediction": "Expected in 3 weeks"
}
Usage: "Give me a health assessment for all my key dependencies"
Tool: analyze_project_health
{
"overall_health": "good",
"average_health_score": 78,
"age_distribution": {"fresh": 2, "current": 8, "aging": 3, "stale": 1}
}
Usage: "Show me the recent release timeline for JUnit with gap analysis"
Tool: get_version_timeline
{
"insights": ["High release frequency indicates active development"],
"recent_activity": {"activity_level": "active", "releases_last_quarter": 4}
}
Note: Snapshot versions are not supported. This is because the Maven Central API does not index or provide access to snapshot artifacts. Only released versions (stable, rc, beta, alpha, milestone) are available.
Q: How is this different from Dependabot/Renovate?
A: Those tools create automated PRs. This gives you instant, interactive dependency intelligence through your AI assistant for decision-making and planning.
Q: Why not just search Maven Central directly?
A: This provides structured, cached responses optimized for AI consumption with intelligent version classification and bulk operations.
Q: Can this replace my IDE's dependency management?
A: No, it complements your IDE by providing instant dependency intelligence during conversations with AI assistants.
Q: Does it work with private Maven repositories?
A: Currently only Maven Central.
Q: What about Gradle dependencies?
A: Maven Central hosts both Maven and Gradle dependencies, so it works for Gradle projects too (using Maven coordinates).
Alternative Claude Desktop configuration (if you prefer compose):
Download docker-compose.yml
and configure:
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": [
"compose", "-f", "/absolute/path/to/docker-compose.yml",
"run", "--rm", "maven-tools-mcp"
]
}
}
}
For development/testing only:
docker compose up -d # Runs server in background for testing
Prerequisites:
# Clone the repository
git clone https://github.com/arvindand/maven-tools-mcp.git
cd maven-tools-mcp
# Quick build (CI-friendly - unit tests only)
./mvnw clean package -Pci
# Full build with all tests (requires network access)
./mvnw clean package -Pfull
# Run the JAR
java -jar target/maven-tools-mcp-1.1.1.jar
Claude Desktop configuration for JAR:
{
"mcpServers": {
"maven-tools": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/maven-tools-mcp-1.1.1.jar"
]
}
}
}
For easier builds, use the provided scripts in the build/
folder:
# Linux/macOS - Complete build helper
./build/build.sh
# Windows - Complete build helper
.\build\build-windows.cmd
This server implements MCP Protocol 2024-11-05 with stdio transport, making it compatible with any MCP-compliant client.
The server can be configured via application.yaml
:
# Cache configuration
spring:
cache:
type: caffeine
caffeine:
spec: maximumSize=2000,expireAfterWrite=3600s
# Maven Central API settings
maven:
central:
base-url: https://search.maven.org/solrsearch/select
timeout: 10s
max-results: 100
# Logging (minimal for MCP stdio transport)
logging:
level:
root: ERROR
Blog Post: How I Connected Claude to Maven Central (and Why You Should Too) - A deep dive into the architecture, design decisions, and real-world impact of building this MCP server.
This project is licensed under the MIT License - see the LICENSE file for details.
Arvind Menon
A server for Zep, a long-term memory store for AI applications, requiring a ZEP_API_KEY for access.
Search dashboards, investigate incidents and query datasources in your Grafana instance
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMaticβs API.
A server for Zero-Vector's hybrid vector-graph persona and memory management system, featuring advanced LangGraph workflow capabilities.
Generate images using the Together AI API. Supports custom aspect ratios, save paths, and batch generation.
A self-hostable middleware to manage all your MCPs through a GUI and a local proxy, supporting multiple clients and workspaces.
A FastAPI application demonstrating MCP integration for mathematical operations and tool registration.
A tool to retrieve API interface information from YApi, with authentication configurable via environment variables.
Interact with the JFrog Platform API for repository management, build tracking, and release lifecycle management.
A toolkit for building and deploying AI agents with blockchain capabilities, featuring a Model Context Protocol (MCP) server.