MCP Inspector
Una herramienta para desarrolladores que permite probar y depurar servidores MCP mediante una interfaz web.
Documentación
MCP Inspector
El MCP Inspector es una herramienta de desarrollo para probar y depurar servidores MCP.

Descripción General de la Arquitectura
El MCP Inspector consta de dos componentes principales que trabajan juntos:
- Cliente MCP Inspector (MCPI): Una interfaz web basada en React que proporciona una interfaz interactiva para probar y depurar servidores MCP
- Proxy MCP (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 su lugar, 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 interfaz, simplemente ejecuta lo siguiente:
npx @modelcontextprotocol/inspector
El servidor se iniciará y la interfaz 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 un cliente UI MCP Inspector (MCPI) (puerto predeterminado 6274) como un servidor Proxy MCP (MCPP) (puerto predeterminado 6277). Abre la interfaz 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 recurso mnemotécnico). 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 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 usar en clientes como Cursor, Claude Code o el CLI del Inspector. El archivo generalmente se llama mcp.json.
-
Entrada de Servidor - 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" } -
Archivo de Servidores - 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 interfaz 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 "Entrada de Servidor" copia la configuración de URL SSE que se puede agregar a tu archivo de configuración existente, mientras que el botón "Archivo de Servidores" crea un archivo de configuración completo que contiene la URL SSE para uso directo en clientes.
Puedes pegar la Entrada de Servidor en tu archivo mcp.json existente bajo el nombre de servidor que elijas, o usar la carga útil completa del Archivo de Servidores para crear un nuevo archivo de configuración.
Autenticación
El inspector admite autenticación de token Bearer para conexiones SSE. Ingresa tu token en la interfaz 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 "Configuración" en la barra lateral
- Busca "Token de Sesión del Proxy" e ingresa el token que se muestra en la consola del proxy
- Haz clic en "Guardar" 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, el servidor proxy del MCP Inspector se vincula solo a 127.0.0.1 (localhost) para prevenir el acceso desde la red. Esto asegura que el servidor no sea accesible desde otros dispositivos en la red. Si necesitas vincularlo 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.
Protección contra Rebinding de DNS
Para prevenir ataques de rebinding 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://127.0.0.1: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 interfaz del MCP Inspector:
| Configuración | 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 máximo total para solicitudes enviadas al servidor MCP (ms) (Usar con notificaciones de progreso) | 60000 |
MCP_PROXY_FULL_ADDRESS | Configúralo si estás ejecutando el Proxy del MCP Inspector en una dirección no predeterminada. Ejemplo: http://10.1.1.22:5577 | "" |
MCP_AUTO_OPEN_ENABLED | Habilitar apertura automática del navegador cuando el inspector se inicia (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 interfaz y persistirán entre sesiones.
El inspector también admite archivos de configuración para almacenar ajustes para 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 Entrada de Servidor y Archivo de Servidores en la interfaz del Inspector, como se describe en la sección Exportación de Archivo de Servidores anterior.
También puedes configurar el tipo transport inicial, 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 de configuración 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 inspector en sí:
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
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com
# 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 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 | Interfaz visual rica ayuda a 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.