SPAWN-MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- SPAWN-MCP 是一个完整的 MCP 服务器实现,使用 @modelcontextprotocol/sdk 提供的 MCP 服务端能力,注册并暴露多类工具(Tools)、资源/内存等能力,能够通过 HTTP 传输(StreamableHTTPServerTransport)对接 MCP 客户端。后台还实现了会话管理、认证、内存持久化、以及对外工具的注册与执行等。
-
主要功能点
- MCP 服务端核心:使用 MCP Server 构造器创建服务器,注册各类工具,提供对外的 JSON-RPC 请求处理与响应。
- 资源与内存管理:提供 spawn_memories 记忆体、活动日志等数据结构,支持持久化读写。
- 工具注册与执行:分模块注册多组工具(如 agentmail、数据库、内存、系统、活动等),供 LLM 调用执行。
- MCP 通信与传输:通过 StreamableHTTPServerTransport 实现对 MCP 客户端的流式 JSON-RPC 通信。
- 安全与认证:基于 Bearer Token 的简单认证、中间件实现对 MCP 端点的访问控制。
- 监控与可观测性:提供健康接口、活动日志、内存/系统健康监控、以及对外通知等能力。
- 数据库与持久化:使用 PostgreSQL+Drizzle ORM 进行数据表与查询,支持跨项目的持久化存储。
- 开箱即用的 MCP 端点与工具:/mcp 路由、/health、以及与 AgentMail、VPS、项目管理等相关工具的暴露。
-
安装步骤(简要且易操作)
-
- 获取代码
- 克隆仓库,进入仓库中的 SPAWN-MCP 子项目目录。
-
- 安装依赖
- 在 spawn-mcp 子目录执行安装命令,安装所需的 Node.js 依赖。
-
- 构建 MCP 服务器
- 使用仓库提供的构建脚本将 TypeScript 代码打包成可执行的 dist/index.cjs。
-
- 配置与运行
- 设置必要的环境变量(如 PORT、DATABASE_URL、AUTH_TOKEN、AUTH_SECRET、以及数据库相关变量)。
- 启动 MCP 服务器,监听 MCP 客户端的连接。
-
- 配置 MCP 客户端
- MCP 客户端需要将服务器信息配置成一个服务器条目,包含服务器名称、启动命令与参数等,以便在客户端启动并连接到 MCP 服务器。下方给出一个示例配置,便于理解。
-
-
服务器配置(用于 MCP 客户端连接的起动信息) 说明:以下字段用于 MCP 客户端的配置,表示如何启动并连接到该 MCP 服务器。客户端无需额外依赖即可读取此信息,具体的执行由 MCP 客户端根据该配置去启动对应的 MCP 服务端进程。 { "serverName": "spawn-mcp", "command": "node", "args": ["dist/index.cjs"], "env": { "PORT": "5020", "DATABASE_URL": "postgresql://scws:your_password@localhost:5432/spawn_mcp_daemon", "AUTH_TOKEN": "your_secure_token", "AUTH_SECRET": "optional_for_session_security" }, "notes": "从源码构建并运行后产出的 dist/index.cjs 即为 MCP 服务端执行入口;确保数据库和环境变量配置正确,客户端将通过 JSON-RPC 与之通信。" } 注释(说明性字段,用于帮助理解配置含义)
- serverName: MCP 服务器的名称
- command: 启动服务器的命令
- args: 启动命令的参数
- env: 启动环境变量(包含端口、数据库、认证等配置信息)
- notes: 额外说明与注意事项
-
基本使用方法
- 启动 MCP 服务器后,MCP 客户端通过初始化请求进行握手、能力探测与工具/资源查询等操作,随后可以调用已注册的 Tools 完成对外部功能的扩展。
- 客户端可以通过 /health、/mcp 等端点与 MCP 服务器进行交互,进行资源读取、工具调用、以及提示模板的渲染等。
- 服务器提供了持久内存、活动日志、 notifier 等能力,方便后续的会话与历史追踪。
-
维护与扩展
- 新增 Tools:在 spawn-mcp 的不同工具模块中实现新的工具注册,并公开其输入输出结构。
- 数据与日志:数据库表与内存模型已就绪,扩展时可按需要新增字段或表。
- 安全性:配合外部凭证管理,完善 token、密钥的安全存储与轮换策略。
-
关键词 LLM上下文服务, 工具注册, 资源管理, JSON-RPC, PostgreSQL
-
分类 6