Spellbook MCP 服务器
使用说明
项目简介
Spellbook 提供一个基于 MCP 的服务器实现,用于向对话式大模型客户端提供统一的上下文资源、可注册与执行的工具、以及可渲染的提示模板。服务器通过 JSON-RPC 与客户端通信,负责会话管理、能力声明,以及支持多种传输协议(如 StdIO、SSE、WebSocket),以实现安全、可扩展的上下文服务。
主要功能点
- 资源管理:托管和访问后端资源(Resources),为 LLM 提供数据访问能力
- 工具注册与执行:注册工具并在需要时让 LLM 调用外部功能
- Prompt 模板定义与渲染:提供可自定义的 Prompt 模板,支持多种交互模式
- JSON-RPC 通信:与客户端以标准的 JSON-RPC 进行请求/响应和通知
- 会话与能力管理:服务端维护会话、能力声明、以及访问控制
- 多传输协议支持:Support StdIO、SSE、WebSocket 等传输协议的接入
安装步骤
- 准备环境:Python 3.10+,Git
- 获取代码:git clone https://github.com/axiomantic/spellbook.git
- 安装依赖:进入仓库后在虚拟环境中安装所需依赖(通过 install.sh/README 指引)
- 启动 MCP 服务器:在 Spellbook 仓库的服务器脚本位置运行脚本,或者按照运行文档中的命令启动
- 客户端连接:将 MCP 客户端配置为通过 HTTP/SSE/WebSocket 等传输协议连接到 MCP 服务器
服务器配置(供 MCP 客户端使用的连接信息,JSON 格式)
{ "server_name": "spellbook", "command": "python3", "args": ["-m", "spellbook_mcp.server", "--transport", "http", "--port", "8765"], "transport": "http", "endpoint": "http://127.0.0.1:8765/mcp", "notes": "MCP 客户端通过该端点与服务器进行 JSON-RPC 通信。根据部署环境也可以切换传输协议(如 SSE、WebSocket、StdIO)" }
基本使用方法
- 启动后,确保 MCP 服务器在指定端口对外暴露,客户端需要配置对应的 server_name、endpoint、以及传输类型
- 客户端在调用资源、工具、Prompt 获取等 MCP 功能时,通过 JSON-RPC 请求与服务器进行通信,服务端返回 JSON-RPC 响应
- 服务器处理会话、能力声明、以及多协议传输的切换,确保安全和可扩展性