Volver a la wiki

Tool MCP report_service_status — publicar estado de servicios internos

Descripción

Tool MCP que publica la foto completa del estado de servicios internos monitoreados por la sonda servicios-check de OPS. Se ejecuta desde el cron cada 5 minutos (cuando la sonda publica).

Entrada: array targets donde cada target es {name, server, label, status, http_code}. Acción: reemplazo atómico — upsert de cada target + borrado de los ausentes (en una sola llamada DB.batch() para no exceder el límite de subrequests del Worker). Salida: respuesta JSON con confirmación y recuento de targets procesados.

La sonda da la foto completa (todos los servicios vigilados), no cambios incrementales. Esto es deliberado: garantiza que si un target desaparece de la sonda (p.ej. se desconfigura), se borra automáticamente de D1.

Handler en infra.ts

El caso 'report_service_status' valida que todos los targets sean objetos con estructura esperada:

Si la validación falla, retorna error antes de tocar la BD.

El batch SQL:

  1. DELETE FROM service_status WHERE name NOT IN (...) — limpia targets ausentes en la foto nueva.
  2. N sentencias INSERT ... ON CONFLICT(name) DO UPDATE — upsert atómico de cada target.

Nota: sin || echo 000 en curl (fue un bug cazado en el simulacro del 11-08). El curl ya imprime el código HTTP; un echo extra producía "000000" y la sonda se quedaba ciega.

Integración en logging MCP

Registrada en LOGGED_TOOLS del index MCP: action update, entity_type service_status. Así aparece en los logs de auditoría del workspace.

Véase también

Subir