clj-kondo MCP Server
Provides linting capabilities for Clojure, ClojureScript, and EDN files using clj-kondo, supporting analysis of individual files, directories, or classpath content with customizable configuration.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clj-kondo MCP Server lint my Clojure file at /Users/alice/projects/app/src/core.clj"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: shadow-cljs-mcp
Installation
Quick Install
npx clj-kondo-mcpor 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 installBuild the server:
npm run buildUsage
Running the Server
node build/index.jsMCP 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 classpathFor deps.edn projects: Use output of
clojure -Spath
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 buildWatch Mode
npm run devAvailable Tools
1 toollint_clojureA
Lint Clojure/ClojureScript/EDN content using clj-kondo
Inputs: file (required), configDir, level.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a single, clear purpose that is distinct by default.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The naming follows a clear verb_noun pattern (lint_clojure).
A single tool is too few for a server's purpose, as it limits functionality and suggests an incomplete or overly narrow scope. Typically, servers benefit from multiple tools to cover various operations within their domain.
The server only provides linting, which is a significant gap for a tool named after clj-kondo, as it might be expected to support other related operations like configuration management or analysis. The surface is severely incomplete for a comprehensive Clojure tooling server.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Research-backed lint + generation for agent context files (CLAUDE.md, AGENTS.md) + prompt enhancer.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA custom Model Context Protocol server that gives Claude Desktop and other LLMs access to file system operations and command execution capabilities through standardized tool interfaces.23Apache 2.0
- AlicenseAqualityDmaintenanceA Model Context Protocol server that monitors shadow-cljs builds and provides real-time build status updates for ClojureScript projects, allowing LLMs to verify build status after making code changes.123 npm3MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready Model Context Protocol server that provides comprehensive file system management capabilities for seamless integration with Claude Desktop.1MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that analyzes application codebases with real-time file watching, providing AI assistants like Claude with deep insights into project structure, code patterns, and architecture.MIT
Appeared in Searches
- Information about Java programming language or Java-related topics
- Using separate agents for schema validation, code standards, and directory structure enforcement in development workflows
- API Documentation for Libraries and Frameworks
- Finding the Top 10 Most Frequently Pulled Packages from Nexus Repository
- Editing IDE Code Files in JetBrains