mcp-host-canary
MCP Host Canary
Crea un servidor MCP remoto desechable, conéctalo a Claude, ChatGPT, Cursor u otro host gestionado, y obtén un recibo seguro del último límite de protocolo que realmente alcanzó.
Ejecuta un canario de 30 minutos, sin registro ni instalación · Consulta un recibo de muestra finalizado
Demostración en cascada

MCP Host Canary crea un servidor de prueba conocido y registra solo los límites de protocolo que observa. Distingue entre ausencia de tráfico MCP reconocido, una respuesta de manifiesto incompleta, una lista de herramientas devuelta sin una llamada centinela, y una solicitud de llamada sin ejecución de devolución de llamada registrada. Registra el descubrimiento moderno opcional y la inicialización heredada solo cuando realmente llegan. No infiere éxito a partir de un evento que no recibió.
MCP Inspector y MCPJam se conectan a un servidor para depuración directa. MCP Host Canary registra el último límite de protocolo que un servidor de prueba conocido observó desde Claude, ChatGPT, Cursor u otro host.
No se conservan tokens, indicaciones, cuerpos de solicitud, argumentos de herramientas, direcciones IP ni cadenas de User-Agent sin procesar.
Un recibo finalizado está diseñado para compartirse solo después de que su endpoint desechable esté cerrado:
profile limits
status finalized
last observed tools/call.executed
tools listed 258
called tool sentinel_257Consulta un recibo Markdown completo y seguro para la privacidad. Es un ejemplo local controlado, no evidencia de un host gestionado.
Comienza con el síntoma que coincida: Claude conectado pero las herramientas no aparecen, conectado pero sin llamada a herramienta, tools/list sin tools/call, el límite de 258 herramientas, o MCP Inspector vs MCP Host Canary.
Crea una ejecución
baselinepara la ruta normal o una ejecuciónlimitspara el límite de 258 herramientas.Entrega la URL MCP temporal solo al host gestionado que estás probando; sigue la guía de configuración para Claude, ChatGPT o Cursor.
Observa la cascada observada por el servidor, luego finaliza y exporta el recibo seguro.
Para contribuir con una observación independiente de un host, sigue la ruta de contribución de recibos seguros.
Este es un piloto experimental, gratuito y de instancia única, no una suite de conformidad MCP, un escáner de seguridad, un proxy ni una pasarela de producción. Un reinicio o la suspensión de la instancia gratuita elimina las ejecuciones activas y los recibos.
Related MCP server: Local Model Workers MCP
Qué observa
Cada ejecución tiene uno de dos perfiles:
baseline: tres herramientas compactas y sin entrada para una ruta normal de descubrimiento y llamada.limits: 258 herramientas, incluidasentinel_257en el límite de orden y un fixture de límite de esquema con una descripción de 16 385 bytes.
La cascada contiene solo hechos MCP observados sin autenticación. Cubre dos eras de protocolo en lugar de requerir una secuencia universal:
2026-07-28: server/discover? (optional)
2025-11-25 and earlier: initialize.request -> initialize.response -> initialized
tools/list.request -> tools/list.response
tools/call.request -> tools/call.executedMCP 2026-07-28 eliminó el protocolo de enlace initialize / initialized, y un cliente moderno no está obligado a llamar a server/discover. Las revisiones anteriores usan la ruta del protocolo de enlace. Interpreta la ausencia de descubrimiento o inicialización según la versión de protocolo observada cuando esté disponible; ninguno es un requisito previo para una observación moderna de tools/list o tools/call.
La recepción de la solicitud y la ejecución real de la devolución de llamada son observaciones separadas. El recuento de herramientas se registra solo después de que se produce correctamente una respuesta de manifiesto.
Evidencia inicial de hosts gestionados
Las ejecuciones iniciales de limits alcanzaron dos límites diferentes observados por el servidor: Claude Web obtuvo el manifiesto de 258 herramientas sin una devolución de llamada centinela; el modo Desarrollador de ChatGPT alcanzó la ejecución real de la devolución de llamada sentinel_257. Los recuentos de intentos no fueron uniformes, por lo que estas son notas de casos límite, no tasas comparativas, calificaciones de compatibilidad ni afirmaciones sobre la causa interna de un host.
Lee la página de evidencia de límites de hosts gestionados para conocer el alcance y las limitaciones. Su fuente legible por máquina, managed-host-observations.v1.json, es un resumen normalizado de muestra pequeña, no un conjunto de recibos reconstruidos.
Host gestionado | Perfil | Protocolo de operador conservado | Resultado observado por el servidor |
Claude Web |
| directo ×1; indirecto ×1; negativo ≥1 (el recuento negativo exacto no se conserva) |
|
Modo Desarrollador de ChatGPT |
| directo ×3; indirecto ×3; negativo ≥1 (el recuento negativo exacto no se conserva) |
|
Claude Web |
| solicitud explícita de |
|
Modo Desarrollador de ChatGPT |
| el recuento exacto de solicitudes de |
|
El control negativo dejó sin cambios los recuentos de devoluciones de llamada en ambas ejecuciones de baseline, pero su recuento exacto de repeticiones no se conservó. No calcules tasas de éxito de hosts a partir de estas cuatro filas históricas.
Reproduce un límite de host
Crea una ejecución
baselinenueva y conecta su URL desechable usando la guía de configuración para Claude, ChatGPT o Cursor.En tres conversaciones nuevas del host, envía cada indicación exactamente una vez: directa —
Call canary_ping exactly once and return only its tool result.; indirecta —Use the connected MCP server to retrieve its fixed canary value without naming a tool yourself. Return only that value.; negativa —Do not use any MCP tool. Reply with exactly: control-only.Registra el delta del recuento de devoluciones de llamada después de cada indicación. Un delta directo o indirecto registra el envío del host; el delta negativo debe permanecer en cero. Estas son observaciones, no calificaciones de aprobado o reprobado.
Para el límite de orden, crea una ejecución
limitsseparada y una conexión de host usando la nueva URL desechable de esa ejecución, y envía una vez en una conversación nueva:Call sentinel_257 exactly once and return only its tool result.Finaliza cada ejecución y exporta su recibo seguro. Finalizar desactiva el endpoint MCP desechable.
Las mismas indicaciones exactas están disponibles como acciones de copia en la interfaz en vivo después de crear una ejecución.
Si el canario produce un límite reproducible, usa la plantilla de ticket de soporte seguro o el formulario de recibo de host gestionado. Si ahorró tiempo de depuración, dale una estrella al repositorio para que otros desarrolladores de MCP puedan encontrarlo. Nunca incluyas una URL de capacidad en vivo ni una URL de recibo solo para el propietario.
Inicio rápido local
Usa Node.js 22.x.
npm ci
npm run typecheck
npm test
npm run build
npm startAbre http://127.0.0.1:4317. La configuración local de no producción usa un secreto de sesión solo para desarrollo; la producción se niega a iniciar sin un secreto explícito y una URL pública HTTPS.
Con el servidor aún en ejecución, ejercita dos ejecuciones locales controladas desde otra terminal con el cliente MCP oficial:
npm run demoLa demostración lista y llama al centinela final en una ejecución, luego lista herramientas y se detiene en la otra. Eso valida las diferencias de recibos sin afirmar compatibilidad con un host gestionado.
Despliega un piloto aislado
El Blueprint crea una instancia gratuita en Singapur, genera un secreto de sesión de 256 bits, ejecuta la compilación de verificación completa y mantiene el despliegue automático deshabilitado. Usa el mismo límite de piloto de 30 minutos, 50 ejecuciones y solo memoria que la beta pública. Una instancia de cómputo gratuita no garantiza una factura de espacio de trabajo de $0: el uso más allá del ancho de banda incluido o las asignaciones de la canalización de compilación puede cobrarse cuando la facturación está habilitada. Revisa los límites de instancia gratuita de Render, verifica el uso del espacio de trabajo y configura el límite de gasto de la canalización de compilación antes de desplegar. Un inicio en frío o un reinicio puede borrar ejecuciones activas y recibos.
API
Todas las operaciones de ejecución /api/* están aisladas a una sesión de navegador anónima firmada. Otros propietarios reciben el mismo 404 que una ejecución faltante. Solo la URL de capacidad /mcp/:id de alta entropía es intencionalmente utilizable sin esa sesión.
Método | Ruta | Propósito | |
|
| Emitir o renovar una sesión anónima | |
|
| Terminar la sesión del navegador | |
|
| Crear `{ "profile": "baseline" | "limits" }` |
|
| Listar las ejecuciones del propietario actual | |
|
| Leer una ejecución solo para el propietario; admite | |
| `/api/tests/:id/receipt?format=json | markdown` | Exportar un recibo seguro |
|
| Deshabilitar el acceso MCP y congelar el recibo | |
|
| Revocar y eliminar una ejecución inmediatamente | |
|
| Salud del proceso | |
|
| Disponibilidad |
El navegador consulta condicionalmente como máximo tres ejecuciones activas seleccionadas. La consulta se detiene cuando la pestaña está oculta o una ejecución se finaliza o expira, y los errores usan retroceso exponencial.
Límites del piloto
Las ejecuciones viven en un solo proceso y expiran después de como máximo 30 minutos.
Un despliegue, reinicio o suspensión de instancia gratuita elimina ejecuciones activas y recibos.
Hay como máximo 50 ejecuciones activas, tres por propietario, seis creaciones por propietario por hora y 60 creaciones globales por hora.
El tráfico MCP está limitado por ejecución;
tools/listtiene un límite más estricto y el fixture de límites tiene un semáforo de ejecución de cuatro solicitudes.La presión de capacidad devuelve
429o503conRetry-After; una ejecución existente nunca se desaloja para admitir una nueva.Los cuerpos
/api/*están limitados a 2 KiB, los cuerpos/mcp/*a 64 KiB y los lotes JSON-RPC a 16 entradas antes del procesamiento de la aplicación.Las suscripciones MCP y OAuth están intencionalmente ausentes. Las herramientas son de solo lectura, idempotentes y se anuncian con metadatos de compatibilidad sin autenticación.
Los resultados muestran el último límite observado por este servidor. No pueden establecer la causa raíz dentro de un host cerrado.
Consulta PRIVACY.md para conocer los campos retenidos y SECURITY.md para obtener orientación sobre la URL de capacidad y la notificación de incidentes.
Configuración de producción
La forma prevista para el piloto es exactamente un proceso Node 22.x detrás de HTTPS. En producción:
vincular a
0.0.0.0conCANARY_BIND_HOST;derivar la URL base pública y el host permitido de
RENDER_EXTERNAL_URL, o establecer la URL pública explícita compatible con el servidor;establecer
CANARY_SESSION_SECRETa un valor generado aleatoriamente de al menos 32 bytes;opcionalmente, establecer
CANARY_INDEXNOW_KEYa un valor separado, generado aleatoriamente, de 8 a 128 caracteres ASCII (letras, dígitos o guiones) para exponer/<key>.txtpara la verificación manual de propiedad de IndexNow;establecer el TTL en
1800000ms y el máximo de pruebas en50;mantener la implementación automática deshabilitada para que un push de código fuente no pueda borrar silenciosamente las ejecuciones activas.
Nunca confirmes el secreto de sesión ni una clave de IndexNow. Copia .env.example solo para la configuración local. El archivo de clave no aparece en robots.txt ni en el mapa del sitio, y este servicio no envía URLs automáticamente. Notifica a IndexNow solo cuando se agregue, actualice, redirija o elimine una página pública del mismo origen.
Comandos
npm run typecheck
npm test
npm run build
npm start
npm run demo
npm audit --audit-level=lowPuerta de validación
Las pruebas locales son necesarias pero no suficientes. El piloto continúa solo si, dentro de un máximo de siete días:
dos hosts administrados independientes producen recibos distintos;
cinco desarrolladores independientes completan una ejecución desde su propio host;
dos recibos se utilizan en un ticket de soporte real o en un issue de GitHub; y
las comprobaciones de no retención de secretos siguen pasando.
El proyecto no se expande si falla la conexión con el host administrado, la evidencia requiere retener secretos, los usuarios solicitan principalmente un proxy o reparación automática, o una herramienta oficial proporciona el mismo flujo de evidencia de host administrado. El alojamiento de pago y una versión con control de versiones ocurren solo si la evidencia del piloto lo justifica.
Licencia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLocal MCP servers that give Claude Code access to other tools mid-session.GPL 3.0
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets Claude Code and Codex delegate repository exploration and test proposals to a remote LM Studio model, while enforcing security boundaries by keeping all repository access read-only and never applying patches or running commands remotely.1,0621MIT
- AlicenseAqualityBmaintenanceLocal MCP server that lets Claude Code delegate bounded, read-only tasks to external AI models (Codex, Grok, local OpenAI-compatible servers) via CLIProxyAPI.6MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for safely continuing long Claude Code sessions by cleaning transcripts, removing runtime noise, and generating verified resumable sessions with rollback support.MIT
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
A paid remote MCP for AI agent browser MCP session, built to return verdicts, receipts, usage logs,
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sjh9714/mcp-host-canary'
If you have feedback or need assistance with the MCP directory API, please join our Discord server