项目简介

Clojure MCP 是一个 Model Context Protocol (MCP) 服务器实现,专门为 Clojure 项目的 REPL 驱动开发提供 AI 辅助。它将 AI 模型与 Clojure nREPL 连接起来,并提供一套丰富的、理解 Clojure 语法的开发工具,旨在提升 Clojure 开发者的工作效率和体验。

主要功能点

  • Clojure REPL 连接: 能够连接到正在运行的 Clojure nREPL 服务器,允许 AI 模型执行代码、检查状态。
  • Clojure 智能编辑: 集成了多种 Clojure 工具(如 clj-kondo, parinfer, cljfmt),支持结构化、语法感知的代码编辑操作,帮助 AI 生成和修改正确格式的代码。
  • 丰富的开发工具集: 提供一套为 Clojure 开发优化的工具,包括文件读取、内容搜索、代码评估、文件编辑、Shell 命令执行等。
  • 会话状态管理: 服务器维护文件读写状态,确保 AI 在修改文件时的安全性。
  • Prompt 和资源管理: 支持定义和提供 Prompt 模板(如生成项目摘要)和上下文资源(如项目文件、代码风格指南)给 AI 客户端使用。
  • Agent 工具: 包含需要 API Key 的高级 AI Agent 工具,用于执行更复杂的任务(如代码评审、架构规划)。

安装步骤

  1. 设置 Clojure MCP 服务器:

    • 确保已安装 Clojure (1.11+) 和 Java (JDK 11+)。
    • 在你的全局或项目 'deps.edn' 文件中,添加 Clojure MCP 作为 git 依赖或本地依赖,并为其定义一个别名(例如 ':mcp'),同时指定服务器启动函数和参数(例如端口号)。
  2. 配置目标 Clojure 项目:

    • 在你希望使用 AI 辅助的 Clojure 项目的 'deps.edn' 中,配置一个 nREPL 启动别名(例如 ':nrepl'),并指定端口号。确保 nREPL 运行的端口号与 MCP 服务器配置中连接 nREPL 的端口号一致。
  3. 配置 MCP 客户端 (例如 Claude Desktop):

    • 编辑你的 MCP 客户端的配置文件(例如 Claude Desktop 的 'claude_desktop_config.json')。
    • 在 'mcpServers' 部分,添加一个新的服务器配置项。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要知道如何启动并连接到 Clojure MCP 服务器。以下是一个典型的 JSON 配置结构,你需要根据你的实际安装路径和配置进行修改:

{
    "mcpServers": {
        "服务器名称": {
            "command": "用于启动服务器的可执行文件或脚本路径",
            "args": [
                "command 参数 1",
                "command 参数 2",
                "..."
            ]
            // 可选: 配置环境变量
            // "env": {
            //     "环境变量名": "环境变量值"
            // }
        }
    }
}
  • 服务器名称: 给这个 MCP 服务器连接起一个在客户端中显示的友好名称,例如 "clojure-mcp"。
  • command: 执行 Clojure 命令的路径,通常是 '/bin/sh' 或直接是你的 'clojure' 命令路径。
  • args: 传递给 command 的参数。通常会包含:
    • 'cd /你的/clojure-mcp/安装路径': 进入 Clojure MCP 项目目录。
    • 'PATH=/你的/系统/bin/路径:$PATH': 确保 'clojure' 等命令在 PATH 中可执行。
    • 'clojure -X:你的mcp别名 :port 你的端口号': 使用 Clojure '-X' 命令以你定义的 ':mcp' 别名启动服务器,并指定端口号。
  • env: 如果你的某些工具(如 Agent 工具)需要 API Keys,你可以在这里配置相应的环境变量,或者确保这些环境变量已经在启动服务器的环境中设置。

配置完成后,启动或重启你的 MCP 客户端。

基本使用方法

  1. 在你的目标 Clojure 项目目录中启动 nREPL 服务器,使用你在 'deps.edn' 中配置的别名和端口。
  2. 启动或重启你的 MCP 客户端(例如 Claude Desktop)。
  3. 在客户端界面中,验证是否检测到 Clojure MCP 服务器连接。
  4. 开始新的对话时,可以通过客户端界面从 Clojure MCP 服务器添加提供的资源(如项目摘要、项目信息)和 Prompt 模板(如 REPL 系统 Prompt)。
  5. 在与 AI 交互时,可以通过对话指示 AI 使用服务器提供的工具来执行 Clojure 代码评估、文件读写、代码编辑等操作,结合 REPL 进行迭代开发和验证。
  6. 利用 'PROJECT_SUMMARY.md' 管理工作流,在修改代码后使用相应的 Prompt 更新项目摘要,帮助 AI 更好地理解项目。

信息

分类

开发者工具