v1.npm MCP 服务端
使用说明
- 项目简介
- 本仓库实现了一个 MCP 服务器,用于 AI 辅助的 npm 包分析与决策场景。核心功能包括:注册并执行 Tools、通过 MCP 协议处理请求与响应、提供包健康数据与比较结果,以及为 LLM 客户端渲染友好的接口。
- 主要功能点
- MCP 服务器核心:按照 MCP 标准处理请求/响应,支持初始化、工具查询、工具调用等交互。
- Tools 注册与执行:实现多种与 npm 包相关的工具,如获取版本、健康评估、漏洞检查、包对比、替代包发现等。
- API 与 MCP 路径协同:通过 /mcp 路径提供 MCP 服务,便于 Cursor、Claude 等 AI 编码助手接入。
- 传输与鲁棒性:通过 StreamableHTTPTransport 实现流式通信,包含保持连接的心跳/保活机制,提升长连接的稳定性。
- 本地可测试性:提供测试用例覆盖 MCP 初始化、工具列表、具体工具调用等基本行为(集成测试用例位于测试目录)。
- 安装步骤
- 将代码部署到可运行的 Node.js 环境中,确保依赖已安装。
- 启动 API 服务器后,通过 MCP 入口路径 /mcp 与客户端建立连接。
- 服务器配置
- MCP 客户端使用示例配置(用于 MCP 客户端连接配置,以下为 JSON 配置示意,实际需以客户端实现提示为准):
- server name: v1-npm-tools
- command: 启动 MCP 服务端的执行命令(请以实际部署命令为准,例如 Node 运行脚本)
- args: 启动参数(如无特殊参数可留空)
- 具体配置信息(JSON)示例: { "mcpServers": { "v1": { "url": "https://mcp.v1.run/mcp" } // 以上为客户端需要的最小连接信息,客户端会据此建立 JSON-RPC 通信通道 } // 注:此配置仅用于 MCP 客户端连接,服务端部署无需将此配置写入服务器端代码 }
- 基本使用方法
- 初始化:客户端向 /mcp 发送 initialize 请求,服务器返回服务器信息与能力描述。
- 查询工具:客户端通过 tools/list 路由查询已注册的工具清单。
- 调用工具:客户端以工具名称及参数向服务器发起调用,服务器返回 Tool 调用结果的 JSON-RPC 响应。
- 交互流程:在需要对比、分析、或获取健康信息时,客户端可多次请求工具、或通过 MCP 的对话模式进行组合调用,服务器负责会话管理与能力声明。
- 注意事项
- 服务器端实现包含心跳/保活逻辑以提升长期连接稳定性,适用于长连接场景(如 SSE/流式传输)。
- MCP 客户端应确保正确的 JSON-RPC 请求格式(包括方法名、参数、以及唯一请求 id),服务器返回标准 JSON-RPC 响应。