cl mcp
主控程序 服务器 *和* 客户端 Common Lisp框架。
服务器:将任何CL函数作为MCP工具公开-- make-server → register-tool → run-server.
客户:连接到任何MCP服务器子流程、列表工具、调用工具-- make-client → connect → list-tools / call-tool.
框架处理JSON-RPC 2.0成帧、NDJSON stdio传输、MCP协议协商、工具验证、线程和错误恢复。消费者代码是纯粹的业务逻辑。
协议:MCP 2025-06-18(服务器)/2025-11-25(客户端)| 语言:通用Lisp(SBCL)| 许可证:MIT
*为您的代理提供开发和集成技能。*
快速入门--服务器
sbcl --load cl-mcp.asd --eval "(ql:quickload :cl-mcp)"(defvar *server* (cl-mcp:make-server :name "my-server" :version "1.0.0"))
(cl-mcp:register-tool *server* "ping"
:description "Returns pong"
:schema '(("type" . "object"))
:handler (lambda (args) (declare (ignore args)) "pong"))
(cl-mcp:run-server *server*)快速入门--客户端
sbcl --load cl-mcp.asd --eval "(ql:quickload :cl-mcp/client)"(cl-mcp.client:with-mcp-client (client
:name "my-agent"
:command '("npx" "@modelcontextprotocol/server-filesystem" "/tmp"))
(let ((tools (cl-mcp.client:list-tools client)))
(format t "Available tools: ~{~a~^, ~}~%"
(mapcar (lambda (t) (getf t :name)) tools)))
(let ((result (cl-mcp.client:call-tool client "read_file"
'(("path" . "/tmp/hello.txt")))))
(print (getf result :content))))文档
| 文档 | 受众 | 目的 |
|---|---|---|
| .claude/技能/整合/SKILL.md | 消费者 | 在项目中使用cl-mcp(服务器+客户端) |
| .clade/skills/dev/SKILL.md | 贡献者 | 致力于cl mcp |
运行测试
# Server tests
sbcl --load cl-mcp.asd \
--eval "(ql:quickload :cl-mcp/tests)" \
--eval "(asdf:test-system :cl-mcp)"
# Client tests
sbcl --load cl-mcp.asd \
--eval "(ql:quickload :cl-mcp/client-tests)" \
--eval "(asdf:test-system :cl-mcp/client)"作者
Abhijit Rao/准/准实验室
