MDN MCP 服务器

使用说明(Markdown 格式)

  • 项目简介 这是一个实验性的 MCP 服务器实现,旨在通过标准化的 MCP 协议向 LLM 客户端提供 MDN 的搜索、文档和兼容性数据等资源,并通过可注册的工具实现对外部功能的调用,便于构建更加智能的对话式专业应用。

  • 主要功能点

    • 资源托管与数据获取:提供对 MDN 文档、搜索结果和浏览器兼容性数据的访问接口。
    • 工具注册与执行:预置并注册多个工具(如获取文档、获取兼容性数据、站内搜索),支持工具参数描述与执行回调的统一处理。
    • 模板与渲染支持(提示与模板):服务器框架内可扩展的提示模板能力,便于定义与渲染 LLM 交互所需的上下文。
    • 会话与扩展能力:对传输、日志、错误上报等行为进行封装,便于在生产环境中进行追踪以及性能分析。
    • 多传输协议支持:当前实现通过基于 HTTP 的传输(StreamableHTTPServerTransport)进行交互,后续可扩展到其他传输协议如 SSE、WebSocket、Stdio 等。
  • 安装步骤

    1. 复制或克隆代码库到本地工作目录。
    2. 安装依赖:在项目根目录执行 npm install。
    3. 启动服务器:执行 npm start(或遵循 README 的本地启动方式)。服务启动后会监听默认端口 3002(可通过环境变量 PORT 进行覆盖)。
  • 服务器配置(MCP 客户端要与之连接需要的最小信息) 说明:MCP 客户端需要知道如何启动并连接到该 MCP 服务器;以下信息用于客户端配置示例。实际客户端无需你编写服务器代码,只需知道对方服务器的启动方式与连接参数。

    • serverName: mdn
    • command: node
    • args: ["index.js"] // 以项目根目录下的入口文件启动服务
    • 端口与地址:默认端口为 3002,实际使用时可通过环境变量 PORT 指定,例如 PORT=3002 。服务器暴露的接口路径为 /mcp。
    • 备注:如需,客户端配置中也可以包含工作目录、环境变量等说明,但本实现中核心信息为上述命令与参数即可建立连接。
  • 基本使用方法

    1. 启动服务器后,确认日志显示服务器正在监听并对外暴露 /mcp 接口。
    2. 使用支持 MCP 的客户端连接到 http(s)://<服务器地址>:<端口>/mcp,提交 JSON-RPC 风格的请求以读取资源、调用工具或获取提示模板。
    3. 客户端可以通过内置测试工具集(如 get-doc、get-compat、search 等)进行功能探索与验证。
    4. 如需调试,将日志与错误上报功能开启(本实现中集成了 Sentry 日志封装与控制台输出)。

服务器信息