Docs MCP Server
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的后端服务器实现,旨在为 LLM 客户端提供统一的上下文服务。它能够托管文档资源、注册并执行工具、定义和渲染 Prompt 模板,并通过 JSON-RPC 与客户端进行通信。服务器具备会话管理、能力声明,以及对多种传输协议(如 StdIO、SSE、WebSocket)的支持能力,方便将上下文与外部功能无缝接入到 AI 助手工作流中。
-
主要功能点
- 资源托管与管理:支持多租户(tenants),每个租户作为一个文档/数据源,提供对资源的读取与检索能力。
- 工具注册与执行:允许注册可调用的工具,LLM 客户端可通过 MCP 调用外部功能。
- Prompt 模板定义与渲染:支持按租户/全局配置的提示模板,便于统一与灵活的对话方式。
- JSON-RPC 通信:客户端通过标准的 JSON-RPC 请求与服务器交互,获取资源、执行工具、获取 Prompts 等能力。
- 会话与能力管理:服务端维护会话和能力声明,确保多租户并发安全。
- 传输协议扩展:设计上支持多种传输通道(如 Stdio、SSE、WebSocket),便于在不同环境中接入。
- 自动化与同步:支持同步触发、索引/爬取、以及状态健康检查,方便运维与 CI/CD 集成。
-
安装步骤
- 克隆代码库并进入项目目录
- 安装运行时依赖(Python 3.12+,以及项目所需的第三方库)
- 按需配置 deployment.json,定义租户、数据源、同步策略
- 使用示例命令启动服务器(示例与仓库自带部署脚本一致,具体请参考 README)
-
服务器配置(MCP 客户端需要的最小信息) 说明:以下配置用于 MCP 客户端连接和发现 MCP 服务器。包含服务器名称、启动命令及参数等信息,便于 MCP 客户端在本地或远端建立连接。
{ "server_name": "DocsMCPServer", "command": "uv", "args": ["run", "python", "-m", "docs_mcp_server.app"] }
说明:
- server_name:服务器标识,用于在 MCP 客户端的服务器列表中显示。
- command、args:启动 MCP 服务器的命令与参数,客户端通过该信息启动并连接 MCP 服务器。
- 备注:实际连接时,MCP 客户端还需要知道服务器地址(如 http://127.0.0.1:42042/mcp)及可选的连接参数;具体的环境变量(如 DEPLOYMENT_CONFIG 路径)按服务器实现的启动方式设置。
-
基本使用方法
- 启动服务器后,客户端通过 MCP JSON-RPC 请求读取资源、执行工具、获取 Prompts 等能力。
- 通过健康端点 /health 可以监控服务器状态,通过 /mcp 或 /mcp.json 获取配置与路由信息。
- 针对开发与运维,可使用提供的脚本进行多租户同步、索引、以及调试。
-
运行与调试提示
- 如需离线/在线调试,请参考仓库中的 debug 脚本,确保部署配置文件 deployment.json 能正确描述租户与源数据。
- 如使用镜像/容器部署,请参照 deploy_multi_tenant.py 的工作流与参数约定进行环境变量配置与端口映射。