Make CoPilot an Interactive Programmer

Make CoPilot an Interactive Programmer

site icon
2025.04.22 1
Clojure交互式编程AI 辅助开发开发效率
Calva MCP Server 是一个为 VS Code 的 Clojure/ClojureScript 扩展 Calva 设计的 Model Context Protocol (MCP) 服务器扩展。它通过赋予 AI 助手访问 REPL 的能力,将静态代码生成工具转变为交互式编程伙伴。该工具特别适合 Clojure 开发者,能够帮助 AI 助手在实际环境中评估代码、查看真实数据结构、测试函数输入,并与开发者一起调试。
View on GitHub

Overview

基本能力

产品定位

Calva MCP Server 是一个为 Clojure/ClojureScript 开发者设计的工具,旨在通过 MCP 协议将 AI 助手(如 GitHub Copilot)与 REPL 环境集成,提供交互式编程支持。

核心功能

  • 代码评估:AI 助手可以在实际环境中评估 Clojure 代码。
  • 数据探索:提供交互式数据探索功能,帮助生成更智能的代码建议。
  • 调试支持:通过 REPL 提供调试支持,帮助 AI 助手理解运行时错误。
  • 项目集成:与现有 Clojure/ClojureScript 项目无缝集成。

适用场景

  • 开发者希望 AI 助手能够理解并运行他们的 Clojure 代码。
  • 需要 AI 助手基于实际运行时数据生成代码建议的场景。
  • 开发者希望 AI 助手能够参与调试过程。

工具列表

  • evaluate-clojure-code:当前唯一的工具,用于在 REPL 中评估 Clojure 代码。

常见问题解答

  • 安全性问题:使用该工具时,AI 助手可以访问 REPL 环境,因此需要谨慎使用以避免潜在的安全风险。
  • 功能限制:当前仅支持代码评估功能,且不支持 stdout/stderr 输出。

使用教程

使用依赖

  • VS Code
  • Calva
  • AI 编码助手(如 GitHub Copilot)
  • Clojure 环境依赖(如 Clojure、Babashka 等)

安装教程

  1. 从 VS Code 的扩展面板安装 Calva MCP Server。
  2. 启动 Calva MCP socket 服务器。
  3. 在项目的 .vscode/mcp.json 中添加 MCP 服务器配置。
  4. 停止 Calva MCP socket 服务器(建议养成此习惯)。

CoPilot 配置

.vscode/mcp.json 中添加以下配置:

{
  "servers": {
    "calva": {
      "type": "stdio",
      "command": "node",
      "args": [
        "${extensionInstallFolder:betterthantomorrow.calva-mcp-server}/dist/calva-mcp-server.js",
        "${workspaceFolder}/.calva/mcp-server/port"
      ]
    }
  }
}

调试方式

  1. 将 Calva 连接到 Clojure/ClojureScript 项目。
  2. 执行命令:Calva MCP Server: Start the socket server
  3. .vscode/mcp.json 中使用 Start 按钮启动 "calva" 服务器。
  4. 开始使用带有 REPL 功能的 AI 助手。

注意:使用该工具时,AI 助手可以执行任何 REPL 环境中的操作,因此需谨慎使用。

完成使用后,执行命令:Calva MCP Server: Stop the socket server 以停止服务器。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。