这个项目能做什么

MCP Inspector 是一款面向开发者的工具,用于检查和测试 Model Context Protocol(MCP)服务器。它以单个 npm 包 `@modelcontextprotocol/inspector` 发布,并提供一个全局可执行命令 `mcp-inspector`,支持三种运行模式: - **Web**:基于 Vite + React + Mantine 的单页应用,带有 Node.js 后端,为服务器检查提供可视化界面。 - **CLI**:可编写脚本的命令行客户端,面向自动化、CI 流水线和快速智能体反馈循环设计。 - **TUI**:使用 Ink 构建的交互式终端 UI,适合偏好终端工作流的用户。 三种模式都通过同一个可执行命令配合标志调用: - `npx @modelcontextprotocol/inspector`:网页 UI(默认) - `npx @modelcontextprotocol/inspector --cli`:CLI 模式 - `npx @modelcontextprotocol/inspector --tui`:TUI 模式 ## 架构 该项目不是 npm workspace。`clients/` 下的每个客户端都维护自己的 `package.json` 和 `node_modules`。共享代码位于 `core/`,通过 `@inspector/core` 构建时别名使用。`core/` 导入的运行时依赖在仓库根目录统一声明一次,而每个客户端只声明自己的 UI 技术栈、由打包器内联的包以及开发工具。`clients/cli` 和 `clients/launcher` 包本身没有运行时依赖。 ## 项目结构 - `clients/web/`:Web 客户端(Vite + React + Mantine)。`src/` 目录包含浏览器应用;`server/` 存放 Node 后端。 - `clients/cli/`:CLI 客户端,使用 `@inspector/core` 别名并通过 tsup 打包。 - `clients/tui/`:TUI 客户端,基于 Ink + React 构建并通过 tsup 打包。 - `clients/launcher/`:共享启动器,提供 `mcp-inspector` 命令并分发到相应客户端。 - `core/`:通过 `@inspector/core` 别名使用的共享代码;没有 `package.json`。 - `test-servers/`:可组合的 MCP 测试服务器和测试夹具,用于集成测试和冒烟测试。 - `scripts/`:根目录构建和验证工具,包括级联安装、冒烟测试和 CI 自动化。 - `docs/`:面向任务的指南,涵盖架构、测试、质量门禁、密钥存储、迁移、Docker 使用等。 - `specification/`:设计和构建规范。 - `.claude/skills/`:智能体技能,每个技能位于独立目录中,按过程名称按需加载。 ## 开发工作流 需要 Node `>=22.19.0`。在仓库根目录运行 `npm install` 后(postinstall 脚本会级联到每个客户端),运行 `npm run build` 依次编译 Web、CLI、TUI 和启动器。若要快速进行 Web 开发,可以直接从 `clients/web` 运行 Vite,从而在无需重新构建启动器的情况下使用快速热模块替换。 推送前必须通过的强制门禁是 `npm run local:gate`,它会串联格式检查、lint、类型检查、构建、单元测试、覆盖率验证(每个文件阈值为 90%)、冒烟测试和 Storybook 测试。这会在本地复现完整的 GitHub CI 检查。 ## 文档要点 - **架构**:详细介绍共享的 `@inspector/core` 包和 Web 客户端组件模型。 - **测试与质量门禁**:说明每个验证脚本检查的内容,以及 CI 门禁与本地门禁的划分。 - **密钥存储**:如何在操作系统钥匙串、明文文件和内存存储中管理密钥,包括加密和锁定。 - **对 MCP 服务器进行冒烟测试**:适用于 shell 或 CI 作业的 connect → list → call → assert 工作流,包含 JSON 输出和退出码映射。 - **从 v1 迁移到 v2**:CLI 标志变更、`--config` 与 `--catalog` 的拆分、Node 引擎版本升级以及环境变量重命名。 - **路线图**:与已发布的 MCP 路线图保持一致的六个月计划,涵盖规范合规性、官方扩展支持和体验改进。 ## 参与贡献 贡献遵循问题驱动的工作流。所有工作都应在 v2 项目板上跟踪,PR 针对 `v2/main` 提交,并通过 `Closes #(issue 编号)` 关联。外部贡献以 issue 而非 pull request 的形式接受。`AGENTS.md` 文件为人类和 AI 贡献者定义项目规则,涵盖版本管理、TypeScript 标准、Mantine/React 约定和测试要求。`CLAUDE.md` 文件是 Claude Code 的入口点,会自动加载 `AGENTS.md`,使智能体和人类基于同一事实来源开展工作。 ## 许可证 MCP 项目正从 MIT 过渡到 Apache-2.0。新贡献采用 Apache-2.0 许可,文档(不包括规范)采用 CC-BY-4.0,尚未同意重新许可的旧贡献仍采用 MIT。