MCP Inspector
MCP Inspector es una herramienta para desarrolladores que permite probar, depurar e inspeccionar servidores MCP a través de una interfaz web y un flujo de trabajo proxy.
Documentación
MCP Inspector
El inspector MCP es una herramienta para desarrolladores que permite probar y depurar servidores MCP.

Descripción general de la arquitectura
El MCP Inspector consta de dos componentes principales que trabajan juntos:
- MCP Inspector Client (MCPI): Una interfaz web basada en React que proporciona una interfaz interactiva para probar y depurar servidores MCP
- MCP Proxy (MCPP): Un servidor Node.js que actúa como puente de protocolo, conectando la interfaz web a servidores MCP mediante varios métodos de transporte (stdio, SSE, streamable-http)
Ten en cuenta que el proxy no es un proxy de red para interceptar tráfico. En cambio, funciona tanto como cliente MCP (conectándose a tu servidor MCP) como servidor HTTP (sirviendo la interfaz web), lo que permite la interacción basada en navegador con servidores MCP que utilizan diferentes protocolos de transporte.
Ejecutar el Inspector
Requisitos
- Node.js: ^22.7.5
Inicio rápido (modo UI)
Para ponerte en marcha rápidamente con la UI, simplemente ejecuta lo siguiente:
npx @modelcontextprotocol/inspector
El servidor se iniciará y la UI será accesible en http://localhost:6274.
Desde un repositorio de servidor MCP
Para inspeccionar una implementación de servidor MCP, no es necesario clonar este repositorio. En su lugar, usa npx. Por ejemplo, si tu servidor está construido en build/index.js:
npx @modelcontextprotocol/inspector node build/index.js
Puedes pasar tanto argumentos como variables de entorno a tu servidor MCP. Los argumentos se pasan directamente a tu servidor, mientras que las variables de entorno se pueden configurar usando la bandera -e:
# Pass arguments only
npx @modelcontextprotocol/inspector node build/index.js arg1 arg2
# Pass environment variables only
npx @modelcontextprotocol/inspector -e key=value -e key2=$VALUE2 node build/index.js
# Pass both environment variables and arguments
npx @modelcontextprotocol/inspector -e key=value -e key2=$VALUE2 node build/index.js arg1 arg2
# Use -- to separate inspector flags from server arguments
npx @modelcontextprotocol/inspector -e key=$VALUE -- node build/index.js -e server-flag
El inspector ejecuta tanto una UI de cliente MCP Inspector (MCPI) (puerto predeterminado 6274) como un servidor MCP Proxy (MCPP) (puerto predeterminado 6277). Abre la UI del cliente MCPI en tu navegador para usar el inspector. (Estos puertos se derivan del mapeo del teclado T9 de MCPI y MCPP respectivamente, como regla mnemotécnica). Puedes personalizar los puertos si es necesario:
CLIENT_PORT=8080 SERVER_PORT=9000 npx @modelcontextprotocol/inspector node build/index.js
Para más detalles sobre las formas de usar el inspector, consulta la sección Inspector del sitio de documentación de MCP. Para obtener ayuda con la depuración, consulta la guía de depuración.
Exportación de archivo de servidores
El MCP Inspector proporciona botones convenientes para exportar configuraciones de lanzamiento de servidores para su uso en clientes como Cursor, Claude Code o la CLI del Inspector. El archivo generalmente se llama mcp.json.
-
Server Entry - Copia una entrada de configuración de servidor individual a tu portapapeles. Esto se puede agregar a tu archivo
mcp.jsondentro del objetomcpServerscon el nombre de servidor que prefieras.Ejemplo de transporte STDIO:
{ "command": "node", "args": ["build/index.js", "--debug"], "env": { "API_KEY": "your-api-key", "DEBUG": "true" } }Ejemplo de transporte SSE:
{ "type": "sse", "url": "http://localhost:3000/events", "note": "For SSE connections, add this URL directly in Client" } -
Servers File - Copia una estructura completa de archivo de configuración MCP a tu portapapeles, con tu configuración de servidor actual agregada como
default-server. Esto se puede guardar directamente comomcp.json.Ejemplo de transporte STDIO:
{ "mcpServers": { "default-server": { "command": "node", "args": ["build/index.js", "--debug"], "env": { "API_KEY": "your-api-key", "DEBUG": "true" } } } }Ejemplo de transporte SSE:
{ "mcpServers": { "default-server": { "type": "sse", "url": "http://localhost:3000/events", "note": "For SSE connections, add this URL directly in Client" } } }
Estos botones aparecen en la UI del Inspector después de que hayas configurado los ajustes de tu servidor, lo que facilita guardar y reutilizar tus configuraciones.
Para conexiones de transporte SSE, el Inspector proporciona funcionalidad similar para ambos botones. El botón "Server Entry" copia la configuración de URL SSE que se puede agregar a tu archivo de configuración existente, mientras que el botón "Servers File" crea un archivo de configuración completo que contiene la URL SSE para uso directo en clientes.
Puedes pegar la Server Entry en tu archivo mcp.json existente bajo el nombre de servidor que elijas, o usar el payload completo de Servers File para crear un nuevo archivo de configuración.
Autenticación
El inspector admite autenticación con token bearer para conexiones SSE. Ingresa tu token en la UI al conectarte a un servidor MCP, y se enviará en el encabezado Authorization. Puedes anular el nombre del encabezado usando el campo de entrada en la barra lateral.
Consideraciones de seguridad
El MCP Inspector incluye un servidor proxy que puede ejecutar y comunicarse con procesos MCP locales. El servidor proxy no debe exponerse a redes no confiables, ya que tiene permisos para iniciar procesos locales y puede conectarse a cualquier servidor MCP especificado.
Autenticación
El servidor proxy del MCP Inspector requiere autenticación de forma predeterminada. Al iniciar el servidor, se genera un token de sesión aleatorio y se imprime en la consola:
🔑 Session token: 3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
🔗 Open inspector with token pre-filled:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
Este token debe incluirse como token Bearer en el encabezado Authorization para todas las solicitudes al servidor. El inspector abrirá automáticamente tu navegador con el token prellenado en la URL.
Apertura automática del navegador - El inspector ahora abre automáticamente tu navegador con el token prellenado en la URL cuando la autenticación está habilitada.
Alternativa: Configuración manual - Si ya tienes el inspector abierto:
- Haz clic en el botón "Configuration" en la barra lateral
- Busca "Proxy Session Token" e ingresa el token que se muestra en la consola del proxy
- Haz clic en "Save" para aplicar la configuración
El token se guardará en el almacenamiento local de tu navegador para uso futuro.
Si necesitas deshabilitar la autenticación (NO RECOMENDADO), puedes configurar la variable de entorno DANGEROUSLY_OMIT_AUTH:
DANGEROUSLY_OMIT_AUTH=true npm start
Vinculación solo local
De forma predeterminada, tanto el servidor proxy como el cliente del MCP Inspector se vinculan solo a localhost para evitar el acceso a la red. Esto garantiza que no sean accesibles desde otros dispositivos de la red. Si necesitas vincularlos a todas las interfaces con fines de desarrollo, puedes anular esto con la variable de entorno HOST:
HOST=0.0.0.0 npm start
Advertencia: Solo vincula a todas las interfaces en entornos de red confiables, ya que esto expone la capacidad del servidor proxy para ejecutar procesos locales y ambos servicios al acceso de red.
Protección contra reenlace de DNS
Para prevenir ataques de reenlace de DNS, el MCP Inspector valida el encabezado Origin en las solicitudes entrantes. De forma predeterminada, solo se permiten solicitudes del origen del cliente (respeta CLIENT_PORT si está configurado, con valor predeterminado en el puerto 6274). Puedes configurar orígenes adicionales permitidos estableciendo la variable de entorno ALLOWED_ORIGINS (lista separada por comas):
ALLOWED_ORIGINS=http://localhost:6274,http://localhost:8000 npm start
Configuración
El MCP Inspector admite los siguientes ajustes de configuración. Para cambiarlos, haz clic en el botón Configuration en la UI del MCP Inspector:
| Ajuste | Descripción | Predeterminado |
|---|---|---|
MCP_SERVER_REQUEST_TIMEOUT | Tiempo de espera para solicitudes al servidor MCP (ms) | 10000 |
MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS | Restablecer tiempo de espera en notificaciones de progreso | true |
MCP_REQUEST_MAX_TOTAL_TIMEOUT | Tiempo de espera total máximo para solicitudes enviadas al servidor MCP (ms) (Usar con notificaciones de progreso) | 60000 |
MCP_PROXY_FULL_ADDRESS | Configura esto si estás ejecutando el MCP Inspector Proxy en una dirección no predeterminada. Ejemplo: http://10.1.1.22:5577 | "" |
MCP_AUTO_OPEN_ENABLED | Habilitar la apertura automática del navegador cuando se inicia el inspector (funciona con autenticación habilitada). Solo como variable de entorno, no configurable en el navegador. | true |
Estos ajustes se pueden modificar en tiempo real a través de la UI y persistirán entre sesiones.
El inspector también admite archivos de configuración para almacenar ajustes de diferentes servidores MCP. Esto es útil cuando se trabaja con múltiples servidores o configuraciones complejas:
npx @modelcontextprotocol/inspector --config path/to/config.json --server everything
Ejemplo de archivo de configuración de servidor:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"],
"env": {
"hello": "Hello MCP!"
}
},
"my-server": {
"command": "node",
"args": ["build/index.js", "arg1", "arg2"],
"env": {
"key": "value",
"key2": "value2"
}
}
}
}
Consejo: Puedes generar fácilmente este formato de configuración usando los botones Server Entry y Servers File en la UI del Inspector, como se describe en la sección Exportación de archivo de servidores anterior.
También puedes configurar el tipo inicial transport, serverUrl, serverCommand y serverArgs mediante parámetros de consulta, por ejemplo:
http://localhost:6274/?transport=sse&serverUrl=http://localhost:8787/sse
http://localhost:6274/?transport=streamable-http&serverUrl=http://localhost:8787/mcp
http://localhost:6274/?transport=stdio&serverCommand=npx&serverArgs=arg1%20arg2
También puedes configurar ajustes iniciales mediante parámetros de consulta, por ejemplo:
http://localhost:6274/?MCP_SERVER_REQUEST_TIMEOUT=10000&MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS=false&MCP_PROXY_FULL_ADDRESS=http://10.1.1.22:5577
Ten en cuenta que si tanto el parámetro de consulta como el elemento correspondiente de localStorage están configurados, el parámetro de consulta tendrá prioridad.
Desde este repositorio
Si estás trabajando en el propio inspector:
Modo de desarrollo:
npm run dev
Nota para usuarios de Windows: En Windows, usa el siguiente comando en su lugar:
npm run dev:windows
Modo de producción:
npm run build
npm start
Modo CLI
El modo CLI permite la interacción programática con servidores MCP desde la línea de comandos, ideal para scripting, automatización e integración con asistentes de codificación. Esto crea un ciclo de retroalimentación eficiente para el desarrollo de servidores MCP.
npx @modelcontextprotocol/inspector --cli node build/index.js
El modo CLI admite la mayoría de las operaciones en herramientas, recursos y prompts. Algunos ejemplos:
# Basic usage
npx @modelcontextprotocol/inspector --cli node build/index.js
# With config file
npx @modelcontextprotocol/inspector --cli --config path/to/config.json --server myserver
# List available tools
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list
# Call a specific tool
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/call --tool-name mytool --tool-arg key=value --tool-arg another=value2
# List available resources
npx @modelcontextprotocol/inspector --cli node build/index.js --method resources/list
# List available prompts
npx @modelcontextprotocol/inspector --cli node build/index.js --method prompts/list
# Connect to a remote MCP server (default is SSE transport)
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com
# Connect to a remote MCP server (with Streamable HTTP transport)
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --transport http
# Call a tool on a remote server
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method tools/call --tool-name remotetool --tool-arg param=value
# List resources from a remote server
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method resources/list
Modo UI vs Modo CLI: Cuándo usar cada uno
| Caso de uso | Modo UI | Modo CLI |
|---|---|---|
| Desarrollo de servidores | Interfaz visual para pruebas interactivas y depuración durante el desarrollo | Comandos scriptables para pruebas rápidas e integración continua; crea ciclos de retroalimentación con asistentes de codificación de IA como Cursor para desarrollo rápido |
| Exploración de recursos | Navegador interactivo con navegación jerárquica y visualización JSON | Listado y lectura programática para automatización y scripting |
| Pruebas de herramientas | Entrada de parámetros basada en formularios con visualización de respuestas en tiempo real | Ejecución de herramientas desde la línea de comandos con salida JSON para scripting |
| Ingeniería de prompts | Muestreo interactivo con respuestas en streaming y comparación visual | Procesamiento por lotes de prompts con salida legible por máquina |
| Depuración | Historial de solicitudes, errores visualizados y notificaciones en tiempo real | Salida JSON directa para análisis de registros e integración con otras herramientas |
| Automatización | N/A | Ideal para pipelines de CI/CD, procesamiento por lotes e integración con asistentes de codificación |
| Aprender MCP | La interfaz visual enriquecida ayuda a los nuevos usuarios a comprender las capacidades del servidor | Comandos simplificados para aprendizaje enfocado de endpoints específicos |
Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.