Calva MCP Server
项目简介
Calva MCP Server 是一款 VS Code 扩展,它实现了 Model Context Protocol (MCP) 协议,作为 MCP 服务器,为 AI 编程助手(如 GitHub Copilot)提供与 Clojure REPL 交互的桥梁。通过 Calva MCP Server,AI 助手可以访问 Clojure 项目的运行时环境,执行代码并获取实际的运行结果和数据结构,从而更准确地理解代码上下文,提供更智能的代码建议、补全和调试辅助。
主要功能点
- REPL 驱动的 AI 助手: 允许 AI 助手利用 Clojure REPL 的强大功能,不再是静态代码生成器,而是可以与开发者进行动态交互的编程伙伴。
- 代码执行与求值: AI 助手可以指示服务器在真实的 Clojure REPL 环境中执行代码,获取代码的实际运行结果,避免了基于猜测的代码建议。
- 数据结构探索: AI 助手可以查看真实的 Clojure 数据结构,而不仅仅是预测数据形状,从而更深入地理解程序状态。
- 函数测试与验证: 在 AI 助手提出函数建议之前,可以在 REPL 中使用真实输入测试函数,确保建议的有效性。
- REPL 辅助调试: AI 助手可以访问运行时错误信息,协助开发者进行 REPL 驱动的调试。
- 项目运行时上下文学习: AI 助手可以从项目代码的实际运行行为中学习,提高代码建议的准确性和相关性。
安装步骤
- 安装 VS Code: 确保已安装 Visual Studio Code 编辑器。
- 安装 Calva 扩展: 在 VS Code 扩展商店搜索并安装 Calva (Clojure & ClojureScript IDE)。
- 安装 Calva MCP Server 扩展: 在 VS Code 扩展商店搜索并安装 Calva MCP Server 扩展。
- 连接 Calva REPL: 在 VS Code 中打开您的 Clojure 或 ClojureScript 项目,并使用 Calva 连接到 REPL 环境 (如果尚未连接)。
服务器配置
由于 Calva MCP Server 是 VS Code 扩展,它作为 Calva 扩展的一部分运行,无需独立配置服务器启动命令和参数。MCP 客户端(通常是 AI 助手)需要配置连接到此 MCP 服务器,配置的关键在于识别和激活 VS Code 扩展。
以下是一个 MCP 客户端可能的配置示例 (JSON 格式),用于描述如何连接到 Calva MCP Server。请注意,实际配置方式取决于具体的 MCP 客户端实现,以下配置仅供参考,用于说明如何告知客户端使用此 VS Code 扩展提供的 MCP 服务:
{ "serverName": "Calva MCP Server", "protocol": "json-rpc", "transport": "vscode-extension", "extensionId": "betterthantomorrow.calva-mcp-server", "activationEvent": "onLanguage:clojure" // "activationEvent" 可以指示客户端在 VS Code 打开 Clojure 文件时激活此扩展提供的 MCP 服务。 // 其他配置项 (如 resources, tools, prompts 等) 应由 MCP 客户端根据 MCP 协议规范进行配置和发现。 }
配置说明:
- '"serverName"': MCP 服务器的名称,用于标识。
- '"protocol"': 通信协议,通常为 '"json-rpc"'。
- '"transport"': 传输方式,这里使用 '"vscode-extension"' 表示通过 VS Code 扩展机制进行通信。(实际传输协议可能在扩展内部实现,例如 WebSocket 或 Stdio,但对于客户端来说,关键是指定通过 VS Code 扩展访问)
- '"extensionId"': Calva MCP Server VS Code 扩展的 ID,客户端需要此 ID 来定位和激活扩展。
- '"activationEvent"': (可选) 触发扩展激活的事件,例如 '"onLanguage:clojure"' 表示当 VS Code 检测到 Clojure 语言时激活。这可以帮助客户端在合适的时机连接到 MCP 服务器。
重要提示: MCP 客户端的具体配置方法和所需的配置项会根据客户端的实现而有所不同。上述 JSON 配置仅为示例,用于表达连接到 VS Code 扩展形式的 MCP 服务器所需的基本信息。 实际使用时,请参考 MCP 客户端的文档,并根据 Calva MCP Server 扩展的实际能力声明进行配置。
基本使用方法
- 确保已安装并激活 Calva 和 Calva MCP Server 扩展,并已连接到 Clojure REPL。
- 启动您的 AI 编程助手 (例如,在 VS Code 中使用支持 MCP 协议的 AI 助手插件)。
- 在 AI 助手的配置中,配置连接到 Calva MCP Server (参考上述服务器配置示例)。
- 在 Clojure 代码编辑过程中,AI 助手将能够通过 Calva MCP Server 与 REPL 交互,从而提供更智能的代码辅助功能。
- 您可以体验 AI 助手如何利用 REPL 执行代码、探索数据、测试函数,并获得更准确的代码建议和调试帮助。