使用说明
项目简介
'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 模板功能。
安装步骤
-
添加依赖: 在您的 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 值。
-
启动服务器: 在您的 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 客户端的具体配置方式进行调整。
基本使用方法
- 启动 'mcp-clj' 服务器(按照安装步骤中的说明)。
- 启动 'mcp-proxy' 代理程序,并确保其配置指向正确的 'mcp-clj' 服务器地址。
- 配置 MCP 客户端(例如 Claude Desktop),使其通过 'mcp-proxy' 连接到 MCP 服务器。
- 在 MCP 客户端中,即可利用 'mcp-clj' 服务器提供的 Clojure REPL 功能,例如执行 Clojure 代码,获取执行结果,并与 LLM 进行基于代码执行的交互。
信息
分类
AI与计算