使用说明

项目简介

clj-kondo MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,它利用 clj-kondo 工具为 LLM 客户端提供 Clojure、ClojureScript 和 EDN 文件的代码静态分析服务。该服务器允许 LLM 客户端通过标准化的 MCP 协议调用代码检查工具,从而增强 LLM 在代码理解和生成方面的能力。

主要功能点

  • Clojure 代码检查: 提供对 Clojure、ClojureScript 和 EDN 文件的代码静态分析功能。
  • clj-kondo 能力支持: 支持 clj-kondo 的所有分析能力,包括代码错误、潜在问题和风格建议等检查。
  • 可配置化: 允许用户通过可选的配置目录指定 clj-kondo 的配置文件,以定制检查规则。
  • MCP 工具调用: 通过 MCP 协议的工具调用机制,使得 LLM 客户端可以请求对指定文件进行代码检查。

安装步骤

  1. 安装 Node.js 依赖: 确保你的环境中安装了 Node.js 和 npm,然后在仓库根目录下运行以下命令安装项目依赖:
    npm install
  2. 构建服务器: 运行以下命令构建服务器代码:
    npm run build
    构建成功后,会在 'build' 目录下生成服务器的可执行文件 'index.js'。

服务器配置

MCP 客户端需要配置以下信息来启动和连接 clj-kondo MCP 服务器。配置通常在客户端的 MCP 设置中进行,以 JSON 格式添加一个新的服务器配置项。例如,如果你的客户端允许你自定义服务器名称为 "clj-kondo",则配置内容如下:

{
  "clj-kondo": {
    "command": "node",
    "args": ["build/index.js"],
    "disabled": false,
    "autoApprove": []
  }
}

配置参数说明:

  • 'command': 启动 MCP 服务器的命令。这里设置为 'node',表示使用 Node.js 运行时环境。
  • 'args': 传递给 'command' 的参数,用于指定服务器的入口文件。这里设置为 '["build/index.js"]',指向构建后的服务器主程序文件。
  • 'disabled': (可选) 是否禁用此服务器。设置为 'false' 表示启用。
  • 'autoApprove': (可选) 自动批准的工具列表。对于 'clj-kondo' 服务器,可能不需要自动批准特定工具,可以设置为空数组 '[]'。

基本使用方法

  1. 启动服务器: 配置完成后,当 MCP 客户端尝试连接到名为 "clj-kondo" 的服务器时,客户端会根据配置的 'command' 和 'args' 启动 'clj-kondo MCP 服务器'。服务器启动后,将通过标准输入/输出 (stdio) 与客户端进行通信。
  2. 调用代码检查工具: LLM 客户端可以通过 MCP 协议向服务器发送工具调用请求,以执行代码检查。服务器提供名为 'lint_clojure' 的工具。

调用 'lint_clojure' 工具的参数示例:

{
  "name": "lint_clojure",
  "arguments": {
    "file": "/absolute/path/to/your/file.clj",  // 必填:要检查的 Clojure 文件的绝对路径
    "configDir": "/absolute/path/to/your/config/dir" // 可选:clj-kondo 配置目录的绝对路径,不提供则使用默认配置查找规则
  }
}

工具调用响应:

服务器会执行 clj-kondo 代码检查,并将检查结果以文本形式返回给客户端。响应内容可能包含代码中的警告、错误信息以及检查耗时等。

file.clj:2:14: warning: namespace clojure.string is required but never used
linting took 62ms, errors: 0, warnings: 1

请确保在 MCP 客户端中正确配置并启动 'clj-kondo MCP 服务器',然后通过工具调用请求使用代码检查功能。

信息

分类

开发者工具