If your system can call tools, it can use Keon.
Keon exposes a standard MCP tool surface. Your existing client connects directly. Keon handles policy evaluation, identity binding, and receipt issuance on every call.
{
"method": "tools/call",
"params": {
"name": "keon.governed.execute.v1",
"arguments": {
"purpose": "Summarize recent emails",
"mode": "decide_then_execute"
}
}
}From your agent's perspective, that's the entire integration surface.
Decide before execute. Receipt every outcome.
Any MCP-compatible client issues a standard tools/call request. No Keon-specific SDK, no custom protocol. If your system can call tools, it can call Keon.
The request enters the governance boundary. Keon resolves the actor, evaluates active policy, and issues a signed Decision — PERMITTED, DENIED, or DEFERRED. No action occurs before this step completes.
Authorized actions execute within the governed boundary. A cryptographic DecisionReceipt is returned alongside the result — proof of what was decided, under which policy, by which authority.
The integration stays small because the boundary is doing the work.
Keon does not require you to abandon your orchestration layer. If it speaks MCP, it already speaks Keon.
You do not build policy evaluation, receipt issuance, or audit trails. Keon handles all of it behind the tool boundary. Your integration code stays small.
Keon exposes a standard MCP tool surface. No proprietary protocol, no special transport. Connect the way you connect to any MCP server.
Every governed execution produces a signed DecisionReceipt. Use them for agent memory, audit logs, compliance reporting, or downstream system coordination.
Tenant binding, actor identity, and policy enforcement are handled by Keon. If policy cannot be evaluated, execution does not proceed.
Keon speaks MCP. Your stack probably already fits.
Traditional systems execute first. Keon decides first.
Receipts are issued before execution, not reconstructed after the fact.
Every receipt carries the PolicyHash of the version active at evaluation time.
Authorization is not assumed. It is declared, evaluated, and proven at every execution boundary.
A third party can verify them without access to Keon infrastructure.
MCP is primary. HTTP exists for compatibility.
POST /api/govern/evaluate
{ "intent": "...", "agentId": "...", "policyRef": "..." }GET /api/receipts/{receipt_id}
Returns: DecisionReceipt (signed, ledger-anchored)POST /api/evidence-packs/export
{ "receiptIds": [...], "format": "pack_v2" }