使用说明

  • 项目简介
    • 该仓库实现了一个 MCP 服务器,具备标准的资源管理、工具调用和提示模板等能力,通过 JSON-RPC 与客户端通信,支持跨进程的上下文服务。
  • 主要功能点
    • JSON‑RPC 2.0 请求/响应格式的一条消息一行传输,支持 initialize、ping、tools 列表与调用等协议流程
    • 资源与文件相关工具:fs-read-file、fs-write-file、fs-list-directory、fs-get-project-info、fs-set-project-root
    • Lisp 相关工具:repl-eval、lisp-read-file、lisp-edit-form、lisp-check-parens
    • 代码分析与查询:code-find、code-describe、code-find-references
    • 文件和代码浏览辅助:lisp-read-file 的 Lisp‑aware 展开与折叠,以及基于 eclector CST 的结构化编辑
    • 转运通道:stdio、tcp、http(用于 Claude Code 的流式 HTTP)
    • 日志与测试:结构化 JSON 日志,内置 rove 测试集
    • 安全性提示:读取限定在项目根或 ASDF 系统源目录内;写入仅限项目根目录
  • 安装步骤
    • 前提:需要 SBCL 2.x、Quicklisp、ASDF,推荐使用 rove 运行测试
    • 常用准备
      • 配置开发环境后,在 SBCL REPL 中快速加载:ql:quickload :cl-mcp
      • 使用 TCP 传输时,启动服务器,例如在 REPL 中执行:(cl-mcp:start-tcp-server-thread :port 12345)
      • 使用 stdio 传输时,确保设置 MCP_PROJECT_ROOT 环境变量为当前项目根目录,并以 stdio 模式启动服务器
    • 运行测试:使用 rove 指定仓库中的测试集合运行 (如 rove cl-mcp.asd)
  • 服务器配置(MCP 客户端需要提供的启动信息,示例为 JSON 配置,包含 serverName、command、args 等) { "serverName": "cl-mcp", "command": "ros", "args": ["run", "-s", "cl-mcp", "-e", "(cl-mcp:run)"], "env": { "MCP_PROJECT_ROOT": "<your-project-root-path>" }, "notes": "使用上述命令在 Lisp 运行环境中启动 MCP 服务器,客户端通过 serverName 识别并连接。若在不同环境需要自定义工作目录,请设置 MCP_PROJECT_ROOT。" }
  • 基本使用方法
    • 启动方式
      • TCP 传输:在 CL-Shell/REPL 启动后执行 (cl-mcp:start-tcp-server-thread :port 12345)
      • HTTP 传输(用于 Claude Code 等客户端):(cl-mcp:start-http-server :port 3000)
      • StdIO 传输:在已配置 MCP_PROJECT_ROOT 的前提下,通过 ros 或将服务器以 Repl 形式运行
    • 连接与交互
      • 客户端通过 JSON‑RPC 调用 initialize 进行版本握手与能力发现
      • 根据需要调用 tools(如 repl-eval、fs-read-file、code-find 等)实现对代码库的读写与分析
      • 使用 fs-set-project-root 等工具明确服务器的工作根目录,确保路径解析正确

信息

分类

AI与计算