clj-kondo MCP Server
clj-kondo MCP 서버 
Clojure/ClojureScript/EDN 파일에 clj-kondo 린팅 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 린팅 기능이 내장되지 않은 Claude 코드와 데스크톱 환경에서 유용합니다. CLAUDE.md 파일을 편집한 후 린팅을 수행하도록 설정하는 것을 고려해 보세요.
특징
MCP 도구 호출을 통한 Lint Clojure 파일
모든 clj-kondo 분석 기능을 지원합니다
선택적 명시적 구성 디렉토리 지원
Related MCP server: shadow-cljs-mcp
설치
빠른 설치
지엑스피1
또는 IDE 구성
{
"mcpServers": {
"clj-kondo": {
"command": "npx",
"args": ["clj-kondo-mcp"],
"disabled": false,
"autoApprove": []
}
}
}수동 설치
clj-kondo 설치: clj-kondo가 설치되어 있고 시스템 PATH에 등록되어 있는지 확인하세요. 해당 플랫폼의 설치 지침을 참조하세요.
종속성 설치:
npm install서버를 빌드하세요:
npm run build용법
서버 실행
node build/index.jsMCP 도구 호출
서버는 하나의 도구를 제공합니다.
lint_clojure - Clojure/ClojureScript/EDN 콘텐츠 Lint
매개변수:
{
"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
}file 매개변수는 다음을 허용합니다.
단일 파일 경로(예: "/path/to/src/my_file.clj")
디렉토리 경로(예: "/path/to/src") - 모든 .clj, .cljs 및 .cljc 파일을 재귀적으로 조사합니다.
클래스 경로 문자열 - 클래스 경로에 있는 모든 Clojure 파일을 검사합니다.
Leiningen 프로젝트의 경우:
lein classpath의 출력을 사용하세요.deps.edn 프로젝트의 경우:
clojure -Spath의 출력을 사용하세요.
참고 : MCP 서버는 별도의 프로세스로 실행되므로 file 및 configDir 매개변수는 모두 절대 경로여야 합니다. 상대 경로는 제대로 작동하지 않습니다.
기본적으로 clj-kondo는 현재 및 상위 디렉터리의 .clj-kondo 디렉터리에서 구성을 자동으로 검색합니다. configDir 매개변수를 지정하여 특정 구성 디렉터리를 가리키도록 하면 이 설정을 재정의할 수 있습니다.
clj-kondo 구성에 대한 자세한 내용은 공식 문서를 참조하세요.
구성
MCP 설정 파일에 다음을 추가합니다(Cline의 경우 ~/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": []
}
}
}수동 빌드의 경우 다음을 사용하세요.
{
"mcpServers": {
"clj-kondo": {
"command": "node",
"args": ["build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}짓다
npm run build시청 모드
npm run devAvailable Tools
1 toollint_clojureA
Lint Clojure/ClojureScript/EDN content using clj-kondo
| Name | Required | Description | Default |
|---|---|---|---|
| configDir | No | Optional absolute path to .clj-kondo config directory (e.g. /Users/name/project/.clj-kondo). If not provided, clj-kondo will look for .clj-kondo directory in the current and parent directories. | |
| file | Yes | Can be: 1) Absolute path to a file, 2) Directory path (will lint all .clj/.cljs/.cljc files recursively), or 3) Classpath string (obtained via `lein classpath` or `clojure -Spath`) | |
| level | No | Optional linting level. By default all lints are errors. Set to "warning" to use warning level instead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It specifies what gets processed (Clojure/ClojureScript/EDN content) and the tool used, but doesn't describe output format, error handling, performance characteristics, or what constitutes successful linting. The description adds some value but leaves significant behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the essential purpose without any wasted words. It's front-loaded with the core functionality and uses precise terminology. Every element of the description earns its place by adding meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 3 parameters with good schema coverage, the description provides adequate basic context but leaves gaps. It explains what the tool does but doesn't describe what users can expect as results, how to interpret linting output, or any limitations of the clj-kondo approach. For a tool with no structured output documentation, more guidance would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds value by providing context about what 'lint' means in this context and specifying the exact tool being used (clj-kondo), which helps users understand the linting approach and standards being applied beyond what the parameter descriptions provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('lint') and target resources ('Clojure/ClojureScript/EDN content'), and specifies the implementation method ('using clj-kondo'). It distinguishes itself by naming the exact linter being used, which is helpful even without sibling tools for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by specifying what types of content can be linted and the tool being used, but offers no explicit guidance on when to use this tool versus alternatives (though no sibling tools exist). It doesn't mention prerequisites, typical workflows, or integration scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
lint_clojure
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
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
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.126 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