MCP Server

AIS Agent Flight Recorder — dead-man alerts & resume for AI agents

ai.aislabs/recorder
MCP & Agent Infrastructure Public & reachable MCP 2026-07-28

What this MCP does

Monitors agents and scheduled jobs through heartbeats, alerts on failures, and stores state capsules for resuming interrupted work.

delete_monitor
Agent Flight Recorder — remove a monitor (needs its secret or the owning key).
Input schema
{'type': 'object', 'required': ['monitor_id'], 'properties': {'secret': {'type': 'string'}, 'monitor_id': {'type': 'string'}}, 'additionalProperties': False}
fetch_capsule
Agent Flight Recorder (Gateway key) — get the last state capsule a monitored agent sent, to resume from where it died.
Input schema
{'type': 'object', 'required': ['monitor_id'], 'properties': {'secret': {'type': 'string'}, 'monitor_id': {'type': 'string'}}, 'additionalProperties': False}
fleet_status
Agent Flight Recorder (Gateway key) — every monitor you own: alive / late / dead, last heartbeat, capsule preview.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
heartbeat
Agent Flight Recorder — "still alive" ping for a registered monitor. Include capsule (any JSON ≤32KB: current step, done, next, ids) so a dead-man alert can carry resume state (stored on the key tier). status:"fail" reports a failure immediately.
Input schema
{'type': 'object', 'required': ['monitor_id'], 'properties': {'secret': {'type': 'string', 'description': 'Monitor secret from register_monitor (not needed when calling with the owning Gateway key)'}, 'status': {'enum': ['ok', 'fail'], 'type': 'string'}, 'capsule': {'type': 'object', 'description': 'Resume state: { step, done: [...], next, ids: {...} } — anything JSON'}, 'monitor_id': {'type': 'string'}}, 'additionalProperties': False}
register_monitor
Agent Flight Recorder — FREE (1 monitor per alert target) / Gateway key (20 monitors + stored capsules + fleet view). Register an agent or scheduled job to be watched: you get a monitor_id + secret; the agent then calls heartbeat every period_minutes. If heartbeats stop for period + grace, the alert target (Discord/HTTPS webhook and/or email) is notified with the last state capsule and a resume link.
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'What is being watched, e.g. "nightly ETL loop"'}, 'alert_email': {'type': 'string', 'description': 'Email address to alert (Gateway key tier only; capped at 10 emails/monitor/day)'}, 'alert_webhook': {'type': 'string', 'description': 'Discord webhook URL or any HTTPS webhook (receives JSON)'}, 'grace_minutes': {'type': 'number', 'description': 'How late a heartbeat may be before alerting (default 5)'}, 'period_minutes': {'type': 'number', 'description': 'Expected heartbeat interval in minutes (default 10)'}}, 'additionalProperties': False}
Added
delete_monitor
2026年9月11日0:30
Added
fleet_status
2026年9月11日0:30
Added
fetch_capsule
2026年9月11日0:30
Added
heartbeat
2026年9月11日0:30
Added
register_monitor
2026年9月11日0:30