kimsweb-front 飞书文档 MCP 服务端
使用说明(Markdown 格式)
-
项目简介
- 该仓库中包含一个名为 doc-mcp 的模块,实现了基于 MCP 的服务端框架,核心目标是让 AI 助手通过标准化接口能够读取知识库、调用工具并渲染 Prompts,从而为 LLM 客户端提供丰富的上下文与外部功能。
-
主要功能点
- MCP 服务端实现与传输支持:支持通过标准 MCP 协议处理请求与响应,提供 Stdio、SSE(HTTP)等多种传输方式。
- 工具注册与执行:注册与暴露工具(如列出文档空间等),LLM 可调用这些工具执行外部操作。
- 与外部服务集成:内置对飞书知识空间的访问能力(FeishuClient),可检索、读取知识空间内容。
- 会话与能力管理:提供服务端会话管理、能力声明等基础能力。
- 端到端示例实现:包含 FeishuMcpServer,示例化注册工具、启动 HTTP 服务等。
-
安装步骤
- 在项目根目录执行依赖安装(基于 pnpm 的工作区管理):pnpm install
- 进入 doc-mcp 模块,按照常见 Node/TypeScript 项目流程安装所需依赖(若仓库已在工作区下,通常执行根级安装即可完成解析依赖)
- 启动 MCP 服务端:
- 使用大多数开发环境可直接运行:tsx packages/doc-mcp/src/index.ts
- 启动后,HTTP/WS 端口默认监听 7777,SSE 端点为 /mcp,消息端点为 /mcp-messages,健康检查为 /health
-
服务器配置(供 MCP 客户端读取的连接信息,以下为示例 JSON,实际使用请按客户端要求提供) { "serverName": "feishu-mcp", "command": "tsx", "args": ["packages/doc-mcp/src/index.ts"] } 说明:
- serverName: 服务器名称,用于标识该 MCP 服务端。
- command: 启动命令(此处使用 tsx 来执行 TypeScript 入口文件)。
- args: 启动参数,指向实现入口的 TypeScript 文件路径。 注:MCP 客户端本身不需要在此处配置,只需使用上述信息与服务器端的传输端点建立连接。
-
基本使用方法
- 启动后,通过 MCP 客户端与服务端建立连接,选择传输通道(HTTP SSE、StdIO 等)后即可向服务端发送 MCP 请求,服务端按 MCP 规范返回 JSON-RPC 响应或通知。
- 工具执行示例:LLM 调用 tool 名称(如 list-spaces),服务端执行 Feishu API 获取知识空间并返回可读结果。
- 如需进一步扩展,只需在 FeishuMcpServer 注册更多工具,并确保实现对应处理逻辑。
-
运行与验证要点
- 确保环境变量或配置文件中已配置 Feishu 的 App ID/Secret,便于 FeishuClient 与飞书 API 的访问。
- 通过浏览器/CLI 工具访问 health 接口 http://localhost:7777/health 验证服务状态。 尽可能在本地进行端到端的连接测试,确保 /mcp(SSE)/** /mcp-messages(消息端点)能正常交换数据。
-
备注
- 该实现包含一个 MCP 服务端的完整示例:FeishuMcpServer 类、工具注册、传输接入、HTTP/STDIO/SSE 等多种传输方式,以及对飞书知识空间的集成能力。基于此,可扩展更多工具与 Prompts,形成完整的 MCP 服务端能力。