clj-kondo-MCP
Clojure linter
clj-kondo MCP Server 
A Model Context Protocol (MCP) server that provides clj-kondo linting capabilities for Clojure/ClojureScript/EDN files. Handy for Claude code and desktop where there are no built in linting capabilities. You may want to consider editing your CLAUDE.md asking it to lint after editing.
Features
- Lint Clojure files via MCP tool calls
- Supports all clj-kondo analysis capabilities
- Optional explicit configuration directory support
Installation
Quick Install
npx clj-kondo-mcp
or IDE config
{
"mcpServers": {
"clj-kondo": {
"command": "npx",
"args": ["clj-kondo-mcp"],
"disabled": false,
"autoApprove": []
}
}
}
Manual Installation
-
Install clj-kondo: Make sure you have clj-kondo installed and available on your system PATH. See the installation instructions for your platform.
-
Install dependencies:
npm install
- Build the server:
npm run build
Usage
Running the Server
node build/index.js
MCP Tool Calls
The server provides one tool:
lint_clojure - Lint Clojure/ClojureScript/EDN content
Parameters:
{
"file": "/absolute/path/to/file.clj", // Must be absolute path - can be a file, directory, or classpath
"configDir": "/absolute/path/to/config/dir", // Optional, must be absolute path if provided
"level": "warning" // Optional, defaults to error level
}
The file parameter accepts:
- A single file path (e.g. "/path/to/src/my_file.clj")
- A directory path (e.g. "/path/to/src") - will lint all .clj, .cljs and .cljc files recursively
- A classpath string - will lint all Clojure files in the classpath
- For Leiningen projects: Use output of
lein classpath - For deps.edn projects: Use output of
clojure -Spath
- For Leiningen projects: Use output of
Note: Both file and configDir parameters must be absolute paths since the MCP server runs as a separate process. Relative paths will not work correctly.
By default, clj-kondo will automatically look for configuration in the .clj-kondo directory in the current and parent directories. You can override this by specifying the configDir parameter to point to a specific configuration directory.
For more information about clj-kondo configuration, see the official documentation.
Configuration
Add to your MCP settings file (for Cline, located at ~/Library/Application Support/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"clj-kondo": {
"command": "npx",
"args": ["clj-kondo-mcp"],
"disabled": false,
"autoApprove": []
}
}
}
For manual builds, use:
{
"mcpServers": {
"clj-kondo": {
"command": "node",
"args": ["build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
Build
npm run build
Watch Mode
npm run dev
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
llm-mcp
A Ruby gem for integrating Large Language Models (LLMs) via the Model Context Protocol (MCP) into development workflows.
Unity3d Game Engine
MCP Server to control and interact with Unity3d Game Engine for game development
Remote MCP Server (Authless)
A remote MCP server for Cloudflare Workers, authless by default with optional token-based authentication.
Web3 MCP Server
An MCP server for interacting with Web3 and EVM-compatible chains.
ctx
Automatically builds and serves context files from codebases for AI assistants like Claude.
MCP Script Runner
Execute developer-defined bash scripts in a Dockerized environment for coding agents.
Fyers MCP Server
An MCP server for the Fyers API v3, featuring automated OAuth authentication.
IDA MCP Server
A Model Context Protocol server for the IDA Pro disassembler.
Grumpy Senior Developer
Provides sarcastic and cynical code reviews from the perspective of a grumpy senior developer.
VectorMCP
A Ruby gem for building Model Context Protocol (MCP) servers to expose tools, resources, and prompts to LLM clients.