Sobre el proyecto
MCP Inspector es una herramienta orientada a desarrolladores para inspeccionar y probar servidores del Model Context Protocol (MCP). Se distribuye como un único paquete npm, `@modelcontextprotocol/inspector`, y expone un binario global, `mcp-inspector`, que se ejecuta en tres modos:
- **Web** — una aplicación de página única con Vite + React + Mantine y un backend de Node.js, que ofrece una interfaz visual para la inspección de servidores.
- **CLI** — un cliente de línea de comandos scriptable diseñado para automatización, canalizaciones de CI y bucles de retroalimentación rápidos de agentes.
- **TUI** — una interfaz de terminal interactiva construida con Ink para usuarios que prefieren un flujo de trabajo basado en terminal.
Los tres modos se invocan a través del mismo binario con flags:
```bash
npx @modelcontextprotocol/inspector # web UI (default)
npx @modelcontextprotocol/inspector --cli # CLI mode
npx @modelcontextprotocol/inspector --tui # TUI mode
```
## Arquitectura
El proyecto no es un workspace de npm. Cada cliente bajo `clients/` mantiene su propio `package.json` y `node_modules`. El código compartido vive en `core/` y se consume a través de un alias de tiempo de compilación `@inspector/core`. Las dependencias de tiempo de ejecución importadas por `core/` se declaran una vez en la raíz del repositorio, mientras que cada cliente declara solo su propia pila de UI, paquetes integrados por el bundler y herramientas de desarrollo. Los paquetes `clients/cli` y `clients/launcher` no tienen dependencias de tiempo de ejecución propias.
## Estructura del proyecto
- `clients/web/` — Cliente web (Vite + React + Mantine). El directorio `src/` contiene la aplicación del navegador; `server/` alberga el backend de Node.
- `clients/cli/` — Cliente CLI, empaquetado con tsup usando el alias `@inspector/core`.
- `clients/tui/` — Cliente TUI, construido con Ink + React y empaquetado con tsup.
- `clients/launcher/` — Lanzador compartido que proporciona el binario `mcp-inspector` y despacha al cliente correspondiente.
- `core/` — Código compartido consumido mediante el alias `@inspector/core`; no tiene `package.json`.
- `test-servers/` — Servidores MCP de prueba componibles y fixtures usados en pruebas de integración y smoke tests.
- `scripts/` — Herramientas raíz de compilación y verificación, incluidas cascadas de instalación, smoke tests y automatización de CI.
- `docs/` — Guías orientadas a tareas que cubren arquitectura, pruebas, puertas de calidad, almacenamiento de secretos, migración, uso de Docker y más.
- `specification/` — Especificaciones de diseño y compilación.
- `.claude/skills/` — Habilidades de agentes, cada una en su propio directorio, cargadas bajo demanda por nombre de procedimiento.
## Flujo de trabajo de desarrollo
Se requiere Node `>=22.19.0`. Después de ejecutar `npm install` en la raíz del repositorio (el script postinstall se propaga en cascada a cada cliente), ejecuta `npm run build` para compilar web, CLI, TUI y el lanzador en secuencia. Para el desarrollo web rápido, puedes ejecutar Vite directamente desde `clients/web` para obtener un reemplazo de módulos en caliente rápido sin reconstruir el lanzador.
La puerta obligatoria previa al push es `npm run local:gate`, que encadena comprobaciones de formato, linting, verificación de tipos, compilaciones, pruebas unitarias, verificación de cobertura (umbral por archivo del 90%), smoke tests y pruebas de Storybook. Esto replica localmente la comprobación completa de GitHub CI.
## Aspectos destacados de la documentación
- **Arquitectura** — Detalles sobre el paquete compartido `@inspector/core` y el modelo de componentes del cliente web.
- **Pruebas y la puerta de calidad** — Cobertura de lo que verifica cada script de validación y la división entre la puerta de CI y la local.
- **Almacenamiento de secretos** — Cómo se gestionan los secretos entre llaveros del sistema operativo, archivos de texto plano y almacenes en memoria, incluidos cifrado y bloqueo.
- **Smoke-testing de un servidor MCP** — Un flujo de trabajo conectar → listar → llamar → aseverar para trabajos de shell o CI, con salida JSON y mapeo de códigos de salida.
- **Migración de v1 a v2** — Cambios en los flags de CLI, la división entre `--config` y `--catalog`, el aumento de la versión de Node requerida y los renombrados de variables de entorno.
- **Hoja de ruta** — Un plan de seis meses alineado con la hoja de ruta publicada de MCP, que cubre cumplimiento de especificaciones, soporte oficial de extensiones y mejoras de experiencia.
## Contribuir
Las contribuciones siguen un flujo de trabajo basado en issues. Todo el trabajo debe rastrearse en el tablero del proyecto v2, con PRs abiertos contra `v2/main` y vinculados mediante `Closes #<issue>`. Las contribuciones externas se aceptan como issues en lugar de pull requests. El archivo `AGENTS.md` define las reglas del proyecto tanto para contribuyentes humanos como para IA, cubriendo versionado, estándares de TypeScript, convenciones de Mantine/React y requisitos de pruebas. El archivo `CLAUDE.md` sirve como punto de entrada para Claude Code, cargando automáticamente `AGENTS.md` para que tanto agentes como humanos operen desde la misma fuente de verdad.
## Licencia
El proyecto MCP está en transición de MIT a Apache-2.0. Las nuevas contribuciones se licencian bajo Apache-2.0, la documentación (excluyendo especificaciones) bajo CC-BY-4.0, y las contribuciones heredadas que no han otorgado consentimiento de relicenciamiento permanecen bajo MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.