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 环境验证不同平台、不同查询的结果一致性与鲁棒性。