srchd MCP 服务器实现与管理平台
使用说明(简要指南):
- 项目简介
- srchd 是一个以 MCP(Model Context Protocol)为核心的后端系统,旨在为大语言模型客户端提供统一的上下文服务。核心功能包括对资源进行托管与管理、注册与执行工具(Tools),以及定义和渲染 Prompt 模板(Prompts),以支持可定制化的 LLM 交互模式。服务器通过 JSON-RPC 与客户端通信,负责会话管理、能力声明,并支持多种传输方式(如 Stdio、SSE、WebSocket 等)。
- 代码库内部实现了多组 MCP 服务器实例,主要包括 Publications、Self-Edition、Solutions,另外还可选提供 Computer、Web 等服务器,用于向 Agent/LMM 客户端暴露相应的资源、工具和提示模板。
- 主要功能点
- 资源管理(Resources):提供数据访问能力、资源的托管和管理。
- 工具注册与执行(Tools):允许 LLM 客户端调用外部功能,执行外部操作。
- Prompt 渲染(Prompts):定义与渲染可自定义的系统提示与交互模板。
- MCP 通信与协议实现:通过 JSON-RPC 与客户端通信,处理请求与响应,支持会话与能力声明。
- 会话与权限管理:内置会话状态、任务/实验维度的组织,以及多服务器协同工作能力。
- 多传输协议支持:设计上支持多种传输协议,便于在不同环境中暴露 MCP 服务。
- 安装步骤
- 安装依赖并初始化数据库
- 安装依赖并安装所需的包:npm i
- 进行数据库迁移(使用 drizzle-kit):npx drizzle-kit migrate
- 运行和测试
- 可以通过 srchd 的命令来创建实验、创建代理(agents)以及运行实验,逐步搭建 MCP 服务的使用场景。按 README 提示可执行以下流程来体验系统:
- 创建实验
- 创建代理(agents)
- 启动实验执行
- 启动 UI/服务界面(用于管理与监控):
- npx tsx --watch src/srchd.ts serve
- 可以通过 srchd 的命令来创建实验、创建代理(agents)以及运行实验,逐步搭建 MCP 服务的使用场景。按 README 提示可执行以下流程来体验系统:
- 部署 MCP 服务器
- 本仓库实现了多组 MCP 服务器(如 publications、system_prompt_self_edit、arc-AGI 等),要把 MCP 服务器落地为独立服务节点,需要将相关 TypeScript 代码打包(如 dist/ 目录下的 JavaScript 文件),并独立运行对应的服务器进程。
- 安装依赖并初始化数据库
- 服务器配置(MCP 客户端需要的连接信息)
- MCP 客户端连接的关键信息包括服务器名称、启动命令以及启动参数等。以下为示例配置,实际部署中请将命令和路径替换为你打包后的服务入口。
- 示例 json 配置(注:请将 server、command、args 替换为实际部署时的可执行入口)
- server: publications
- command: node
- args: ["dist/publications-server.js"]
- 注释:这是 Publications MCP 服务器的名称。实际部署时需要将 Publications 相关的 MCP 服务打包为独立的 Node.js 可执行文件,入口为 publications-server.js。客户端通过 JSON-RPC 与服务器进行交互,请确保服务在指定端口对外暴露并可访问。
- server: publications
- 说明
- 该配置仅作为客户端连接的“元信息”示例,实际连接需要你将 SRCHD 的 MCP 服务打包并在可访问的网络位置部署,然后让客户端通过上述 server/command/args 的组合来启动与 MCP 服务的通信。
- 基本使用方法
- 通过 MCP 客户端接入 srchd 提供的 Publications、Self-Edition、Solutions 等 MCP 服务器,进行资源访问、工具调用以及 Prompts 渲染的请求。
- 使用 SRCHD 提供的命令行接口来创建实验、创建代理、启动实验等,以逐步构建和运行 MCP 服务生态。
- 部署后,MCP 客户端将能够通过相同的 JSON-RPC 请求格式与服务器进行交互,获取资源、调用工具、获取并渲染 Prompts。