使用说明

项目简介

'mcp-clj' 是一个使用 Clojure 语言开发的 Model Context Protocol (MCP) 服务器实现,旨在通过 SSE 传输协议将 Clojure REPL 的功能提供给大型语言模型 (LLM) 客户端。它允许 LLM 客户端执行 Clojure 代码并获取结果,从而实现更丰富的交互和功能扩展。

主要功能点

  • MCP 协议实现: 遵循 Model Context Protocol 规范,支持 LLM 客户端通过标准化的 JSON-RPC 接口进行通信,实现上下文信息的传递和功能调用。
  • Clojure REPL 功能暴露: 核心功能是将 Clojure REPL 的能力通过 MCP 协议对外提供,允许 LLM 客户端动态执行 Clojure 代码,获取执行结果。
  • SSE 传输协议: 使用 Server-Sent Events (SSE) 作为 MCP 服务器的传输协议,提供轻量级、实时的服务器推送能力,用于与 MCP 客户端进行通信。
  • 资源和工具管理: 作为 MCP 服务器,理论上支持资源 (Resources) 的托管和管理,以及工具 (Tools) 的注册和执行,虽然具体实现细节需要查看代码确认,但从 MCP 服务器的定义来看,这些是其应具备的功能。
  • Prompt 模板支持: MCP 服务器通常具备 Prompt 模板定义和渲染能力,以支持可定制的 LLM 交互模式,'mcp-clj' 作为 MCP 服务器实现,可能包含或支持 Prompt 模板功能。

安装步骤

  1. 添加依赖: 在您的 Clojure 项目的 'deps.edn' 或 'project.clj' 配置文件中,将 'mcp-clj' 添加为依赖项。例如,在 'deps.edn' 中添加:

    {:deps {org.hugoduncan/mcp-clj
            {:git/url   "https://github.com/hugoduncan/mcp-clj"
             :git/sha   "replace with latest git sha"  ;; 替换为最新的 Git SHA
             :deps/root "projects/server"}}}

    请将 '"replace with latest git sha"' 替换为仓库最新的 commit SHA 值。

  2. 启动服务器: 在您的 Clojure 代码中,引入 'mcp-clj.mcp-server.core' 命名空间,并使用 'create-server' 函数创建并启动 MCP 服务器。例如:

    (require 'mcp-clj.mcp-server.core)
    (def server (mcp-clj.mcp-server.core/create-server {:port 3001}))

    这段代码将在端口 '3001' 上启动 'mcp-clj' 服务器。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),需要配置连接到 'mcp-clj' 服务器的信息。通常需要借助 'mcp-proxy' 作为代理。以下是 'claude_desktop_config.json' 中 'mcp-proxy' 的配置示例:

{
  "server name": "mcp-clj",
  "command": "mcp-proxy",
  "args": [
    "http://localhost:3001/sse"  // mcp-clj 服务器 SSE 接口地址
  ]
}

配置说明:

  • '"server name"': 为服务器配置一个名称,例如 "mcp-clj",用于在客户端配置中标识。
  • '"command"': 指定启动 'mcp-proxy' 程序的命令,通常为 '"mcp-proxy"'(假设 'mcp-proxy' 可执行文件已在系统 PATH 环境变量中)。
  • '"args"': 'mcp-proxy' 程序的参数列表。
    • '"http://localhost:3001/sse"': 这是 'mcp-clj' 服务器提供的 SSE 接口地址。'mcp-proxy' 会连接到这个地址,并将客户端的 MCP 请求转发到 'mcp-clj' 服务器。请确保此地址与 'mcp-clj' 服务器实际运行的地址和端口一致。

注意: 上述配置是针对使用 'mcp-proxy' 作为桥梁连接 Claude Desktop 和 'mcp-clj' 服务器的情况。实际使用时,请根据 MCP 客户端的具体配置方式进行调整。

基本使用方法

  1. 启动 'mcp-clj' 服务器(按照安装步骤中的说明)。
  2. 启动 'mcp-proxy' 代理程序,并确保其配置指向正确的 'mcp-clj' 服务器地址。
  3. 配置 MCP 客户端(例如 Claude Desktop),使其通过 'mcp-proxy' 连接到 MCP 服务器。
  4. 在 MCP 客户端中,即可利用 'mcp-clj' 服务器提供的 Clojure REPL 功能,例如执行 Clojure 代码,获取执行结果,并与 LLM 进行基于代码执行的交互。

信息

分类

AI与计算