Clj Kondo について
Clj Kondo は、clj-kondo による Clojure、ClojureScript、EDN の lint を提供する MCP サーバーです。コーディングエージェントなどの MCP クライアントから、ファイル、ディレクトリ、クラスパスを検査できます。
主な機能
- 01Clojure、ClojureScript、EDN の lint
- 02ファイル、ディレクトリ、クラスパスの解析
- 03clj-kondo の解析機能を利用
- 04設定ディレクトリの任意指定
活用シーン
- 01MCP クライアントから編集後の Clojure ファイルを検査
- 02ソースディレクトリを再帰的に検査
- 03プロジェクトのクラスパス内のファイルを検査
MCP 対応
MCP クライアントに `lint_clojure` ツールを提供します。ファイル、ディレクトリ、クラスパスを指定でき、設定ディレクトリと重大度も任意で設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| file | string | はい | 指定できる値:1) ファイルの絶対パス、2) ディレクトリパス(すべての .clj/.cljs/.cljc ファイルを再帰的に lint)、または 3) クラスパス文字列(`lein classpath` または `clojure -Spath` で取得) |
| level | enum | いいえ | 任意の lint レベル。既定では、すべての lint 結果がエラーとして扱われます。警告レベルにするには "warning" を設定します。warning |
| configDir | string | いいえ | 任意の .clj-kondo 設定ディレクトリの絶対パス(例:/Users/name/project/.clj-kondo)。指定しない場合、clj-kondo は現在のディレクトリと親ディレクトリで .clj-kondo ディレクトリを検索します。 |
詳細
clj-kondo MCP サーバー 
Clojure/ClojureScript/EDN ファイル向けに、clj-kondo のリンティング機能を提供する Model Context Protocol(MCP)サーバーです。組み込みのリンティング機能がない Claude code やデスクトップアプリで便利です。編集後にリンティングするよう、CLAUDE.md の編集を検討してもよいでしょう。
機能
- MCP ツール呼び出しで Clojure ファイルをリンティング
- clj-kondo のすべての解析機能に対応
- 設定ディレクトリを任意で明示的に指定可能
インストール
クイックインストール
npx clj-kondo-mcp
または 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.js
MCP ツール呼び出し
サーバーは次のツールを提供します:
lint_clojure - Clojure/ClojureScript/EDN の内容をリンティングします
パラメーター:
{
"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の出力を使用します
- Leiningen プロジェクトの場合:
注: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 dev
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。