Experience
Operator surfaces
Bring agents under management from wherever you already work. The same control plane is reachable through four surfaces — SDKs in your agent code, an API for any client, a CLI for the terminal and CI, and an MCP server for AI assistants.
At a glance
One control plane, four surfaces
Every surface speaks to the same Dome control plane. Pick the one that fits the workflow — they compose freely. SDKs and the CLI are the daily drivers; the API underpins everything; MCP exposes Dome itself to AI assistants for triage and review.
| Surface | Who uses it | What it's for |
|---|---|---|
| SDK | Agent engineers | In-process policy checks, audit emission, registry-context propagation. Go and Python. |
| API | Any client | REST and gRPC for the full control surface. Foundation for the CLI, SDKs, and integrations. |
| CLI | Platform teams, CI/CD | Canonical operator surface. Register agents, attach tools, apply policy, query audit. |
| MCP | AI assistants | Lets agents (Claude, Copilot, etc.) drive Dome itself for triage and review. |
SDK
In-process governance for agent code
The SDKs are how agent code participates in the platform. They wrap the agent's API key into a short-lived JWT, sync a local policy bundle for fast local decisions, and emit audit events from the call site.
import dome
client = dome.DomeClient(dome.DomeConfig(
base_url="https://api.dome.example.com",
token="dome_at_...", # agent API key
))
client.start() # background rule sync; fail-closed until first sync
client.check(
tool="zendesk/create_ticket",
on_allow=lambda decision: ...,
on_deny=lambda req, reason: ...,
)Capabilities
- Local Cedar evaluation for low-latency decisions at the call site
- Rule bundle sync from the control plane
- Fail-closed until the first successful sync
- Audit emission for every check, allowed or denied
- Identity propagation — agent token plus act-as principal
- Token refresh and rotation handled transparently
API
The foundation everything else is built on
REST and gRPC surfaces cover the full control plane. Every operation in the CLI, every action in the console, every SDK sync — all of it is the API underneath. Use it directly when you need bespoke automation or to embed Dome operations in your own platform tooling.
/v1/agentsRegister a new agent in the Dome control plane. The returned registry record is embedded in the agent's SDK configuration to bind every subsequent call back to a managed agent.
Body parameters
namestringrequired- Human-readable identifier for the agent. Unique within the workspace.
workspacestringrequired- Workspace slug the agent belongs to. Drives default policy attachment and audit scoping.
tierenumoptional- Resource and reasoning tier. Determines model pool eligibility and rate limits.
standardpremiumrestricted toolsstring[]optional- Optional tool slugs to attach at registration. Tools can also be granted later via the policy surface.
act_asstringoptional- Optional principal the agent acts on behalf of. Used for identity propagation and consent scoping.
POST /v1/agents
Authorization: Bearer $DOME_OPERATOR_TOKEN
Content-Type: application/json
{
"name": "support-triage",
"workspace": "support",
"tier": "standard",
"tools": ["zendesk", "stripe"]
}{
"id": "agt_3mw7kp",
"name": "support-triage",
"workspace": "support",
"tier": "standard",
"status": "active",
"tools": ["zendesk", "stripe"],
"created_at": "2026-06-03T14:22:09Z"
}CLI
The canonical operator surface
The CLI is the daily driver for platform teams. It works equally well from a developer terminal or a CI/CD pipeline. Every command resolves to an API call, so anything you can do interactively can be scripted or made declarative through a CI workflow or the Terraform provider.
dome agents register \
--name support-triage \
--tier standard \
--tool zendesk \
--pool premium-reasoning
dome agents suspend support-triage
dome agents activate support-triagedome rules apply tools/zendesk.cedar
dome rules simulate \
--rules tools/zendesk.cedar \
--replay last-24h
dome audit query --agent support-triage --since 1h
dome audit stream --agent support-triageMCP
Let AI assistants drive Dome
The Dome MCP server exposes the control plane to MCP-capable clients — Claude, Copilot, Cursor, and any other agent that speaks MCP. Useful for triage and review workflows: ask an assistant to summarize denials in the last hour, draft a policy change, or walk through an agent's recent audit trail.
forbid (
principal in Role::"support-triage",
action == Action::"zendesk/delete_ticket",
resource
) when {
context.session.act_as.role != "admin"
};