Cairn
Provides a Slack-based approval gate for remediation actions, enabling human sign-off with an approval state machine, idempotency keys, and an append-only audit log.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cairnwhy did checkout latency spike at 3am?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cairn
An agentic incident-analysis copilot. Ask "why did checkout latency spike at 3am?" in plain English; Cairn queries the observability stack, correlates against the deploy timeline, retrieves the relevant runbook, and proposes a root cause with evidence — and can execute a remediation, behind a human approval gate.
This repository implements docs/architecture.md.
The dashboard
The companion npm package (npx @nouman-amjad/cairn dashboard) serves a live
local dashboard over any project — no build step, no dependencies, no network.





Related MCP server: semley
The four commitments, and where they live in the code
Commitment | Where it is enforced |
Tools are the product. Every capability is an MCP tool; the agent has no privileged path to any backend. | |
Inference is a routed resource. A cost-and-sensitivity router splits work between a local 8B and a frontier model. | |
Write actions are never autonomous. A durable approval state machine with idempotency keys and an append-only audit log. | |
The eval harness is a first-class service. 30 scenarios with ground-truth causes and 7 gated metrics. |
Layout
packages/
cairn-core/ domain model, config, auth, DB, sensitivity, artifacts
cairn-mcp-kit/ MCP scaffolding: identity, OPA guard, result capping, versioning
services/
cairn-gateway/ OIDC, rate limits, cost budgets, circuit breaker, SSE fan-out
cairn-orchestrator/ the agent loop as a state machine persisted to Postgres
cairn-router/ model routing, cost accounting, vLLM + Anthropic clients
cairn-approval/ approval state machine and the Slack gate
cairn-mcp-observability/ metrics, logs, traces, deploys, artifacts
cairn-mcp-runbooks/ hybrid search, ingest, past-incident recall
cairn-mcp-actions/ approval-gated write tools
cairn-eval/ 30 scenarios, 7 metrics, the CI gate, a seeded stack
cairn-cli/ `cairn ask "why did checkout spike?"`
ui/ Next.js: chat, trajectory viewer, approvals
cairn-deploy/ Helm chart, ArgoCD app-of-apps, OPA bundle, prompts
cairn-infra/ Terraform: VPC, EKS, RDS, Karpenter, IRSA, S3
docker/ one Dockerfile for all Python services, plus vLLM
docs/adr/ 14 architecture decision recordscairn-deploy and cairn-infra are vendored here for review. In production
they are separate repositories with separate lifecycles — see
ADR-013.
Getting started
make install # uv sync + npm ci
make up # Postgres (pgvector), Redis, MinIO, OPA
make migrate
make test # 246 tests
make selfcheck # 21 module self-checks
make eval # 30 scenarios through the real agent loopNo GPU and no API key are needed for any of the above. make eval runs in
heuristic mode, which exercises the whole pipeline — loop, tool capping,
persistence, the seven metrics, the gate — with a scripted stand-in instead of
a model. See the caveats.
To run against real models, set CAIRN_ROUTER_ANTHROPIC_API_KEY and point
CAIRN_ROUTER_VLLM_URL at a vLLM server.
Debugging with an MCP client
Every MCP server speaks stdio as well as Streamable HTTP:
make mcp-stdio
# or, the way an outside user would:
uvx cairn-mcp-observability --stdioPoint Cursor, Zed or any other MCP client at it and you see exactly what the agent sees. That costs about twenty lines (ADR-002) and pays for itself the first time a tool result looks nothing like you expected.
What is and is not verified
Being specific, because "it works" is not a claim worth making vaguely.
Verified by running it here:
246 tests pass against a real PostgreSQL 16 + pgvector, including the approval-gate safety properties (no self-approval, no double execution, no execution without approval, an append-only audit log enforced by a database trigger) and the router property that restricted data never reaches a cloud model — checked exhaustively across every task class and tier state.
21 module self-checks pass.
The Alembic migration applies cleanly to a real database.
12/12 OPA policy tests pass.
The 30-scenario eval runs end to end through the real agent loop; all seven metrics are above target and the gate correctly blocks both a simulated regression and a below-target run.
The UI typechecks and builds. The CLI's five commands resolve.
Not verified here, and why:
Eval accuracy numbers. The committed baseline is heuristic mode, which scores the harness rather than the agent. Real numbers need
make eval-recordagainst a live router. The LLM cause judge is built but not calibrated — nobody has labelled 100 runs, so κ is unknown.Terraform. No
terraformbinary in this environment;fmt,validateandtflintrun in CI. Nothing has been applied to an AWS account.Helm rendering.
helm lint,templateandkubeconformrun in CI for all three environments. They were not run locally.Every cost figure in
docs/cost.md. The accounting that would measure them is built and tested; the traffic to populate it does not exist.The vLLM performance table. Arithmetic from memory bandwidth, not measurement.
docs/inference.mdgives the benchmark command and a falsification threshold.Chaos testing. Phase 7 of the roadmap has not been run.
docs/roadmap.md tracks this phase by phase.
Documentation
docs/architecture.md— the design this implementsdocs/adr/— 14 decision records, each with its consequencedocs/security.md— threat model and where each control livesdocs/inference.md— GPU sizing, KV-cache arithmetic, vLLM flagsdocs/cost.md— the cost model, including whether the GPU pays for itselfdocs/operations.md— runbook: what pages, what to dodocs/roadmap.md— phases, risks, and what is actually doneservices/cairn-eval/README.md— how to read a gate failure
This server cannot be deployed
Maintenance
Related MCP Connectors
The Decision Operations Platform for engineering teams
The AI orchestration agent for modern software teams.
- emisarOAuthdev.emisar
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
- SuperlogOAuthsh.superlog
Open-source agent that observes and fixes your application. Query logs, traces, metrics, incidents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to investigate backend incidents by executing runbooks that gather evidence from observability and storage systems.109MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- FlicenseNot gradedqualityBmaintenanceProvides telemetry tools for retrieving recent logs and system metrics to support root-cause analysis of infrastructure incidents. Enables autonomous incident triage with grounded verification and human-in-the-loop remediation.1-
- AlicenseAqualityBmaintenanceEnables AI agents to safely inspect and execute version-controlled operational runbooks with policy checks, dry-run planning, and out-of-band approvals.3MIT