Nitro 设备信息 MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现一个 MCP 服务器,用于向 AI 客户端(如 Claude、Cursor、Copilot 等)提供对 Nitro 设备信息库的上下文与能力支持。服务器建立并维护一个文档和 API 的可检索索引,暴露文本搜索、API 详情和 API 列表等功能,方便 LLM 在对话中快速查询库文档。
  • 主要功能点

    • MCP 协议核心能力:实现基于 JSON-RPC 的请求/响应处理,支持工具调用、查询文档、获取 API 详情等操作。
    • 资源管理与数据访问:索引并暴露文档 chunks 与 API 定义,方便 LLM 获取库的上下文信息。
    • 注册并执行工具:提供 search_docs、get_api、list_apis 三个工具,支持自然语言查询、精确 API 详情查询和 API 列表过滤。
    • Prompt 与渲染:通过 API 与文档块渲染结果,返回结构化的响应,适配不同的 LLM 交互模式。
    • 多传输/运行方式:当前实现以命令行/标准输入输出(stdio)传输为主,便于在命令行或 IDE 集成环境中运行。
    • 自动化索引与验证:在启动时构建对 DeviceInfo.nitro.ts 的解析索引,并将文档、平台限制内容与 README 组合成完整的检索索引,提供简单的健康/有效性校验。
    • 初始化配置工具:提供 init 命令,生成 IDE 与 CLAUDE Code 所需的 MCP 配置文件,便于快速接入 AI 助手。
  • 安装与运行步骤

    • 安装运行环境:确保 Node.js 环境就绪(推荐最新版 Node.js)。
    • 获取并安装服务端:
      • 通过包管理工具在该仓库的工作区中安装 MCP 服务器包。
    • 启动 MCP 服务器:
      • 在仓库根目录执行命令启动服务器(默认标准输入输出传输)。
    • 初始化配置(可选,推荐):
      • 运行初始化命令来生成 IDE/工具的配置文件,后续按需在对应工具中加载配置即可。
  • 服务器配置(给 MCP 客户端使用的配置描述) 以下为示例配置项,MCP 客户端需要的仅是服务器标识、启动命令和参数,用以建立连接与调用服务器功能。请在客户端配置中使用以下信息: { "serverName": "nitro-device-info", // 服务器唯一标识,与服务端实现中的名称一致 "command": "npx", // 启动 MCP 服务端所需执行的命令 "args": ["@react-native-nitro-device-info/mcp-server"] // 启动命令的参数,指向本 MCP 服务器包 }

    配置说明:

    • serverName:服务器在客户端的标识,需与服务器实现中定义的名称保持一致(示例中为 nitro-device-info)。
    • command / args:客户端以该命令和参数启动并连接到 MCP 服务器。该组合对应仓库中用于启动服务器的实际实现路径。
    • 客户端无须额外的服务器实现细节,只需正确配置上述字段以建立连接。
  • 基本使用方法

    • 启动后端服务器:在命令行执行启动操作,服务器会初始化索引并等待来自 LLM 的请求。
    • 与 AI 客户端建立连接:在 AI 工具(如 Claude、Cursor)中配置 MCP 服务器,使用上述 serverName、command、args 进行连接。
    • 使用场景举例:
      • 使用 search_docs 进行自然语言查询,获取相关 API、文档和示例。
      • 使用 get_api 获取某个 API 的完整文档,包括签名、参数、返回类型、平台支持和示例。
      • 使用 list_apis 按类别/平台/类型过滤列出可用的 API 列表。
    • 运行中的注意事项:服务器内部对工具调用设置超时(示例为 2000ms),如遇超时会返回友好错误信息,请在 AI 客户端重试或简化查询。
  • 可能的贡献与扩展

    • 根据需要扩展更多工具(如新的 API 参考查询、Prompts 渲染等)。
    • 支持其他传输协议(如 SSE、WebSocket)以适配更多场景。
  • 运行环境与依赖

    • Node.js 环境、TypeScript、MCP 客户端/服务端依赖(由仓库内配置和构建流程管理)。
    • 服务器通过 JSON-RPC 与客户端通信,内部实现了索引构建、文档分块、BM25 检索等机制。
  • 开发与测试建议

    • 使用仓库提供的单元测试/集成测试确保工具与索引行为符合预期。
    • 在本地/CI 环境验证不同平台、不同查询的结果一致性与鲁棒性。

服务器信息