Docs · MCP

Vigil's MCP server

Vigil runs a Model Context Protocol server at https://puzaricloud.in/mcp (Streamable HTTP). Connect it from Claude, ChatGPT, Cursor, VS Code or Zed by signing in to Vigil (OAuth), or with an API key, and your assistant can read incidents, monitors, servers, logs, error issues with stack traces, slow queries and traces, and acknowledge incidents, without leaving the editor.

Connect with sign-in (Claude, ChatGPT, Cursor)

  1. Claude (claude.ai, Desktop, mobile): Settings → Connectors → Add custom connector, and paste https://puzaricloud.in/mcp.
  2. Claude Code: claude mcp add --transport http vigil https://puzaricloud.in/mcp, then run /mcp to sign in.
  3. ChatGPT, Cursor, VS Code: add a remote MCP server with the same URL.
  4. Your browser opens Vigil: sign in (password, Google or GitHub) and choose what the app may do. Read access is always included; tick "Allow acknowledging incidents" if you want it to acknowledge.

The app only sees what your role can see and can't change monitors, channels, billing or your team. Access tokens last an hour and refresh automatically; disconnect any app under Settings → API keys → Connected AI apps.

Or use an API key

Create a key in Settings → API keys (read-only is enough unless the assistant should acknowledge incidents) and add it to your client's configuration:

{"mcpServers": {"vigil": {"url": "https://puzaricloud.in/mcp",
  "headers": {"Authorization": "Bearer vgk_your_key"}}}}

Self-hosted edition: use your own instance's URL instead of puzaricloud.in. The server speaks JSON-RPC 2.0 over Streamable HTTP (stateless, no SSE) and supports initialize, tools/list and tools/call; OAuth discovery lives at /.well-known/oauth-protected-resource/mcp. Data handling: privacy policy.

Tools (14)

ToolWhat it returnsAccess
vigil_statusWorkspace summary: monitors up/down, servers online/offline, open incidents, error events in the last hour.read
list_incidentsIncidents (open by default) with id, title, kind, started, acknowledged, cause.read
get_incidentOne incident with its cause, timeline and related monitor/server.read
acknowledge_incidentAcknowledge an incident (pauses repeat alerts and escalation). Requires a read/write key.write
list_monitorsMonitors with state, last error, latency; optional name filter.read
list_serversServers with online state, CPU/memory/disk, agent version, tags.read
server_detailsLatest sample of one server: host facts, CPU/mem/disk/load, top processes, failed services, pending updates, listening ports, docker containers.read
search_logsSearch shipped log lines (full text) across servers for the last N hours.read
list_errorsApplication error issues (Sentry-compatible projects): title, count, users, first/last seen, status.read
get_error_issueOne error issue with the latest event: exception, stack frames with source context, breadcrumbs, request, user, tags, release.read
slow_queriesSlowest database queries on a server (normalised), sorted by impact, last 24 h.read
recent_tracesStored slow/failed traces on a server with their issues (N+1, slow query); use trace_id to fetch spans.read
get_traceA stored trace's spans (name, kind, start, duration, attributes) and issues.read
timelineWhat happened around a moment (±minutes): incidents, failed checks, host peaks, error events, log error counts, deploys.read

Things to ask

  • "What's broken right now?" (vigil_status, list_incidents)
  • "Why did checkout get slow after the last deploy?" (recent_traces, slow_queries, timeline)
  • "Show me the stack trace of the newest error in checkout-api." (list_errors, get_error_issue)
  • "Search the logs on web-01 for payment_failed in the last 2 hours." (search_logs)