MCP Inspector
Una herramienta para desarrolladores para probar y depurar servidores MCP.
Documentación
MCP Inspector
Una herramienta de desarrollo para inspeccionar servidores Model Context Protocol (MCP). Se distribuye como un único paquete, @modelcontextprotocol/inspector, que ofrece tres formas de inspeccionar un servidor:
- Web — una aplicación de una sola página Vite + React + Mantine con un backend Node.
- CLI — un cliente de línea de comandos programable para automatización, CI y bucles de retroalimentación rápidos para agentes.
- TUI — una interfaz de terminal interactiva construida con Ink.
Los tres se ejecutan a través de un único binario global mcp-inspector:
npx @modelcontextprotocol/inspector # web UI (default)
npx @modelcontextprotocol/inspector --cli # CLI
npx @modelcontextprotocol/inspector --tui # TUI
[!WARNING] El Inspector gestiona secretos — tokens OAuth, secretos de cliente OAuth y valores stdio
env:— y los almacena en el llavero del sistema operativo, si está disponible, por defecto. En una máquina sin llavero — Linux sin libsecret o un Secret Service, sesiones headless y SSH, Termux y contenedores con un volumen montado — se guardan en~/.mcp-inspector/secrets.jsonen su lugar, sin cifrar a menos que proporciones una clave. Consulta Dónde se almacenan los secretos para saber cómo recuperar un llavero, cifrar el archivo o mantener los secretos solo en memoria.
¿Actualizando desde v1? Lee la guía de migración v1 → v2 — las banderas de CLI, la nueva división
--configvs.--catalog, el aumento del motor Node y lo que ya no se incluye.
Estado del repositorio. Esta es la línea v2 del Inspector. El desarrollo activo ocurre en
v2/main(la rama develop — todos los PR de v2 la tienen como objetivo), que se fusiona enmainen los lanzamientos de hitos;maines la rama predeterminada y contiene la última v2 publicada, publicada en la etiqueta npmlatest. La línea heredada v1 vive env1/main— solo correcciones de seguridad, publicada directamente desde esa rama a la etiqueta npmv1-latest(npx @modelcontextprotocol/inspector@v1-latest). ConsultaAGENTS.mdpara conocer las convenciones de ramas/tableros.
Inicio rápido (desarrollo)
Requiere Node >=22.19.0.
npm install # at the repo root; postinstall cascades into every client
npm run build # web → cli → tui → launcher
Para la iteración web diaria, ejecuta Vite directamente — HMR rápido, sin necesidad de compilar el launcher:
cd clients/web && npm run dev
Los scripts impulsados por el launcher ejecutan el launcher compilado, así que compila primero:
npm run web # prod web launcher against clients/web/dist
npm run web:dev # web launcher in --dev mode (Vite)
v2 no es un workspace npm — cada cliente bajo clients/* mantiene su propio package.json y node_modules, y el código compartido vive en core/, consumido a través de un alias de tiempo de compilación @inspector/core. Cada dependencia de runtime que core/ importa se declara una vez, en el package.json raíz del repositorio, y cada cliente declara solo lo que ese cliente consume — su pila de UI, sus paquetes integrados por el bundler, sus herramientas de desarrollo — lo que deja a clients/cli y clients/launcher sin dependencias de runtime propias. Lo que eso significa para agregar una dependencia (raíz vs. cliente, dependencies vs. devDependencies, y las listas del bundler external) está en la habilidad local-dev.
Estructura del proyecto
inspector/
├── clients/
│ ├── web/ Web client (Vite + React + Mantine). src/ = browser app; server/ = Node backend
│ ├── cli/ CLI client (tsup bundle, @inspector/core alias)
│ ├── tui/ TUI client (Ink + React, tsup bundle)
│ └── launcher/ Shared launcher — provides the `mcp-inspector` bin, dispatches to web/cli/tui
├── core/ Shared code consumed via the `@inspector/core` alias (no package.json)
├── test-servers/ Composable MCP test servers + fixtures used by integration and smoke tests
├── scripts/ Root build/verify tooling (install cascade, smokes, the verify:* guards),
│ repo automation run from CI (the dependency, Dependabot-alert and SDK sweeps)
│ and the Docker image's HEALTHCHECK probe
├── docs/ Task-oriented guides — see below
├── specification/ Design/build specifications
├── .claude/skills/ Agent skills: the repo's procedures, invokable by name
├── AGENTS.md Contribution rules for agents AND humans
└── README.md You are here
Cada cliente tiene su propio README con detalles específicos del cliente: web · cli · tui · launcher.
Documentación
| Guía | Cubre |
|---|---|
| Arquitectura | El paquete compartido @inspector/core y el enfoque de "componentes tontos" + Storybook del cliente web |
| Pruebas y el control de calidad | Qué cubre cada script validate / coverage / smoke / verify:*, la división GitHub-CI vs. gate local y los navegadores compatibles |
| Escribir una habilidad | Cómo escribir una descripción de habilidad que realmente se active, y casos de evaluación que la midan — las formas de caso que funcionan y el bucle de ajuste |
| Servidores de prueba | Los servidores de prueba componibles y la configuración de demostración para cada característica — qué ejecutar, qué hacer clic y qué hizo la compilación rota |
| Publicación | Qué se incluye en el tarball, las invariantes de empaquetado y pack:verify |
| Docker | Ejecutar la imagen del contenedor — puertos, volúmenes y hacer que los secretos sean duraderos en un contenedor |
| Dónde se almacenan los secretos | Cómo se elige el almacén de secretos en cada runtime — llavero del sistema operativo, secrets.json o memoria — además del cifrado de archivos, bloqueo y regreso a un llavero |
| Migración de v1 a v2 | Mapeo de banderas de CLI, --config vs. --catalog, el aumento del motor Node, renombres de variables de entorno |
| Variables de entorno | Cada variable que cambia el comportamiento del runtime — autenticación, puertos, almacenamiento, el almacén de secretos, registro, proxies — además de las variables TLS de Node para un servidor autofirmado |
| Configuración del servidor MCP | A qué servidor(es) se conecta el Inspector y el formato del archivo de configuración |
| Revisión de una App MCP | La receta CLI-primero → web de una sola vez para la revisión automatizada de herramientas de App |
| Pruebas de humo de un servidor MCP | El flujo de trabajo conectar → listar → llamar → afirmar para un trabajo de shell o CI: --format json + jq, el mapa de códigos de salida y mantener OAuth no interactivo |
| Consolidación del launcher y la configuración | Por qué el launcher ejecuta un cliente en proceso en lugar de generarlo |
| Hoja de ruta, agosto 2026 → febrero 2027 | El plan de seis meses: trabajo de seguimiento de especificaciones alineado con la hoja de ruta publicada de MCP, soporte oficial de extensiones y el trabajo de experiencia que elegimos |
| MCP Inspector: Nuestra fábrica de software de IA | Cómo ocurren realmente las contribuciones desde v2.0.0 — trabajo impulsado por problemas de principio a fin, la división reglas/habilidades, los barridos que reemplazaron a Dependabot, el control de calidad y hacia dónde se dirige |
Pruebas y el control de calidad
Cada cliente se autovalida desde su propia carpeta; los scripts raíz los encadenan. No hay un script agregado raíz test.
npm run validate # fast inner loop: format:check + lint + typecheck + build + unit tests
npm run coverage # the per-file ≥90% gate (lines/statements/functions/branches)
npm run local:gate # MANDATORY before pushing — every GitHub CI check, plus one local-only one
npm run local:gate encadena cada verificación a continuación, además de las pruebas de humo y las pruebas de Storybook. Pruebas y el control de calidad posee la lista de etapas y dice qué cubre cada una y por qué una es solo local; AGENTS.md contiene las reglas de prueba en sí.
Contribuir — AGENTS.md, CLAUDE.md y las habilidades
AGENTS.md es el contrato para cambiar este código base, y se aplica tanto a humanos como a agentes de IA por igual. No es un boilerplate solo para agentes — contiene las reglas reales del proyecto: las convenciones de versión/etiqueta, los estándares de TypeScript y Mantine/React, los requisitos de prueba y cobertura, y el gate obligatorio previo al push. Léelo antes de hacer cambios y mantenlo actualizado cuando cambies estructura, herramientas o reglas.
Los procedimientos del repositorio — recetas de varios pasos con comandos e IDs en vivo — viven en .claude/skills/ en su lugar, un directorio por procedimiento, para que se carguen solo cuando la tarea los requiera. Son Markdown ordinario confirmado: un agente que no entiende habilidades puede leerlos, y AGENTS.md lleva un índice de lo que existe. Los usuarios de Claude Code los invocan por nombre (/release, /issue-triage, …).
CLAUDE.md es el punto de entrada que Claude Code carga automáticamente; incluye AGENTS.md, para que agentes y humanos trabajen desde la misma fuente de verdad. Si usas un agente diferente que lee AGENTS.md, obtienes las mismas reglas.
Una regla clave que vale la pena destacar aquí: todo el trabajo está impulsado por problemas. Antes de comenzar, encuentra o crea un problema de seguimiento en el tablero del proyecto v2; abre PRs contra v2/main con Closes #<issue>. Las contribuciones externas se aceptan como problemas, no pull requests — consulta CONTRIBUTING.md.
Licencia
Consulta LICENSE. El proyecto MCP está en transición de la Licencia MIT a Apache-2.0: las nuevas contribuciones de código están licenciadas bajo Apache-2.0, la documentación (excluyendo especificaciones) bajo CC-BY-4.0, y las contribuciones cuyos autores las licenciaron originalmente bajo MIT y no han otorgado consentimiento de relicenciamiento permanecen bajo MIT. El archivo contiene los textos completos de Apache-2.0 y MIT y enlaza el código legal de CC-BY-4.0.