Developer Guides MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • 本仓库实现了一个基于 MCP(Model Context Protocol)的服务器端后端,用于向大语言模型(LLM)客户端提供开发者指南知识库的资源访问、工具调用以及提示模板渲染能力。后端采用 Cloudflare Workers 的无服务器架构,结合 D1(元数据关系数据库)、R2(Markdown 文档存储)与 Vectorize(向量检索/语义检索)实现高效的混合检索能力。
  • 主要功能点

    • MCP 服务端:实现 MCP 协议的核心交互,提供 /mcp 入口用于流式/HTTP 传输的 JSON-RPC 请求响应。
    • 资源托管与管理:将开发者指南的 Markdown 文档上传到 R2,元数据存入 D1,生成向量化嵌入用于语义检索。
    • 工具注册与执行:提供若干 MCP 工具,例如 search_developer_guides、get_guide、list_guides、get_related_guides、propose_guide_change、get_guide_stats 等,供 LLM 调用外部功能。
    • Prompts/模板:支持通过 Prompts 与模板化对话,便于与不同模型的交互模式进行定制。
    • 多传输与会话:设计上支持多种传输(如 Hono 的请求/响应模式、可扩展的流式传输),并实现会话与能力声明。
  • 安装步骤

    • 克隆仓库并安装依赖:
      • npm install
    • 生成 Cloudflare 的类型定义(如项目需要 Cloudflare 类型支持):
      • npm run cf-typegen
    • 本地开发与调试:
      • npm run dev
    • 部署到 Cloudflare Workers:
      • npm run deploy
    • 运行前提条件(要求在 Cloudflare 账户下开启 R2、D1 与 Vectorize 服务,且本地/CI 环境具备 Wrangler 等工具)
  • 服务器配置(MCP 客户端连接配置示例,非代码展示)

    • JSON 配置(说明性文本,不作为代码块呈现): { "serverName": "developer-guides-mcp", "command": "npm", "args": ["run", "dev"], "description": "本地开发模式下启动 MCP 服务器,用于与 MCP 客户端建立连接与交互" }
    • 注释说明:
      • serverName: 服务器的逻辑名字,客户端用于识别目标 MCP 服务。
      • command: 启动服务器的命令,示例为本地开发使用 npm。
      • args: 启动命令的参数,示例为运行 dev 脚本。
      • 该配置用于 MCP 客户端在连接时知道如何启动和访问 MCP 服务器;若使用生产环境,请将 command/args 替换为实际部署命令(如 wrangler publish 的部署后地址)。
  • 基本使用方法

    • 客户端向服务器的 /mcp 入口发送 MCP 请求,获取资源、调用工具、获取 Prompt 等能力。
    • 通过工具调用接口(如 search_developer_guides、get_guide 等)实现知识库的查询、检索与聚合。
    • 使用健康检查接口 /health、工具发现接口 /tools 了解可用工具及其参数。
    • 通过 CHANGE_PROPOSALS 与 PROPOSE_NEW_GUIDE 等流程对文档进行改进提议。
  • 注意事项

    • MCP 客户端需要按照服务器提供的工具清单与请求格式进行调用,确保传入的参数与工具定义一致。
    • 由于后端依赖 Cloudflare 的各项服务(D1、R2、Vectorize),请确保相应服务在目标部署环境中可用并正确绑定。
  • 附加信息

    • 项目内核心实现包括:MCP 服务端路由、工具注册、D1/R2/Vectorize 的交互、以及 Guide 的处理与向量化等逻辑。
    • 服务器支持多种工具与查询组合,便于实现对开发者指南的混合检索与精确取数。

服务器信息