使用说明
-
项目简介
- 该仓库实现了一个基于 MCP 的服务器,核心职责是通过 JSON-RPC 2.0 向客户端提供可访问的资源、可执行的工具以及可渲染的提示模板。服务器以 Go 语言实现,提供“初始化存储、任务管理、 breadcrumbs(上下文持久化)以及 MCP 服务器入口”等功能模块,并通过 stdin/stdout 实现标准的 MCP 通信。
-
主要功能点
- 资源与任务管理:通过本地 JSONL 存储管理任务、状态、依赖关系、优先级及标签等元数据。
- 工具注册与调用:实现多种 MCP 工具(如 create_task、update_task、get_task、list_tasks、get_next_task、complete_task、spawn_task、claim_task 等),支持参数化调用并返回结构化结果。
- 提示模板与上下文:提供 breadcrumbs 以实现跨会话的上下文持久化,支持设置、查询、列出和删除操作。
- MCP 服务器实现:实现 MCP 的 initialize、tools/list、tools/call 等核心接口,以及对客户端请求的 JSON-RPC 响应。
- 数据存储与缓存:使用 JSONL 存储作为源真数据,以及可选的 SQLite 缓存和 breadcrumb 存储,实现快速查询和一致性管理。
- 多代理协作:支持任务抢占、超时释放、按代理查询任务等能力,便于分布式代理协作。
-
安装步骤
- 以 Go 语言为例直接构建并运行:
- clone 仓库并进入项目目录
- go build -o synapse ./cmd/synapse/
- 使用命令启动 MCP 服务器:./synapse serve
- 运行依赖说明
- 服务器自身依赖 Go 标准库及仓库内的模块,运行时需要有 Go 环境。
- 以 Go 语言为例直接构建并运行:
-
服务器配置(供 MCP 客户端了解,客户端不需要修改服务器端代码;配置用于指望与 MCP 客户端的对接)
- 服务器名称(serverName):synapse
- 启动命令(command):synapse
- 启动参数(args):serve
- 配置示例(以 JSON 格式表达,供 MCP 客户端参考): { "serverName": "synapse", "command": "synapse", "args": ["serve"] }
- 说明:该配置用于 MCP 客户端在集成时知道如何启动并连接到服务器。实际连接仍通过 MCP 的标准 JSON-RPC 交互进行,客户端需要提供 serverName、command、args 等信息以完成对接。服务器端本身通过标准输入输出进行通信(stdin/stdout),客户端需按此约定发送请求。
-
基本使用方法
- 启动服务器后,客户端通过 MCP JSON-RPC 2.0 请求调用工具(如 create_task、get_task、get_next_task 等)并获取结果。
- 常见工作流包括:创建任务、查询就绪任务、领取任务、完成任务、设置与查询 breadcrumbs,以及获取上下文窗口等。
- 服务端还提供读取、更新和查看任务状态等多种操作,方便 AI 代理在本地或多代理场景中进行协作。
-
备注
- 服务器实现包含 initialize、tools/list、tools/call 等 MCP 核心接口,以及对多种工具的具体实现,具备可运行的 MCP 服务能力。
信息
分类
AI与计算