使用说明
项目简介
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 客户端可以请求对指定文件进行代码检查。
安装步骤
- 安装 Node.js 依赖: 确保你的环境中安装了 Node.js 和 npm,然后在仓库根目录下运行以下命令安装项目依赖:
npm install - 构建服务器: 运行以下命令构建服务器代码:
构建成功后,会在 'build' 目录下生成服务器的可执行文件 'index.js'。npm run build
服务器配置
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' 服务器,可能不需要自动批准特定工具,可以设置为空数组 '[]'。
基本使用方法
- 启动服务器: 配置完成后,当 MCP 客户端尝试连接到名为 "clj-kondo" 的服务器时,客户端会根据配置的 'command' 和 'args' 启动 'clj-kondo MCP 服务器'。服务器启动后,将通过标准输入/输出 (stdio) 与客户端进行通信。
- 调用代码检查工具: 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 服务器',然后通过工具调用请求使用代码检查功能。
信息
分类
开发者工具