AI assistants (MCP)
Vigil speaks the Model Context Protocol, so Claude, Cursor, VS Code and other MCP clients can read your monitors and incidents — and, with a full-access key, act on them. Ask things like “is anything down?”, “why was the API slow last night?”, “when do our domains expire?” or “schedule maintenance for the database monitors tonight 22–23”.
Connect
The server lives at https://vigil.xzz.dk/api/mcp (Streamable HTTP) and authenticates with an API key from Settings → API access. Create a read-only key unless you want the assistant to make changes. Settings shows these snippets with your key filled in.
Claude Code
claude mcp add --transport http vigil https://vigil.xzz.dk/api/mcp \ --header "Authorization: Bearer vgl_api_…"
Cursor (~/.cursor/mcp.json) / VS Code
{
"mcpServers": {
"vigil": {
"url": "https://vigil.xzz.dk/api/mcp",
"headers": { "Authorization": "Bearer vgl_api_…" }
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"vigil": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://vigil.xzz.dk/api/mcp",
"--header", "Authorization:${VIGIL_AUTH}"],
"env": { "VIGIL_AUTH": "Bearer vgl_api_…" }
}
}
}Tools
Every key can use the read tools:
get_overview— what's down, open incidents, maintenance in the next 24 hours, plan usagelist_monitors,get_monitor— status, uptime, per-location state, SSL and domain expiry, recent incidents; for DNS monitors the latest answers, DNSSEC status and record changesget_response_times— response-time (DNS: lookup-time) stats and failures for the last hourslist_incidents,get_incident— incidents with their timeline and public updateslist_maintenance_windows,list_status_pages,list_alert_channels
Full-access keys also get write tools (read-only keys don't even see them):
create_http_monitor,create_dns_monitor,update_monitor,check_monitor_nowpause_monitor/resume_monitor,start_maintenance_mode/end_maintenance_modecreate_maintenance_windowopen_incident,resolve_incident,post_incident_update— these notify your channels and status-page subscribers
What an assistant can't do
Nothing can be deleted over MCP, and it never sees or changes workspace settings, API keys, alert-channel destinations (webhook URLs, tokens), monitor credentials (basic auth, custom headers, request bodies) or captured response bodies. Heartbeat ping URLs are only shown to full-access keys.
Some data quotes third parties — a monitored site's error, the text of a DNS record, a vendor's status-page incident title. Vigil tells the assistant to treat that as data, but prompt injection is an open problem: if an assistant has a full-access key, keep confirmations on for write actions. Every write is logged with the key's name, and manual incidents show it in their timeline. Revoke a key in Settings to cut access immediately.