Clojure代码检查服务

一个基于MCP协议的Clojure/ClojureScript/EDN代码检查服务,提供全面的静态分析能力,适用于无内置检查功能的开发环境。

  • by Bigsy
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Bigsy/clj-kondo-MCP

使用说明

clj-kondo MCP服务器

一个模型上下文协议(MCP)服务器,为Clojure/ClojureScript/EDN文件提供clj-kondo linting功能。对于没有内置linting功能的Claude代码和桌面来说很方便。您可能需要考虑编辑CLAUDE.md,要求它在编辑后进行lint。

特性

  • 通过MCP工具调用Lint Clojure文件
  • 支持所有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_lojure Lint 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

备注:由于MCP服务器作为单独的进程运行,文件和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