Tools to query latest Maven dependency information
An MCP (Model Context Protocol) server that provides tools for checking Maven dependency versions. This server enables LLMs to verify Maven dependencies and retrieve their latest versions from Maven Central Repository.
You can install this MCP server globally using npm:
npm install -g mcp-maven-deps
Or run it directly using npx:
npx mcp-maven-deps
To install Maven Dependencies Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install maven-deps-server --client claude
For development:
npm install
npm run build
Add the server to your MCP settings configuration file:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps"]
}
}
}
If installed globally, you can also use:
{
"mcpServers": {
"maven-deps-server": {
"command": "mcp-maven-deps"
}
}
}
The server supports two transport modes:
To use SSE transport, you can specify both host and port:
# Local access only (default host: localhost)
npx mcp-maven-deps --port=3000
# Remote access
npx mcp-maven-deps --host=0.0.0.0 --port=3000
When using SSE transport in your MCP settings:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--port=3000"]
}
}
}
For remote access, use the server's IP or hostname in your client configuration:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--host=your-server-ip", "--port=3000"]
}
}
}
Retrieves the latest stable release version of a Maven dependency. By default, this excludes pre-release versions (alpha, beta, milestone, RC, snapshot) to ensure you get production-ready versions.
Input Schema:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}
Example Usage:
// Get latest stable release (default behavior)
const result1 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core"
});
// Returns: "6.2.8" (latest stable, excludes "7.0.0-M6" milestone)
// Include pre-releases if needed
const result2 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core",
excludePreReleases: false
});
// Returns: "7.0.0-M6" (includes pre-releases)
Checks if a specific version of a Maven dependency exists. The version can be provided either in the dependency string or as a separate parameter.
Input Schema:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"version": {
"type": "string",
"description": "Version to check if not included in dependency string"
}
},
"required": ["dependency"]
}
Example Usage:
// Using version in dependency string
const result1 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core:5.3.20"
});
// Using separate version parameter
const result2 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core",
version: "5.3.20"
});
Lists Maven dependency versions sorted by last updated date (most recent first) with optional pre-release filtering and depth control.
Input Schema:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:jar\")"
},
"depth": {
"type": "number",
"description": "Number of versions to return (default: 15)",
"minimum": 1,
"maximum": 100
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}
Example Usage:
// Get last 15 stable versions (default - excludes pre-releases)
const result1 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core"
});
// Returns only stable versions: "6.2.8 (2025-06-12)\n6.1.21 (2025-06-12)\n6.2.7 (2025-05-15)\n..."
// Get last 5 versions including pre-releases
const result2 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core",
depth: 5,
excludePreReleases: false
});
// Returns: "7.0.0-M6 (2025-06-12)\n6.2.8 (2025-06-12)\n6.1.21 (2025-06-12)\n7.0.0-M5 (2025-05-15)\n6.2.7 (2025-05-15)"
The server automatically detects pre-release versions using the following patterns:
-alpha
, -a
-beta
, -b
-milestone
, -m
, -M
-rc
, -cr
-snapshot
Examples:
7.0.0-M6
→ Pre-release (milestone)6.2.8
→ Stable release3.1.0-SNAPSHOT
→ Pre-release (snapshot)2.5.0-RC1
→ Pre-release (release candidate)Breaking Change Note: The tool has been renamed from get_maven_last_updated_version
to get_latest_release
and now excludes pre-releases by default. This ensures production applications get stable versions by default, while still allowing access to pre-releases when needed.
The server handles various error cases:
To modify or extend the server:
src/index.ts
npm run build
MIT
Integrates with the Neo N3 blockchain for wallet management, asset transfers, contract interactions, and blockchain queries.
A Python client for connecting to Model Context Protocol (MCP) servers, supporting local scripts and npx packages.
Flag features, manage company data, and control feature access using Bucket.
Fetch comprehensive information about CRAN packages, including READMEs, metadata, and search functionality.
Interact with the JFrog Platform API for repository management, build tracking, and release lifecycle management.
A starter project for building MCP servers with TypeScript and Bun.
A starter MCP server built with TypeScript and the official MCP SDK, featuring example tools like echo, add, time, and flight status.
Model Kontext Protocol Server for Kubernetes that allows LLM-powered applications to interact with Kubernetes clusters through native Go implementation with direct API integration and comprehensive resource management.
A platform-agnostic server for scalable mobile automation and development across iOS, Android, simulators, and emulators.
A collection of document schemas for standardizing project documentation across various software projects.