MCP Inspector 服务器端实现
-
项目简介
- 该仓库实现了 MCP Inspector 的服务端部分,用于对接 MCP 客户端,提供资源、工具、提示等核心 MCP 功能的服务端实现与中间件能力,并实现对 MCP 的路由、资源渲染、以及工具执行的测试环境。
-
主要功能点
- 资源管理:托管、读取、描述与预览 MCP 服务端暴露的资源(如文本、图片等)。
- 工具注册与执行:支持服务端注册工具、执行工具、并对结果进行渲染(含对话、要素化结果、Widget 支持)。
- 提示与模板:提供 Prompts 的定义、渲染与测试能力,支持交互式参数输入。
- MCP Apps / OpenAI Apps 集成:内置对 MCP Apps、ChatGPT Apps 等的支持与示例,含 dev widget/ content 流程、CSP 等安全策略处理。
- JSON-RPC 通信模型:服务器端遵循 MCP 的通信语义,通过 JSON-RPC 与客户端交互,包含流式响应与工具调用事件。
- 会话与认证:包含 API Key、自定义头部、OAuth 等多种认证测试场景,便于对接不同场景的 MCP 客户端。
- 多传输协议支持:为客户端提供多种传输方案(SSE、WebSocket、stdin/stdio)的接入能力。
-
安装步骤
- 克隆仓库并进入项目目录。
- 安装依赖:安装所需 Node 环境及包管理工具(如 Node.js 18+,pnpm/yarn/npm)。
- 构建 Inspector UI:执行构建以生成前端静态资源(dist/web)。
- 启动服务器:运行服务器端代码,监听 MCP 服务端端点(如 /mcp 路径)。
- 客户端连接:MCP 客户端通过 JSON-RPC 与服务器交互,示例连接通常指向 http://<host>:<port>/mcp。
- 运行认证测试服务器(可选):如 API Key、Custom Header、OAuth(Linear、Supabase、GitHub、Vercel)的测试环境,用于端对端验证。
-
服务器配置(MCP 客户端连接所需的配置信息,JSON 格式;包含 server name、command、args 等字段;示例仅供理解,实际部署按需调整) { "serverName": "ConformanceInspectorServer", "description": "MCP Inspector Conformance Test Server", "command": "node", "args": ["dist/server/index.js", "--port", "3002"] } 说明:以上配置用于 MCP 客户端启动并连接到 MCP Inspector 服务器的运行实例。serverName 为服务器标识,command/args 指定启动 MCP 服务器的命令与参数。实际部署时可将 dist/server/index.js 替换为实际打包后的入口,并调整端口号以避免冲突。
-
基本使用方法
- 启动与连接
- 构建 UI 后启动 MCP Inspector 服务端,确保服务器对外暴露的 MCP 端点可达。
- 使用 MCP 客户端指向该服务器的 MCP 端点(如 http://localhost:3002/mcp)进行连接。
- 功能使用
- 通过 MCP Inspector 的管理界面或直接使用工具、资源、Prompts 等体验 MCP 服务器的能力。
- 使用聊天/提示、工具调用等功能测试 MCP 服务器对 LLM 请求的处理、工具执行路径及返回的结构化数据。
- 安全与认证
- 根据需要配置 API Key、自定义头、OAuth 等认证方式,Inspector 提供示例与帮助来测试不同认证场景。
- 调试与扩展
- Inspector 提供了开发时若干调试与扩展能力(如 CSP、Dev Widget、Widget CSP、HMR 相关测试等),可用于 MCP 服务器的本地开发与测试。
- 启动与连接
-
备注
- 本仓库实现的 MCP Inspector 服务端侧具备完整的路由、资源管理、工具执行、脚本渲染、以及与 MCP 客户端的通信能力,符合 MCP 服务器的核心功能要求与运行条件。若仅看测试代码或示例,需确保以服务器实现为核心进行集成与部署。