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 |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/arvindand/maven-tools-mcp/blob/d419a7bfeb19f3515838a64f9a695fe38291e0ec/Dockerfile |
| 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_ageSingle 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 | integeroptional | 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_healthBulk project view. Summarizes health across many dependencies using age and maintenance patterns, with concise recommendations. Set stabilityFilter to ALL (default), STABLE_ONLY, or PREFER_STABLE for upgrade recommendations.
| 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 | integeroptional | Optional maximum acceptable age threshold in days for health scoring. Dependencies exceeding this age receive lower health scores. No age penalty if not specified |
stabilityFilter | stringoptional | Stability filter: ALL (any version), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: PREFER_STABLE |
analyze_release_patternsSingle 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 | integeroptional | Number of months of historical release data to analyze for patterns and predictions. Default is 24 months if not specified |
check_multiple_dependenciesBulk. For many coordinates (no versions), returns per-dependency latest versions by type. Set stabilityFilter to ALL (default), STABLE_ONLY, or PREFER_STABLE. 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' |
stabilityFilter | stringoptional | Stability filter: ALL (all versions), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: ALL |
check_version_existsSingle 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_versionsBulk compare. Input includes versions. Suggests upgrades and classifies update type (major/minor/patch). Set stabilityFilter to ALL (default), STABLE_ONLY, or PREFER_STABLE. 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' |
stabilityFilter | stringoptional | Stability filter: ALL (any version), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: ALL |
get_latest_versionSingle dependency. Returns newest versions by type (stable/rc/beta/alpha/milestone). Set stabilityFilter to ALL (default), STABLE_ONLY, or PREFER_STABLE. 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' |
stabilityFilter | stringoptional | Stability filter: ALL (all versions), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable, show others too). Default: PREFER_STABLE |
get_library_docsFetches 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 | numberoptional | Maximum number of tokens of documentation to retrieve (default: 5000). Higher values provide more context but consume more tokens. |
topic | stringoptional | Topic to focus documentation on (e.g., 'hooks', 'routing'). |
get_version_timelineSingle 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 | integeroptional | Number of recent versions to include in timeline analysis. Default is 20 versions if not specified. Typical range: 10-50 |
resolve_library_idResolves 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"
]
}
}
}