Clojars-MCP-Server
# Clojars MCP Server
[](https://www.npmjs.com/package/clojars-deps-server)
A [Model Context Protocol (MCP)](https://github.com/ModelContext/protocol) server that provides tools for fetching dependency information from [Clojars](https://clojars.org/), the Clojure community's artifact repository for Cline, Roo Code, Cody, Claude Desktop etc.
<a href="https://glama.ai/mcp/servers/i37857er6w"><img width="380" height="200" src="https://glama.ai/mcp/servers/i37857er6w/badge" alt="Clojars-MCP-Server MCP server" /></a>
## Installation
### Installing via npx
The quickest way to use the Clojars MCP Server is to run it directly with npx:
```bash
npx clojars-deps-server
```
You can also install it globally:
```bash
npm install -g clojars-deps-server
```
### Installing via Smithery
To install Clojars Dependency Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/clojars-deps-server):
```bash
npx -y @smithery/cli install clojars-deps-server --client claude
```
### Manual Installation
1. Clone this repository:
```bash
git clone https://github.com/yourusername/clojars-deps-server.git
cd clojars-deps-server
```
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
4. Add the server to your Claude configuration:
For VSCode Claude extension, add to `cline_mcp_settings.json` (typically located at `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/` on macOS):
```json
{
"mcpServers": {
"clojars-deps-server": {
"command": "node",
"args": ["/path/to/clojars-deps-server/build/index.js"]
}
}
}
```
For Claude desktop app, add to `claude_desktop_config.json` (typically located at `~/Library/Application Support/Claude/` on macOS):
```json
{
"mcpServers": {
"clojars-deps-server": {
"command": "node",
"args": ["/path/to/clojars-deps-server/build/index.js"]
}
}
}
```
After adding the server configuration, Claude will automatically detect and connect to the server on startup. The server's capabilities will be listed in Claude's system prompt under "Connected MCP Servers", making them available for use.
## Features
- Get the latest version of any Clojars dependency
- Check if a specific version of a dependency exists
- Get version history of dependencies with configurable limits
- Simple, focused responses
- Easy integration with Claude through MCP
## How It Works
When this MCP server is configured in Claude's settings, it automatically becomes available in Claude's system prompt under the "Connected MCP Servers" section. This makes Claude aware of the server's capabilities and allows it to use the provided tools through the `use_mcp_tool` command.
The server exposes three tools:
### get_clojars_latest_version
```json
{
"name": "get_clojars_latest_version",
"description": "Get the latest version of a Clojars dependency (Maven artifact)",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars dependency name in format \"group/artifact\" (e.g. \"metosin/reitit\")"
}
},
"required": ["dependency"]
}
}
```
### check_clojars_version_exists
```json
{
"name": "check_clojars_version_exists",
"description": "Check if a specific version of a Clojars dependency exists",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars dependency name in format \"group/artifact\" (e.g. \"metosin/reitit\")"
},
"version": {
"type": "string",
"description": "Version to check (e.g. \"0.7.2\")"
}
},
"required": ["dependency", "version"]
}
}
```
### get_clojars_history
```json
{
"name": "get_clojars_history",
"description": "Get version history of a Clojars dependency",
"inputSchema": {
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Clojars dependency name in format \"group/artifact\" (e.g. \"metosin/reitit\")"
},
"limit": {
"type": "number",
"description": "Number of versions to return (default: 15, max: 100)",
"minimum": 1,
"maximum": 100
}
},
"required": ["dependency"]
}
}
```
The tool names and descriptions are specifically designed to help Claude understand that these tools are for retrieving version information from Clojars. When users ask about Clojars dependencies, Claude can recognize that these tools are appropriate for the task based on:
- The tool names explicitly indicate their purpose
- The descriptions specify they're for "Clojars dependency (Maven artifact)"
- The example formats show typical Clojars dependency patterns
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: checking version existence, retrieving version history, and getting the latest version. The descriptions make it unambiguous what each tool does, and an agent would have no difficulty selecting the right tool for each specific query about Clojars dependencies.
All tool names follow a consistent verb_noun pattern with 'get' or 'check' verbs and descriptive nouns like 'clojars_version_exists', 'clojars_history', and 'clojars_latest_version'. The naming is uniform, predictable, and uses snake_case throughout, making it easy for agents to understand and work with.
With only 3 tools, the server feels thin for a dependency management domain, as it lacks basic operations like searching for dependencies, listing available artifacts, or fetching dependency metadata beyond version info. While the tools are well-defined, the count is borderline low for the apparent scope of interacting with Clojars.
There are significant gaps in the tool surface for a Clojars server. Missing are essential operations such as searching for dependencies, retrieving artifact details (e.g., authors, licenses), or managing dependencies (e.g., adding/removing). The current tools only cover version-related queries, leaving agents unable to perform common dependency management tasks, which will likely cause failures in broader workflows.