ArtifactRepoQuery-Clojars-Tool
Interface for retrieving metadata concerning software components hosted on the Clojars artifact registry, which serves as a central repository for Clojure-based artifacts.
Author

Bigsy
Quick Info
Actions
Tags
Clojars Artifact Repository Query Engine
This implementation operates as a Model Context Protocol (MCP) service endpoint, specialized in querying Clojars—the primary repository for Clojure ecosystem libraries and projects—for tooling integration with assistants like Cody, Claude Desktop, and Cline.
Deployment Instructions
Utilizing npx (Recommended Quick Start)
Execute the service directly via npx for immediate use:
npx clojars-deps-server
Alternatively, install system-wide:
npm install -g clojars-deps-server
Integration via Smithery
To facilitate automated configuration within Claude Desktop using Smithery:
npx -y @smithery/cli install clojars-deps-server --client claude
Manual Setup Procedure
- Obtain the source code repository:
git clone https://github.com/yourusername/clojars-deps-server.git
cd clojars-deps-server
- Install necessary Node.js dependencies:
npm install
- Compile the project source code:
npm run build
- Integrate the service path into your client configuration file:
For VSCode-based Claude extensions (check cline_mcp_settings.json, commonly found in ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/ on macOS):
{
"mcpServers": {
"clojars-deps-server": {
"command": "node",
"args": ["/path/to/clojars-deps-server/build/index.js"]
}
}
}
For the standalone Claude Desktop application (check claude_desktop_config.json, typically in ~/Library/Application Support/Claude/ on macOS):
{
"mcpServers": {
"clojars-deps-server": {
"command": "node",
"args": ["/path/to/clojars-deps-server/build/index.js"]
}
}
}
Once configured, the service will be automatically discovered by Claude upon launch and its functionalities will be accessible via the use_mcp_tool mechanism, as detailed in the system prompt under "Connected MCP Servers".
Capabilities
- Retrieve the most recent published version for any specified Clojars library.
- Validate the existence of a particular version identifier for a given dependency.
- Fetch and return a chronological listing of version releases, with adjustable result count limits.
- Deliver concise, targeted response payloads.
- Seamless operational integration with the Claude assistant framework via MCP.
Operational Flow
Upon setup within Claude's environment, this service endpoint integrates into the LLM's available toolset. Claude invokes the appropriate function when dependency resolution tasks related to Clojure artifacts are identified. The mapping is established through:
- Function names clearly indicating artifact repository lookups.
- Tool descriptions explicitly referencing "Clojars dependency (Maven artifact)".
- Input schemas requiring standard Clojars group/artifact notation (e.g., "group/artifact").
Exposed Remote Procedures:
get_clojars_latest_version
{
"name": "get_clojars_latest_version",
"description": "Obtain the most current released version of a Clojars artifact (Maven coordinate)",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars identifier in the format \"group/artifact\" (e.g., \"metosin/reitit\")"
}
},
"required": ["dependency"]
}
}
check_clojars_version_exists
{
"name": "check_clojars_version_exists",
"description": "Determine if a specified version tag is present for a Clojars component",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars identifier in the format \"group/artifact\" (e.g., \"metosin/reitit\")"
},
"version": {
"type": "string",
"description": "The version string to verify (e.g., \"0.7.2\")"
}
},
"required": ["dependency", "version"]
}
}
get_clojars_history
{
"name": "get_clojars_history",
"description": "Retrieve the chronological list of version releases for a Clojars artifact",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars identifier in the format \"group/artifact\" (e.g., \"metosin/reitit\")"
},
"limit": {
"type": "number",
"description": "Maximum quantity of historical versions to return (default is 15, maximum allowed is 100)",
"minimum": 1,
"maximum": 100
}
},
"required": ["dependency"]
}
}
The design choices for function naming and explanatory text ensure high discoverability for Claude when dependency resolution queries related to the Clojure environment arise.
