Skip to main content
Glama
msradam

Xanthe Incident Agent

by msradam

Xanthe Incident Agent

An incident-response agent that drives a runbook on rails. The procedure is a plain XState machine mounted as an MCP server by Xanthe, and the agent can only take the moves the machine allows. The division of labor:

  • the machine owns the procedure (you cannot mitigate before diagnosing, resolve before recovery is verified, or close before a postmortem is written),

  • the agent supplies judgment (the hypothesis, the root cause, the mitigation),

  • the ledger is the audit trail (every step and every refused step, hash-chained).

Claude driving the runbook on rails

A premature resolve is refused by the server, not trusted to the model's judgment, and the refusal is recorded. By the time the incident is closed, the machine's context is a complete postmortem, assembled as a side effect of being forced through the right order.

Run it

npm install

Offline (deterministic policy, no API key)

npm start

A scripted policy walks the same gated runbook to resolution and verifies the ledger.

With Claude

npm run agent            # or: MODEL=claude-opus-4-8 npm run agent

Uses the Claude Agent SDK, which authenticates with your existing Claude Code login (no API key). The Xanthe server is registered as an MCP server, so Claude only ever acts through the gated step / state tools: it reads state, narrates each move, recovers from refusals, and writes the postmortem. It is held to the runbook the whole way.

Related MCP server: PilotOps MCP

What you see

gate check: resolve before mitigating -> refused (legal here: triage)

driving the runbook:
  detected       triage               -> triaged
  triaged        page_oncall          -> engaged
  engaged        form_hypothesis      -> investigating
  ...
  resolved       write_postmortem     -> closed

final state: "closed" (terminal: true)
postmortem assembled by being forced through the runbook: { ...severity, rootCause, ... }
ledger: intact (10 entries, including the refused gate check)

The runbook

machine/incident-runbook.ts is plain XState. Edit it, or point the agent at your own runbook. Xanthe validates it at mount and rejects machines that auto-advance, so it stays a step-gated procedure the agent drives one decision at a time.

License

Apache-2.0.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Automates DevOps workflows like vulnerability resolution, code review, test generation, and DORA metrics through Claude Code slash commands, using a state machine for reliable execution.
    15
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-driven incident response by connecting Claude to monitoring tools like Prometheus, Grafana, Loki, PagerDuty, and Slack for automated investigation and runbook generation.
    9
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables autonomous SRE incident investigation by allowing users to describe incidents in natural language. The agent follows a governed state machine to gather read-only evidence and produce grounded conclusions.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables evidence-gated, multi-session AI coding runs with plan-build-ship state management, coordinating Claude Code and Codex native agents.
    167
    MIT

Latest Blog Posts

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/msradam/xanthe-incident-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server