Sunaiva Gate — Agent Rule Enforcement
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
| Author | io.sunaivacore |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 107 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Sunaiva Gate — Agent Rule Enforcement": {
"url": "https://mcp.sunaivacore.io",
"transport": "streamable-http"
}
}
}
Measured tools (16)
validate_actionCheck if a proposed action passes all active validation rules. Returns allowed/blocked with rule violations.
Parameters:
action(required) — string — The action to validatecontext— string — Optional additional context, appended to `action` before rule matching — it can change which rules match and therefore the verdict.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
log_bypassRecord an intentional rule bypass with justification. Cannot bypass constitutional rules.
Parameters:
rule_id(required) — string — ID of the rule to bypassreason(required) — string — Justification for the bypass
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_rulesList active validation rules — the customer's TRUE enforced set (constitutional + recommended-default metadata on dev tier, all 69 premium rules on pro+). `category`/`preset` filter args are accepted but not applied server-side.
Parameters:
preset— string — Filter by preset namecategory— string — Filter by category
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
update_rules[Planned — not yet implemented on the remote endpoint, returns NOT_IMPLEMENTED] Enable/disable is not backed by any route in this API; use set_rule_mode (shadow/advisory/enforce) instead, or the local `npx @sunaiva/gate` package.
Parameters:
enable— array — Rule IDs to enabledisable— array — Rule IDs to disable
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_audit_logView recent gate decisions — blocks, warnings, passes, and bypasses.
Parameters:
limit— number — Max entries to return (default 50)rule_id— string — Accepted for forward-compatibility but NOT applied server-side — the backend only honors limit/cursor. Filter the returned entries client-side.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ship_confidence_check[Planned — not yet implemented on the remote endpoint, returns NOT_IMPLEMENTED] Ship Confidence Gate (Rule 42) dual-tier authorization is not yet built in this backend.
Parameters:
artifact_id(required) — string — The artifact being shipped (e.g. '@sunaiva/[email protected]')label— string — Human-readable label of the publish action (optional)command_preview— string — First 300 chars of the command that triggered the check (optional)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
audit_verify[Planned — not yet implemented on the remote endpoint, returns NOT_IMPLEMENTED] Forward-linked hash-chain / ed25519 audit-log verification is not yet built in this backend.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
set_rule_modeSet enforcement mode (shadow/advisory/enforce) for a specific rule. Requires API key (Pro+).
Parameters:
rule_id(required) — string — Rule ID to configuremode(required) — string — Enforcement modeagent_id— string — Optional: scope override to a specific agent ID
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_rule_modesList all enforcement-mode overrides configured for the authenticated customer. Requires an account (Dev+).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
reset_rule_modeRemove a mode override for a rule, reverting it to its default enforcement mode. Requires API key (Pro+).
Parameters:
rule_id(required) — string — Rule ID whose override to remove
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
add_custom_ruleCreate a custom detection rule in the backend. Requires API key (Pro+).
Parameters:
name(required) — string — Rule namedescription(required) — string — Rule description (required — the backend 400s on a missing/empty description)detection_pattern(required) — string — Compiled regex detection pattern (required — the backend 400s on a missing/empty detection_pattern). There is no 'pattern' field: 'detection_pattern' is the only field name the evaluator reads; the backend explicitly rejects 'pattern'.severity(required) — string — Severity on matchtier— string — Optional tier restriction
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
update_custom_ruleUpdate an existing custom rule. Requires API key (Pro+).
Parameters:
id(required) — string — Rule ID to updatename— stringtier— stringseverity— stringdescription— stringdetection_pattern— string — There is no 'pattern' field — 'detection_pattern' is the only field name the evaluator reads; the backend explicitly rejects 'pattern'.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
delete_custom_ruleDelete a custom rule. Requires API key (Pro+).
Parameters:
id(required) — string — Rule ID to delete
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_custom_rulesList all custom rules for the authenticated customer. Requires API key (Pro+).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_presetsList available rule preset bundles. Requires API key (Dev+).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
apply_presetApply a preset bundle, activating all its included rules. Requires API key (Pro+).
Parameters:
preset_id(required) — string — ID of the preset to apply
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.