用于检查 Model Context Protocol(MCP)服务器的开发者工具。它以单个包 @modelcontextprotocol/inspector 的形式发布,提供三种检查服务器的方式:
三者都通过同一个全局 mcp-inspector 二进制文件运行:
npx @modelcontextprotocol/inspector # web UI(默认)
npx @modelcontextprotocol/inspector --cli # CLI
npx @modelcontextprotocol/inspector --tui # TUI
从 v1 升级? 请阅读 v1 → v2 迁移指南 — CLI 标志、新的
--config与--catalog拆分、Node 引擎版本提升,以及不再随附的内容。
仓库状态。 这是 Inspector 的 v2 版本线。活跃开发发生在
v2/main(开发分支 — 所有 v2 PR 都以此为目标),并在里程碑发布时合并到 ; 是默认分支,保存最新发布的 v2,发布到 npm 的 标签。旧版 版本线位于 — 仅安全修复,直接从该分支发布到 npm 的 标签()。分支/看板约定请参阅 。
mainmainlatestv1/mainv1-latestnpx @modelcontextprotocol/inspector@v1-latest需要 Node >=22.19.0。
npm install # 在仓库根目录;postinstall 会级联到每个客户端
npm run build # web → cli → tui → launcher
对于日常的 web 迭代,直接运行 Vite — 快速 HMR,无需构建 launcher:
cd clients/web && npm run dev
launcher 驱动的脚本运行已构建的 launcher,因此请先构建:
npm run web # 针对 clients/web/dist 的生产 web launcher
npm run web:dev # 处于 --dev 模式(Vite)的 web launcher
v2 不是 npm workspace — clients/* 下的每个客户端都保留自己的 package.json 和 node_modules,共享代码位于 core/ 中,通过 @inspector/core 构建时别名使用。core/ 导入的每个运行时依赖都在仓库根目录的 package.json 中声明一次,每个客户端只声明该客户端自身消费的内容 — 其 UI 技术栈、其打包器内联的包、其开发工具 — 这使得 clients/cli 和 clients/launcher 自身没有任何运行时依赖。这对添加依赖意味着什么(根目录 vs. 客户端、dependencies vs. devDependencies,以及打包器的 external 列表),请参阅 local-dev 技能。
inspector/
├── clients/
│ ├── web/ Web 客户端(Vite + React + Mantine)。src/ = 浏览器应用;server/ = Node 后端
│ ├── cli/ CLI 客户端(tsup 打包,@inspector/core 别名)
│ ├── tui/ TUI 客户端(Ink + React,tsup 打包)
│ └── launcher/ 共享 launcher — 提供 `mcp-inspector` bin,分派到 web/cli/tui
├── core/ 通过 `@inspector/core` 别名消费的共享代码(无 package.json)
├── test-servers/ 可组合的 MCP 测试服务器 + 集成和冒烟测试使用的 fixtures
├── scripts/ 根目录构建/验证工具(安装级联、冒烟测试、verify:* 守卫)
│ 以及从 CI 运行的仓库自动化(依赖、Dependabot 警报和 SDK 扫描)
├── docs/ 面向任务的指南 — 见下文
├── specification/ 设计/构建规范
├── .claude/skills/ 智能体技能:仓库的程序,可按名称调用
├── AGENTS.md 适用于智能体和人类的贡献规则
└── README.md 你在这里
| 指南 | 涵盖内容 |
|---|---|
| 架构 | @inspector/core 共享包,以及 web 客户端的“哑组件”+ Storybook 方法 |
| 测试与质量门禁 | 每个 validate / coverage / smoke / verify:* 脚本涵盖的内容、GitHub-CI-vs-本地门禁的划分,以及支持的浏览器 |
| 编写技能 | 如何编写真正能触发的技能描述,以及衡量它的评估用例 — 有效的用例形态,以及调优循环 |
| 测试服务器 | 可组合的测试服务器以及每个功能的展示配置 — 运行什么、点击什么,以及损坏的构建做了什么 |
| 发布 | tarball 中包含的内容、打包不变量,以及 pack:verify |
| Docker | 运行容器镜像 — 端口、卷,以及密钥存放位置 |
| 从 v1 迁移到 v2 | CLI 标志映射、--config 与 --catalog、Node 引擎版本提升、环境变量重命名 |
| MCP 服务器配置 | Inspector 连接哪些服务器,以及配置文件格式 |
| 审查 MCP 应用 | 用于自动化 App 工具审查的 CLI 优先 → 一次性 web 配方 |
| 对 MCP 服务器进行冒烟测试 | 用于 shell 或 CI 作业的 connect → list → call → assert 工作流:--format json + jq、退出码映射,以及保持 OAuth 非交互 |
| Launcher 与配置整合 | 为什么 launcher 在进程内运行客户端而不是派生它 |
每个客户端都从自己的文件夹中自我验证;根目录脚本将它们串联起来。没有聚合的根目录 test 脚本。
npm run validate # 快速内循环:format:check + lint + typecheck + build + 单元测试
npm run coverage # 每文件 ≥90% 门禁(行/语句/函数/分支)
npm run local:gate # 推送前必须执行 — GitHub CI 的严格超集
npm run local:gate 串联以下所有检查,外加冒烟测试和 Storybook 测试。测试与质量门禁 负责阶段列表,并说明每个阶段涵盖什么以及为什么有两个仅限本地;AGENTS.md 则包含测试规则本身。
AGENTS.md、CLAUDE.md 和技能AGENTS.md 是修改此代码库的契约,对人和 AI 智能体同样适用。 它不是仅限智能体的样板文件 — 它包含项目真正的规则:版本/标签约定、TypeScript 和 Mantine/React 标准、测试和覆盖率要求,以及推送前必须执行的强制门禁。在做出更改之前请阅读它,并在更改结构、工具或规则时保持其更新。
仓库的程序 — 带命令和实时 ID 的多步骤配方 — 位于 .claude/skills/ 中,每个程序一个目录,因此仅在任务需要时才加载。它们是普通的已提交 Markdown:不理解技能的智能体也可以阅读它们,而 AGENTS.md 带有现有内容的索引。Claude Code 用户按名称调用(/release、/issue-triage 等)。
CLAUDE.md 是 Claude Code 自动加载的入口点;它包含 AGENTS.md,因此智能体和人类从同一个事实来源工作。如果你使用读取 AGENTS.md 的其他智能体,你会得到相同的规则。
这里值得强调的一条关键规则:所有工作都是问题驱动的。 在开始之前,在 v2 项目看板上找到或创建一个跟踪问题;针对 v2/main 打开 PR,并附上 Closes #<issue>。外部贡献以问题而非拉取请求的形式接受 — 请参阅 CONTRIBUTING.md。
MIT。