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 的工作流与参数约定进行环境变量配置与端口映射。

服务器信息