MCP and deterministic skills
Nines exposes a stdio MCP adapter, an opt-in remote OAuth HTTP transport, and a deterministic CLI.
- Both use the same tenant-scoped HTTP contracts as the portal.
- The CLI can also validate definitions and generate rules offline without a server, identity provider or model.
Connect a read-only MCP client
Configure your MCP-capable client to launch the released nines-mcp executable. Supply credentials through its private process environment or your client's secret manager.
{
"mcpServers": {
"nines": {
"command": "nines-mcp",
"args": ["-server", "https://nines.example.com", "-tenant", "production"]
}
}
}
- The adapter reads
NINES_API_KEY, withAPI_TOKENas a compatibility fallback, matching CLI precedence.- Its server and tenant are fixed at startup; a prompt cannot supply an arbitrary provider endpoint or Mimir organization.
- Use the server's agent role or a narrower service account for automated clients.
Mutation boundaries
- Read-only tools are the default.
-allow-writesenables the documented mutation surface; it does not grant the workflow model approval authority.- Rule deployment additionally requires
-allow-rule-deploymentand the API owner role. - Operator withdrawal is a further explicit opt-in through
-allow-rule-withdrawal.
- Rule deployment additionally requires
- A client flag cannot bypass server-side roles, tenant boundaries, expected revisions or reviewed digests.
get_slo_integrationreads automatic-deployment evidence; it does not expose a new pause/resume mutation tool. - Remote HTTP/OAuth is available as an opt-in experimental resource-server profile. See configuration, scopes, client conformance and limits. This page describes the default stdio adapter.
Use the CLI as a skill
For a deterministic authoring workflow:
nines validate --offline -f examples/request-success.slo.yaml
nines rules generate --offline -f examples/request-success.slo.yaml --tenant production
nines telemetry verify -f examples/request-success.slo.yaml --context production --agent
nines plan -f examples/request-success.slo.yaml --context production --agent
- The first two commands require no server.
- Connected verification and planning use the selected tenant context.
--agentselects structured output; it does not create an identity or elevate permissions. - Provide
NINES_API_KEYthrough the automation environment and retain the explicit review boundary before apply.
- Connected verification and planning use the selected tenant context.
- See CLI reference, intents, identity setup and current experimental boundaries.
Measurement quality and budget decisions
- Use
slo_qualityto inspect saved freshness, count, coverage and source-lineage checks.- Set
cohorts: trueonly for an explicit bounded provider read.slo_budget_decisionreads the current configured response and its evidence; it changes no policy or deployment. - Both tools are tenant-bound and accept
expectedRevision.slo_contextincludes the same quality and budget decision. - Neither an observed percentage nor a frozen proposal-time decision is current release permission.
- Set
- The read-only
verify_intent_changestool also returns the last saved post-change observation, including rule activation/output, quality, measured SLI and review/rollback guidance. It makes no provider call. Approval, corrective-work exceptions and rollback remain human-controlled. See agent change safety.
Resume an intent workflow
- Call read-only
get_intent_workflow_statuswith the saved conversationidfor the next operation, exact version/digests, human-review gate and recorded runtime outcome. - Use
get_intent_review_artifactto retrieve an audit-verified review snapshot, orget_intent_conversationfor the full saved conversation. Artifacts can contain sensitive definitions and reviewer notes. A suggested action is not authorization, and MCP does not grant approval or application capabilities. - See headless workflows for CLI/API human review and the complete browser-free lifecycle.
Native SLO reads
native_slo_results: exact current native revision, explicitid,fromandto; independent vendor results, not Nines measurement or alert-delivery proof.list_native_slos: pass the configured connection name asid; bounded Datadog/New Relic catalog, without account/route overrides.draft_native_slo_import:source,nativeID, new Ninesname,projectandservice; returns experimental YAML and limitations. Does not save, adopt or modify vendor resources. Review throughplan_slobefore separately authorized application.
All three tools are read-only and available without enabling write tools. See supported profiles and bounds.