JVM dependency intelligence for any build tool using Maven Central Repository. Includes Context7 integration for upgrade documentation and guidance.
10 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
JVM dependency intelligence for any build tool using Maven Central Repository. Includes Context7 integration for upgrade documentation and guidance.
Attribute | Details |
---|---|
Docker Image | arvindand/maven-tools-mcp:latest |
Author | arvindand |
Repository | https://github.com/arvindand/maven-tools-mcp |
Docker Image built by|arvindand Docker Scout Health Score|Not available Verify Signature|Not available Licence|MIT License
Tools provided by this Server | Short Description |
---|---|
analyze_dependency_age | Single dependency. |
analyze_project_health | Bulk project view. |
analyze_release_patterns | Single dependency. |
check_multiple_dependencies | Bulk. |
check_version_exists | Single dependency + version. |
compare_dependency_versions | Bulk compare. |
get_latest_version | Single dependency. |
get_library_docs | Fetches up-to-date documentation for a library. |
get_version_timeline | Single dependency. |
resolve_library_id | Resolves a package/product name to a Context7-compatible library ID and returns a list of matching libraries. |
analyze_dependency_age
Single dependency. Returns days since last release and freshness (fresh/current/aging/stale), with actionable insights. Use when asked about 'how old' or 'last release' of a library.
Parameters | Type | Description |
---|---|---|
dependency | string | Maven dependency coordinate in format 'groupId:artifactId' (NO version). Example: 'org.springframework:spring-core' |
maxAgeInDays | integer optional | Optional maximum acceptable age threshold in days. If specified and dependency exceeds this age, additional recommendations are provided. No limit if not specified |
analyze_project_health
Bulk project view. Summarizes health across many dependencies using age and maintenance patterns, with concise recommendations. Use for dependency health reports.
Parameters | Type | Description |
---|---|---|
dependencies | string | Comma or newline separated list of Maven dependency coordinates in format 'groupId:artifactId' (NO versions). Example: 'org.springframework:spring-core,junit:junit' |
maxAgeInDays | integer optional | Optional maximum acceptable age threshold in days for health scoring. Dependencies exceeding this age receive lower health scores. No age penalty if not specified |
analyze_release_patterns
Single dependency. Analyzes historical releases to infer cadence, consistency, and likely next-release timeframe. Useful for maintenance and planning.
Parameters | Type | Description |
---|---|---|
dependency | string | Maven dependency coordinate in format 'groupId:artifactId' (NO version). Example: 'com.fasterxml.jackson.core:jackson-core' |
monthsToAnalyze | integer optional | Number of months of historical release data to analyze for patterns and predictions. Default is 24 months if not specified |
check_multiple_dependencies
Bulk. For many coordinates (no versions), returns per-dependency latest versions by type. Set stableOnly=true to filter to production-ready (stable) versions only. Use for audits of multiple dependencies.
Parameters | Type | Description |
---|---|---|
dependencies | string | Comma or newline separated list of Maven dependency coordinates in format 'groupId:artifactId' (NO versions). Example: 'org.springframework:spring-core,junit:junit' |
stableOnly | boolean optional | When true, filters results to show only stable (production-ready) versions. When false, includes all version types (default: false) |
check_version_exists
Single dependency + version. Validates existence on Maven Central and classifies its stability (stable/rc/beta/alpha/milestone/snapshot). Use when asked: 'does X:Y exist?' or 'is version V stable?'
Parameters | Type | Description |
---|---|---|
dependency | string | Maven dependency coordinate in format 'groupId:artifactId' (NO version). Example: 'org.springframework:spring-core' |
version | string | Specific version string to check for existence. Example: '6.1.4' or '2.7.18-SNAPSHOT' |
compare_dependency_versions
Bulk compare. Input includes versions. Suggests upgrades and classifies update type (major/minor/patch). Set onlyStableTargets=true to restrict upgrade recommendations to stable releases. Never suggests downgrades.
Parameters | Type | Description |
---|---|---|
currentDependencies | string | Comma or newline separated list of dependency coordinates WITH versions in format 'groupId:artifactId:version'. Example: 'org.springframework:spring-core:6.0.0,junit:junit:4.12' |
onlyStableTargets | boolean optional | When true, only suggests upgrades to stable versions for production safety. When false, suggests upgrades to latest available version of any type (default: false) |
get_latest_version
Single dependency. Returns newest versions by type (stable/rc/beta/alpha/milestone). Set preferStable=true to prioritize stable as primary while still including other types. Use when asked: 'what's the latest version of X?' Works with all JVM build tools.
Parameters | Type | Description |
---|---|---|
dependency | string | Maven dependency coordinate in format 'groupId:artifactId' (NO version). Example: 'org.springframework:spring-core' |
preferStable | boolean optional | When true, prioritizes stable version in response while showing all types. When false, shows latest version of any type first (default: false) |
get_library_docs
Fetches up-to-date documentation for a library. You must call 'resolve-library-id' first to obtain the exact Context7-compatible library ID required to use this tool, UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.
Parameters | Type | Description |
---|---|---|
context7CompatibleLibraryID | string | Exact Context7-compatible library ID (e.g., '/mongodb/docs', '/vercel/next.js', '/supabase/supabase', '/vercel/next.js/v14.3.0-canary.87') retrieved from 'resolve-library-id' or directly from user query in the format '/org/project' or '/org/project/version'. |
tokens | number optional | Maximum number of tokens of documentation to retrieve (default: 5000). Higher values provide more context but consume more tokens. |
topic | string optional | Topic to focus documentation on (e.g., 'hooks', 'routing'). |
get_version_timeline
Single dependency. Returns a timeline of recent versions with dates, gaps, and stability patterns. Use for quick release history snapshots.
Parameters | Type | Description |
---|---|---|
dependency | string | Maven dependency coordinate in format 'groupId:artifactId' (NO version). Example: 'org.junit.jupiter:junit-jupiter' |
versionCount | integer optional | Number of recent versions to include in timeline analysis. Default is 20 versions if not specified. Typical range: 10-50 |
resolve_library_id
Resolves a package/product name to a Context7-compatible library ID and returns a list of matching libraries.
You MUST call this function before 'get-library-docs' to obtain a valid Context7-compatible library ID UNLESS the user explicitly provides a library ID in the format '/org/project' or '/org/project/version' in their query.
Selection Process:
Response Format:
For ambiguous queries, request clarification before proceeding with a best-guess match.
Parameters | Type | Description |
---|---|---|
libraryName | string | Library name to search for and retrieve a Context7-compatible library ID. |
{
"mcpServers": {
"maven-tools-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"arvindand/maven-tools-mcp:latest"
]
}
}
}
Manual installation
You can install the MCP server using:
Installation for