Skip to main content
Glama

MCP Host Canary

CI

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

Cascada de MCP Host Canary que progresa desde la creación de la ejecución hasta una devolución de llamada de herramienta ejecutada

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_257

Consulta 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.

  1. Crea una ejecución baseline para la ruta normal o una ejecución limits para el límite de 258 herramientas.

  2. 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.

  3. 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, incluida sentinel_257 en 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.executed

MCP 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

baseline

directo ×1; indirecto ×1; negativo ≥1 (el recuento negativo exacto no se conserva)

tools/call.executed; devolución de llamada total ×1; última herramienta canary_ping

Modo Desarrollador de ChatGPT

baseline

directo ×3; indirecto ×3; negativo ≥1 (el recuento negativo exacto no se conserva)

tools/call.executed; devolución de llamada total ×6; última herramienta canary_ping

Claude Web

limits

solicitud explícita de sentinel_257 ×2

tools/list.response ×2 con 258 herramientas; devolución de llamada total ×0

Modo Desarrollador de ChatGPT

limits

el recuento exacto de solicitudes de sentinel_257 no se conserva

tools/call.executed; 258 herramientas listadas; devolución de llamada total ×3; última herramienta sentinel_257

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

  1. Crea una ejecución baseline nueva y conecta su URL desechable usando la guía de configuración para Claude, ChatGPT o Cursor.

  2. 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.

  3. 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.

  4. Para el límite de orden, crea una ejecución limits separada 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.

  5. 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 start

Abre 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 demo

La 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

Desplegar en Render

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

POST

/api/session

Emitir o renovar una sesión anónima

DELETE

/api/session

Terminar la sesión del navegador

POST

/api/tests

Crear `{ "profile": "baseline"

"limits" }`

GET

/api/tests?limit=12&cursor=...

Listar las ejecuciones del propietario actual

GET

/api/tests/:id

Leer una ejecución solo para el propietario; admite ETag y 304

GET

`/api/tests/:id/receipt?format=json

markdown`

Exportar un recibo seguro

POST

/api/tests/:id/finalize

Deshabilitar el acceso MCP y congelar el recibo

DELETE

/api/tests/:id

Revocar y eliminar una ejecución inmediatamente

GET

/healthz

Salud del proceso

GET

/readyz

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/list tiene 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 429 o 503 con Retry-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.0 con CANARY_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_SECRET a un valor generado aleatoriamente de al menos 32 bytes;

  • opcionalmente, establecer CANARY_INDEXNOW_KEY a un valor separado, generado aleatoriamente, de 8 a 128 caracteres ASCII (letras, dígitos o guiones) para exponer /<key>.txt para la verificación manual de propiedad de IndexNow;

  • establecer el TTL en 1800000 ms y el máximo de pruebas en 50;

  • 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=low

Puerta 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

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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,

View all MCP Connectors

Latest Blog Posts

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