LabStore
← All labs

Maven Tools

by docker ✓ verified ✓ Packaged by Docker

JVM dependency intelligence for any build tool using Maven Central Repository. Includes Context7 integration for upgrade documentation and guidance.

MCP server installable network: on runtime: sysbox

Development MCP Servers

Maven Tools MCP Server MCP Server

JVM dependency intelligence for any build tool using Maven Central Repository. Includes Context7 integration for upgrade documentation and guidance.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image arvindand/maven-tools-mcp:latest
Author arvindand
Repository https://github.com/arvindand/maven-tools-mcp

Image Building Info

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

Available Tools (10)

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.

Tools Details

Tool: 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

Tool: analyze_project_health

Bulk 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 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
stabilityFilter string optional Stability filter: ALL (any version), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: PREFER_STABLE

Tool: 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

Tool: check_multiple_dependencies

Bulk. 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 string optional Stability filter: ALL (all versions), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: ALL

Tool: 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'

Tool: compare_dependency_versions

Bulk 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 string optional Stability filter: ALL (any version), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable). Default: ALL

Tool: get_latest_version

Single 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 string optional Stability filter: ALL (all versions), STABLE_ONLY (production-ready only), or PREFER_STABLE (prioritize stable, show others too). Default: PREFER_STABLE

Tool: 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').

Tool: 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

Tool: 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:

  1. Analyze the query to understand what library/package the user is looking for
  2. Return the most relevant match based on:
  • Name similarity to the query (exact matches prioritized)
  • Description relevance to the query's intent
  • Documentation coverage (prioritize libraries with higher Code Snippet counts)
  • Trust score (consider libraries with scores of 7-10 more authoritative)

Response Format:

  • Return the selected library ID in a clearly marked section
  • Provide a brief explanation for why this library was chosen
  • If multiple good matches exist, acknowledge this but proceed with the most relevant one
  • If no good matches exist, clearly state this and suggest query refinements

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.

Use this MCP Server

{
  "mcpServers": {
    "maven-tools-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "arvindand/maven-tools-mcp:latest"
      ]
    }
  }
}

Why is it safer to run MCP Servers with Docker?