CrawlChat MCP 服务端实现
使用说明内容(Markdown格式)
-
项目简介 CrawlChat 的 MCP 服务器实现,采用 Model Context Protocol(MCP)标准,为 LLM 客户端提供上下文资源、可调用工具以及可渲染的 Prompt 模板等能力。服务器通过 JSON-RPC 与客户端通信,支持以标准化方式托管资源、注册工具、执行外部功能,并提供会话管理与能力声明。
-
主要功能点
- 注册并暴露一个 MCP 服务器实例,包含名称与版本信息
- 注册工具(Tools),定义输入结构(通过 Zod 进行校验),实现查询并返回文本型内容
- 通过标准化传输(当前实现为标准输入输出 Stdio 传输)与 MCP 客户端通信,支持命令行启动参数配置
- 服务器端负责处理请求、组织对外调用并返回 JSON-RPC 风格的响应
- 依赖明显且可运行的 Node.js/TypeScript 实现,便于快速在本地或服务器环境中部署
- 启动时可通过命令行参数指定服务器标识与名称,确保与客户端对接的一致性
-
安装步骤
- 安装 Node.js 运行时
- 获取代码并安装依赖(如 npm install 或 pnpm install)
- 将 MCP 服务器源码编译为可执行形式(如 ts 编译为 js,或使用现有打包/运行方式)
- 使用命令行参数启动服务,传入服务器标识与名称
- 使用 MCP 客户端按 MCP 协议与该服务器建立连接并进行交互
-
服务器配置(供 MCP 客户端参考) 注意:MCP 客户端需要一个描述服务器连接信息的 JSON 配置,该配置包含服务器名称、启动命令及参数等,用于在客户端端启动并连接到 MCP 服务器。下面给出配置示例说明,实际数值需按你的环境替换为真实值。
{ "serverName": "crawl-chat", "command": "node", "args": [ "<path-to-built-mcp-server-index.js>", "--id", "<your-host-collection-id>", "--name", "crawl-chat" ], "description": "CrawlChat MCP 服务端,提供对外的资源与工具访问能力" }
说明:
- serverName:客户端用于标识该 MCP 服务器的名称,与服务器端注册的一致
- command / args:客户端将以该命令和参数在宿主机/运行环境中启动 MCP 服务器进程
- id 参数的值需要对应你希望 MCP 客户端查询的目标资源标识,服务器端通过该标识向后端服务发起请求并返回结果
- name 参数应与服务器端在启动时注册的名称一致,确保工具注册与能力声明的对齐
- 备注:客户端仅需要配置连接信息,实际的资源、工具、Prompts 的实现与渲染工作由 MCP 服务器完成
-
基本使用方法
- 启动 MCP 服务器进程(传入所需的启动参数,如服务器 id 与名称)
- 使用 MCP 客户端连接到该服务器,发送标准的 JSON-RPC 请求以读取资源、调用工具或获取 Prompt
- 服务器根据请求处理并返回相应的 JSON-RPC 响应,或向客户端通知状态变化
- 客户端可结合多种传输方式(如 stdio、SSE、WebSocket 等)进行扩展,以适应不同运行环境