mcpField
C
Clj Kondo

Clj Kondo

本地服务
github.com/Bigsy开发工具482 周前更新

关于 Clj Kondo

Clj Kondo 是基于 clj-kondo 的 MCP 服务,可检查 Clojure、ClojureScript 和 EDN 文件。编码 Agent 或其他 MCP 客户端可用它检查文件、目录或类路径。

主要功能

  1. 01检查 Clojure、ClojureScript 和 EDN
  2. 02分析文件、目录或类路径
  3. 03使用 clj-kondo 分析能力
  4. 04可指定配置目录

适用场景

  1. 01从 MCP 客户端检查编辑后的 Clojure 文件
  2. 02递归检查源代码目录
  3. 03检查项目类路径中的文件

MCP 相关

向 MCP 客户端提供 `lint_clojure` 工具,可接收文件、目录或类路径,并支持可选配置目录和严重级别。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"clj-kondo-MCP": {
"command": "npx",
"args": [
"-y",
"clj-kondo-mcp"
]
}
}
}
启动命令npx -y clj-kondo-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmclj-kondo-mcp

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
filestring是可以是:1) 文件的绝对路径,2) 目录路径(递归 lint 所有 .clj/.cljs/.cljc 文件),或 3) 类路径字符串(通过 `lein classpath` 或 `clojure -Spath` 获取)
levelenum否可选的 lint 级别。默认情况下,所有 lint 结果均视为错误。设置为 "warning" 可改用警告级别。warning
configDirstring否可选的 .clj-kondo 配置目录绝对路径(例如 /Users/name/project/.clj-kondo)。如果未提供,clj-kondo 将在当前目录及其父目录中查找 .clj-kondo 目录。

详细介绍

clj-kondo MCP 服务 npm version

一个模型上下文协议(MCP)服务,为 Clojure/ClojureScript/EDN 文件提供 clj-kondo lint 功能。适用于没有内置 lint 功能的 Claude code 和桌面应用。你可以考虑编辑 CLAUDE.md,要求它在编辑后执行 lint。

功能

  • 通过 MCP 工具调用对 Clojure 文件执行 lint
  • 支持 clj-kondo 的所有分析功能
  • 可选支持显式指定配置目录

安装

快速安装
npx clj-kondo-mcp

或配置 IDE

{
  "mcpServers": {
    "clj-kondo": {
      "command": "npx",
      "args": ["clj-kondo-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
手动安装
  1. 安装 clj-kondo: 确保已安装 clj-kondo,并且可以通过系统 PATH 访问。请参阅适用于你平台的安装说明。

  2. 安装依赖项:

npm install
  1. 构建服务:
npm run build

使用方法

运行服务
node build/index.js
MCP 工具调用

该服务提供一个工具:

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")——将递归 lint 所有 .clj、.cljs 和 .cljc 文件
  • classpath 字符串——将对 classpath 中的所有 Clojure 文件执行 lint
    • 对于 Leiningen 项目:使用 lein classpath 的输出
    • 对于 deps.edn 项目:使用 clojure -Spath 的输出

注意:file 和 configDir 参数都必须是绝对路径,因为 MCP 服务作为独立进程运行。相对路径无法正常工作。

默认情况下,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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。