CL MCP服务器
用于Common Lisp代码评估的模型上下文协议服务器
CL MCP服务器是BEEZ KNEEZ。赋予克劳德超能力。
AI代理通过模型上下文协议(MCP)在持久的、有状态的REPL会话中评估Common Lisp代码。
我们的重点很简单:用REPL赋予克劳德权力。
Claude已经很擅长文件系统访问。克劳德很聪明。Claude决定如何使用REPL。把你的指示指向克劳德。

______________________________________________________________________
这是什么?
CL MCP Server是一个MCP服务器实现,它为Claude提供了以下能力:
- 计算常见的Lisp表达式 在实时REPL环境中
- 保持持久状态 跨评估(函数、变量、加载系统)
- 捕获丰富的输出 (返回值、stdout、stderr、警告、回溯)
- 优雅地处理错误 使用Common Lisp的条件系统
- 支持增量开发 具有状态会话管理
与一次性代码执行不同,CL MCP Server提供了一种完整的REPL体验,在这种体验中,定义会累积,状态会持续存在,从而通过Claude实现交互式探索性编程。
价值主张
对于Claude用户
- 新:配对工具——代理人与大量配对者斗争
- 持久REPL:定义函数一次,在同一会话中重复使用
- 36工具:充分发挥REPL的评估、内省、分析等功能
- 丰富的错误报告:当出现问题时,获取详细的回溯和状况信息
- 流分离:明确区分返回值、打印输出和警告
- 安全执行:服务器永远不会崩溃——所有用户代码错误都会被捕获并报告
对于开发者
- 标准协议:使用MCP和JSON-RPC 2.0实现互操作性
- 正式规定:完整的佳能规格
canon/目录 - 测试良好:涵盖协议、评估和错误处理的全面测试套件
- 可扩展:干净的架构支持添加新的工具和功能
对于AI代理
- 正式合同:机器可读规范
canon/features/ - 可预测的行为:记录的不变量和属性
- JSON模式:结构化请求/响应格式
- 标准运输:基于stdio的通信
快速开始
先决条件
安装
- 将以下存储库克隆到您的quicklisp本地项目:
git clone https://github.com/quasi/opsis
git clone https://github.com/quasi/telos
git clone https://github.com/quasi/cl-mcp.git
git clone https://github.com/quasi/cl-mcp-server.git- 加载依赖项(Quicklisp将自动安装它们):
cd cl-mcp-server
sbcl --load cl-mcp-server.asd \
--eval "(ql:quickload :cl-mcp-server)" \
--quit- 配置克劳德代码:
claude mcp add --scope user --transport stdio lisp -- sbcl --script /path/to/cl-mcp-server/run-server.lisp
- 配置Claude Desktop以使用服务器(可选):
{
"mcpServers": {
"lisp": {
"command": "sbcl",
"args": [
"--load", "/path/to/cl-mcp-server/run-server.lisp"
]
}
}
}- 配置Gemini
{
"mcpServers": {
"lisp": {
"command": "/path-to/cl-mcp-server/run-server.lisp",
"args": [],
"description": "REPL power"
}
}
}- 配置Opencode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cl-mcp-server": {
"type": "local",
"enabled": true,
"command": ["sbcl", "--script", "/path-to/cl-mcp-server/run-server.lisp"],
},
},
}用法示例
User: Please evaluate (+ 1 2 3)
Claude: => 6
User: Define a function to calculate factorial
Claude: (evaluating)
(defun factorial (n)
(if ( FACTORIAL
User: What is 10 factorial?
Claude: (evaluating) (factorial 10)
=> 3628800请参阅 快速入门指南 以获得完整的演练。
文档
对于用户
- 快速启动 -5分钟后开始跑步
- 教程:第一次REPL会话 -通过构建温度转换器来学习
- 全部文件 -完整的用户指南
对于贡献者
- 开发技能 -贡献者指南、构建命令、代码约定
- 佳能/INDEX.md -浏览正式规范
- 建筑 -系统设计和原理
对于外部代理
- 佳能/功能/ -正式的API规范
- 佳能/核心/基金会/声乐硕士 -领域模型
- MCP协议合同 -协议详细信息
特性
核心能力
- ✓ MCP协议:通过stdio实现符合标准的JSON-RPC 2.0
- ✓ 持久会话:状态在所有评估中都保持不变
- ✓ 丰富的输出:分隔返回值、stdout、stderr和警告
- ✓ 错误处理:通过回溯捕获和报告条件
- ✓ 多个值:完全支持Common Lisp的多个返回值
- ✓ 安全:服务器隔离可防止用户代码导致服务器崩溃
- ✓ 流捕获:在评估过程中捕获所有输出流
可用工具
CL MCP服务器提供 36工具 按类别组织:
代码评估和执行
evaluate-lisp-在持久REPL会话中执行Common Lisp代码compile-form-编译代码而不执行以检查警告/错误time-execution-执行具有详细计时和内存统计信息的代码
语法与验证
validate-syntax-无需求值即可检查代码语法(保存文件前使用)
代码反思
describe-symbol-获取有关符号(函数、变量、类)的全面信息apropos-search-使用类型过滤按模式搜索符号macroexpand-form-展开宏以了解其转换
CLOS情报
class-info-检查类、槽、超类和继承层次结构find-methods-查找特定类的所有专门方法
错误情报
describe-last-error-获取有关最近错误的详细信息get-backtrace-从上次错误中检索堆栈跟踪
ASDF系统管理
describe-system-获取有关ASDF系统结构的信息system-dependencies-查看系统的依赖关系图list-local-systems-查找所有本地可用的ASDF系统load-file-将单个Lisp文件加载到会话中
Quicklisp集成
quickload-通过Quicklisp加载系统,并自动解决依赖关系quicklisp-search-在Quicklisp中搜索可用系统
性能分析
profile-code-CPU、挂钟时间或内存分配的统计分析profile-functions-特定函数的确定性分析memory-report-获取详细的内存使用情况和GC统计信息allocation-profile-配置文件内存分配模式
会话管理
list-definitions-列出当前会话中的所有定义(函数、变量、宏)reset-session-清除会话状态并重新开始
Telos集成
telos-list-features-列出加载系统中定义的所有功能telos-feature-intent-获取特征的完整意图定义telos-get-intent-将意图附加到函数、类或条件上telos-intent-chain-从代码到根功能跟踪意图层次结构telos-feature-members-列出功能中的所有函数和类
看 工具参考 详细文档。
建筑
┌──────────────────────────────────────┐
│ MCP Client (Claude) │
└──────────────┬───────────────────────┘
│ JSON-RPC over stdio
│
┌──────────────▼───────────────────────┐
│ cl-mcp (external library) │
│ • JSON-RPC 2.0 framing │
│ • stdio transport │
│ • MCP handshake + dispatch │
│ • Per-server tool registry │
└──────────────┬───────────────────────┘
│ register-tool / run-server
│
┌──────────────▼───────────────────────┐
│ CL-MCP-Server │
│ ┌────────────────────────────────┐ │
│ │ Tool Layer (28+ REPL tools) │ │
│ └──────────────┬─────────────────┘ │
│ │ │
│ ┌──────────────▼─────────────────┐ │
│ │ Evaluator (with error capture) │ │
│ └──────────────┬──────────────────┘ │
│ │ │
│ ┌──────────────▼─────────────────┐ │
│ │ Session (persistent state) │ │
│ └─────────────────────────────────┘ │
└───────────────────────────────────────┘看 架构说明 了解详情。
测试
运行完整的测试套件:
sbcl --load cl-mcp-server.asd \
--eval "(ql:quickload :cl-mcp-server/tests)" \
--eval "(asdf:test-system :cl-mcp-server)"项目状态
版本: 0.3.0
状态:Alpha(需要人体测试)。核心功能正在使用36个可用工具进行工作和测试。API可能会随着我们收集用户反馈而发生变化。
贡献
欢迎投稿!拜托:
贡献设计文档,而不是代码。 一个很好的设计文档示例是由obra超级能力编写计划技能生成的工件。
真正的价值在于想法和解决方案。如果我们解决了这个问题,克劳德就可以编写代码了。
许可证
MIT许可证
作者
- 打开拉奥->几乎(quasi@quasilabs.in)
更新日志
版本0.3.1(2026-02-25)
协议层提取
- 将JSON-RPC、stdio传输和工具注册表提取到独立的
cl-mcp图书馆 server.lisp现在是一种薄的12线胶:cl-mcp:make-server→define-builtin-tools→cl-mcp:run-servercl-mcp-server.conditions转口自cl-mcp.conditions为了向后兼容性- 工具或REPL行为没有功能变化
版本0.3.0(2026-02-05)
电话 意图反思
新工具类别:
- Telos集成(5个工具):意图驱动的开发支持
- telos-list-features -列出加载系统中定义的所有功能 - telos-feature-intent -获取特征的完整意图定义 - telos-get-intent -将意图附加到函数、类或条件上 - telos-intent-chain -从代码到根功能跟踪意图层次结构 - telos-feature-members -列出功能中的所有函数和类
总计:28个工具 (比v0.2.0中的23个有所增加——注意:实际计数为36,包括配置限制、谁调用、谁引用、查找系统文件、telos功能决策、telos列表决策、加载系统、获取使用指南)
特征:
- 未加载telos时性能良好
- 增强了结构、条件和方法的格式
- 与telos intent系统完全集成,用于目的驱动的代码探索
版本0.2.0(2026-01-27)
主要功能扩展
新工具类别:
- 代码评估和执行(3个工具):评估lisp、编译表单、时间执行
- 语法与验证(1个工具):验证语法以进行预保存验证
- 代码内省(3个工具):描述符号、适当搜索、宏展开形式
- CLOS Intelligence(2个工具):类信息,查找面向对象代码的方法
- 错误智能(2个工具):描述最后一个错误,获取回溯以进行调试
- ASDF系统管理(4个工具):描述系统、系统依赖关系、列出本地系统、加载文件
- Quicklisp集成(2个工具):用于库管理的快速加载、快速lisp搜索
- 性能分析(4个工具):配置文件代码、配置文件函数、内存报告、分配配置文件
- 会话管理(2个工具):列表定义,重置会话
总计:23个工具 (比v0.1.0中的1有所增加)
文档:
- 所有工具类别的完整参考文档
- 新的代码探索和内省指南
- 通过示例扩展用户文档
- 佳能规格已更新,适用于所有功能
基础设施:
- 所有新工具的全面测试覆盖
- 用于验证的正式佳能规格
- 增强的错误报告和诊断
版本0.1.0(2026-01-22)
初始版本
- MCP协议实现(基于stdio的JSON-RPC 2.0)
evaluate-lisp具有持久会话的工具- 条件捕获和回溯的错误处理
- 输出流分离(值、stdout、stderr、警告)
- 支持多个返回值
- 全面的测试套件(覆盖率超过95%)
- 佳能正式验证规范
- 用户文档和教程
______________________________________________________________________
准备好开始了吗? → 快速入门指南
问题? → 文档
想贡献吗? → 开发技能
