Hilo MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HILO_API_KEY | No | Your API key for Hilo. Use hilo_sbx_... for sandbox, hilo_... for production. | |
| HILO_BASE_URL | No | Base URL for the Hilo API. Default is https://api.hilo.cenzontle.cloud | https://api.hilo.cenzontle.cloud |
| HILO_TIMEOUT_MS | No | Timeout per request in milliseconds. | 30000 |
| HILO_ALLOW_PRODUCTION | No | Must be set to 'true' to accept a production API key. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hilo_diagnoseA | Revisa el estado de la conexión con Hilo y devuelve los siguientes pasos concretos. EJECÚTALA PRIMERO, antes de escribir código: te dice si hay credencial, si es de sandbox o productiva, si la API responde, si hay saldo y cuántas plantillas hay disponibles para enviar. Si falta la key, explica exactamente cómo pedirla. |
| hilo_webhook_sampleA | Devuelve un evento de estado idéntico a los que manda Hilo, junto con su header X-Hilo-Signature válido para el secreto que le pases. Sirve para probar TU handler sin exponer un endpoint público ni esperar un mensaje real: manda este cuerpo crudo y este header a tu servidor y comprueba que lo acepta. Prueba también con una firma alterada: tu handler DEBE responder 401. |
| hilo_verify_webhook_signatureA | Comprueba si una firma corresponde a un cuerpo y un secreto, con la misma fórmula que usa Hilo. Úsala para depurar cuando tu handler rechaza eventos legítimos: casi siempre es porque se firmó el JSON re-serializado en vez del cuerpo crudo. |
| hilo_check_webhook_endpointA | Comprueba que la URL de tu webhook cumple lo que Hilo exige antes de configurarla: HTTPS y host público. Hilo bloquea localhost y redes privadas por defensa anti-SSRF, así que para desarrollo hace falta un túnel. NO hace ninguna petición a la URL. |
| hilo_list_templatesA | Lista las plantillas disponibles para esta cuenta con su estado en Meta (APPROVED, PENDING, REJECTED). Solo se pueden enviar las APPROVED. Consúltala antes de enviar para usar el nombre exacto y saber qué variables espera. |
| hilo_get_templateA | Devuelve el estado y la estructura (componentes y variables) de una plantilla por nombre. |
| hilo_validate_sendA | Revisa un payload de POST /v1/messages contra la plantilla REAL del catálogo: formato del teléfono, existencia y estado de la plantilla, y que las variables del BODY y del HEADER sean exactamente las que espera. NO envía nada ni gasta créditos. Úsala con el payload que genera tu código antes de disparar un envío de verdad. |
| hilo_validate_broadcastA | Revisa un payload de POST /v1/broadcasts sin enviarlo: teléfonos duplicados o mal formados, variables faltantes por destinatario (considerando template_variables compartidas) y estado de la plantilla. Reporta también el costo en créditos. NO envía nada. Corre esto antes de cualquier envío masivo. |
| hilo_get_usageA | Devuelve el saldo de créditos, los mensajes facturados del periodo y el gasto estimado. Un crédito equivale a un mensaje. Consúltalo antes de un envío masivo: sin saldo suficiente los envíos quedan en failed con insufficient_credits. |
| hilo_send_messageA | Envía UNA plantilla de WhatsApp ya aprobada por Meta a un número. CUESTA UN CRÉDITO de la bolsa del cliente y le llega a una persona real: confirma el destinatario y el contenido antes de llamarla. Esta cuenta es de SANDBOX: solo puede enviar al número de prueba autorizado y no se cobra. Devuelve un |
| hilo_get_messageA | Devuelve el estado de entrega de un mensaje por su |
| hilo_list_messagesA | Lista los mensajes enviados, del más reciente al más antiguo. Se puede filtrar por broadcast, por estado y por metadata propia. |
| hilo_send_broadcastA | Envía una plantilla aprobada a MUCHOS destinatarios de una vez. CUESTA UN CRÉDITO POR DESTINATARIO y llega a personas reales: muestra la lista y el total a quien te lo pide, y espera su confirmación antes de llamarla. Usa |
| hilo_get_broadcastA | Devuelve el detalle de un broadcast con el conteo por estado ( |
| hilo_list_broadcastsA | Lista los broadcasts con su resumen por estado. Se puede filtrar por metadata propia. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| integrar_con_hilo | Plan completo para que el agente implemente y VERIFIQUE una integración con Hilo de punta a punta: credencial, plantillas, envío, webhook firmado y pruebas contra sandbox. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-reference | Endpoints, cuerpos, respuestas, estados y códigos de error de la API v1 de Hilo. |
| webhook-guide | Cómo recibir y verificar los eventos de entrega: firma HMAC sobre el cuerpo crudo, ejemplos en Node y Python, y las reglas de operación (5 s de timeout, sin reintentos). |
| integration-guide | Orden recomendado para integrarse, con qué verificar en cada paso y los errores que se repiten. |
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/cnzontle/hilo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server