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.