{"name":"io.sunaivacore/gate","slug":"sunaivacore-gate","title":"Sunaiva Gate — Agent Rule Enforcement","description":"MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.","url":"https://mcp.market/server/sunaivacore-gate","rating":null,"grade":"C","score":69,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":16,"stars":null,"forks":null,"downloads_week":35,"last_push_at":null,"license":"BUSL-1.1"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T10:30:44.064Z","last_ok_at":"2026-11-04T10:30:44.064Z","latency_ms":69},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://sunaivacore.io/products/gate","version":"2.0.4","remotes":[{"type":"streamable-http","url":"https://mcp.sunaivacore.io"}],"packages":[{"registryType":"npm","identifier":"@sunaiva/gate","version":"2.0.4","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Pro-tier API key for premium rules. Free tier (35 local rules: 27 constitutional + 8 recommended-default) needs no key.","format":"string","isSecret":true,"name":"SUNAIVA_GATE_API_KEY"},{"description":"Set to '1' to evaluate without blocking — writes 'would_have_blocked' to audit log.","format":"string","name":"SUNAIVA_GATE_DRY_RUN"},{"description":"Emergency kill-switch: set to '1' to allow all actions unconditionally.","format":"string","name":"DISABLE_SUNAIVA_GATE"}]}],"tools":[{"name":"add_custom_rule","description":"Create a custom detection rule in the backend. Requires API key (Pro+).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Rule name"},"description":{"type":"string","description":"Rule description (required — the backend 400s on a missing/empty description)"},"detection_pattern":{"type":"string","description":"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":{"type":"string","enum":["block","warn"],"description":"Severity on match"},"tier":{"type":"string","description":"Optional tier restriction"}},"required":["name","description","detection_pattern","severity"]}},{"name":"apply_preset","description":"Apply a preset bundle, activating all its included rules. Requires API key (Pro+).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"preset_id":{"type":"string","description":"ID of the preset to apply"}},"required":["preset_id"]}},{"name":"audit_verify","description":"[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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"delete_custom_rule","description":"Delete a custom rule. Requires API key (Pro+).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"Rule ID to delete"}},"required":["id"]}},{"name":"get_audit_log","description":"View recent gate decisions — blocks, warnings, passes, and bypasses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"number","description":"Max entries to return (default 50)"},"rule_id":{"type":"string","description":"Accepted for forward-compatibility but NOT applied server-side — the backend only honors limit/cursor. Filter the returned entries client-side."}}}},{"name":"get_rule_modes","description":"List all enforcement-mode overrides configured for the authenticated customer. Requires an account (Dev+).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_rules","description":"List 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string","description":"Filter by category"},"preset":{"type":"string","description":"Filter by preset name"}}}},{"name":"list_custom_rules","description":"List all custom rules for the authenticated customer. Requires API key (Pro+).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_presets","description":"List available rule preset bundles. Requires API key (Dev+).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"log_bypass","description":"Record an intentional rule bypass with justification. Cannot bypass constitutional rules.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"rule_id":{"type":"string","description":"ID of the rule to bypass"},"reason":{"type":"string","description":"Justification for the bypass"}},"required":["rule_id","reason"]}},{"name":"reset_rule_mode","description":"Remove a mode override for a rule, reverting it to its default enforcement mode. Requires API key (Pro+).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"rule_id":{"type":"string","description":"Rule ID whose override to remove"}},"required":["rule_id"]}},{"name":"set_rule_mode","description":"Set enforcement mode (shadow/advisory/enforce) for a specific rule. Requires API key (Pro+).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"rule_id":{"type":"string","description":"Rule ID to configure"},"mode":{"type":"string","enum":["shadow","advisory","enforce"],"description":"Enforcement mode"},"agent_id":{"type":"string","description":"Optional: scope override to a specific agent ID"}},"required":["rule_id","mode"]}},{"name":"ship_confidence_check","description":"[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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"artifact_id":{"type":"string","description":"The artifact being shipped (e.g. '@sunaiva/gate@1.1.0')"},"command_preview":{"type":"string","description":"First 300 chars of the command that triggered the check (optional)"},"label":{"type":"string","description":"Human-readable label of the publish action (optional)"}},"required":["artifact_id"]}},{"name":"update_custom_rule","description":"Update an existing custom rule. Requires API key (Pro+).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"Rule ID to update"},"name":{"type":"string"},"description":{"type":"string"},"detection_pattern":{"type":"string","description":"There is no 'pattern' field — 'detection_pattern' is the only field name the evaluator reads; the backend explicitly rejects 'pattern'."},"severity":{"type":"string","enum":["block","warn"]},"tier":{"type":"string"}},"required":["id"]}},{"name":"update_rules","description":"[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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"enable":{"type":"array","items":{"type":"string"},"description":"Rule IDs to enable"},"disable":{"type":"array","items":{"type":"string"},"description":"Rule IDs to disable"}}}},{"name":"validate_action","description":"Check if a proposed action passes all active validation rules. Returns allowed/blocked with rule violations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string","description":"The action to validate"},"context":{"type":"string","description":"Optional additional context, appended to `action` before rule matching — it can change which rules match and therefore the verdict."}},"required":["action"]}}],"scan":{"score":69,"grade":"C","scanned_at":"2026-09-28T06:06:22.727Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T06:06:22.664Z","components":{"code":{"score":20,"max":25,"notes":["156 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 294ms"]},"poisoning":{"score":15,"max":15,"notes":["16 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 5 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/index.js: … checks.push({ label: `Live eval (${tc.label})`, ok, detail }); …"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://mcp.sunaivacore.io","reachable":true,"authRequired":false,"latencyMs":294,"serverInfo":{"name":"sunaiva-gate","version":"2.5.3+2026-07-25"}}],"packages":[{"registryType":"npm","identifier":"@sunaiva/gate","version":"2.0.4","found":true,"license":"BUSL-1.1","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-07-19T02:17:23.971Z","weeklyDownloads":35}],"repo":{"found":false},"icon":{"url":"https://sunaivacore.io/assets/favicon.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":35,"license":"BUSL-1.1","lastPushAt":null,"score":16}}}},"grade_history":[],"reviews":[]}