Alpha MCPAPI reference · v1

The MCP your agents call.

Tritemporal memory that cannot lie about the past, a governed causal graph, knock-on simulation, and a decision ledger — the engine behind every Cascadian answer, at machine speed.

MCPPOSTGRESGOVERNED
Tools / Governance

request_approval()

Scoped

Creates a pending approval and returns instructions for the human — run cascadian approve <short-id> in their own terminal. The approval token is generated out of band and never appears in any tool response, so no model output can ever contain it (invariant I5).

request_approval(decision_id, reason)PENDING + INSTRUCTIONS

Callable over MCP as request_approval(decision_id, reason). REST mirror POST /v1/approvals Planned — alpha is MCP-only

Why your agent calls it

The hard boundary, as a tool call. The agent asks; the human approves in their own terminal, out of band. The response carries instructions — never the token — so there is no prompt, no injection, no model output that can mint an approval. Trust the architecture, not the model's restraint.

What it returns
AGENT · MCPrequest_approval()OUT OF BANDHUMAN · OWN TERMINALcascadian approveTHE APPROVAL TOKEN NEVER CROSSES THE MCP BOUNDARY
request_approval() · Ask the human. The token never crosses this boundary.ILLUSTRATIVE
Call it from an agent

Over MCP, your agent invokes it on its own when the moment calls for it — just describe the situation. A Python SDK for headless runtimes is planned; this is what the call will look like.

agent · python sdkSDK · PLANNED — ALPHA IS MCP-ONLY
from cascadian import Cascadian cx = Cascadian(api_key=os.environ["CASCADIAN_API_KEY"]) result = cx.request_approval( decision_id="dec_0142", reason="superseded by Q2 margin analysis", )
Parameters
ParamTypeDescription
decision_idREQUIREDstringThe decision awaiting sign-off.
reasonstringContext for the human reviewing it.
Example response
request_approval()JSON · ILLUSTRATIVE
{ "approval_id": "apr_0027", "status": "pending", "instructions": "Ask your human to run: cascadian approve apr_0027", "note": "The token is issued out of band — it never appears in a tool response." }
Related — Governance