Sunaiva Gate — Agent Rule Enforcement

MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.

使うべきか

品質と安全性

A
説明の品質
97%
スキーマの完全性
80%
命名の品質
96%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'ship_confidence_check' description lacks action verbship_confidence_check 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,411トークン数(ツール定義)
~659 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.10%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "gate": {
      "command": "npx",
      "args": [
        "@sunaiva/gate"
      ]
    }
  }
}

実行可能なパッケージ

npm@sunaiva/gate2.0.4stdio

リモートエンドポイント

https://mcp.sunaivacore.iostreamable-http

できること

ツール一覧

ツール(16)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢validate_action(action, context)

Check if a proposed action passes all active validation rules. Returns allowed/blocked with rule violations.

入力スキーマ

{
  "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"
  ]
}
⚪log_bypass(rule_id, reason)

Record an intentional rule bypass with justification. Cannot bypass constitutional rules.

入力スキーマ

{
  "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"
  ]
}
🟡get_rules(category, preset)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Filter by category"
    },
    "preset": {
      "type": "string",
      "description": "Filter by preset name"
    }
  }
}
🟡update_rules(enable, disable)

[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.

入力スキーマ

{
  "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"
    }
  }
}
🟢get_audit_log(limit, rule_id)

View recent gate decisions — blocks, warnings, passes, and bypasses.

入力スキーマ

{
  "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."
    }
  }
}
🟢ship_confidence_check(artifact_id, command_preview, label)

[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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "artifact_id": {
      "type": "string",
      "description": "The artifact being shipped (e.g. '@sunaiva/[email protected]')"
    },
    "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"
  ]
}
⚪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.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🟡set_rule_mode(rule_id, mode, agent_id)

Set enforcement mode (shadow/advisory/enforce) for a specific rule. Requires API key (Pro+).

入力スキーマ

{
  "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"
  ]
}
🟢get_rule_modes

List all enforcement-mode overrides configured for the authenticated customer. Requires an account (Dev+).

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🔴reset_rule_mode(rule_id)

Remove a mode override for a rule, reverting it to its default enforcement mode. Requires API key (Pro+).

入力スキーマ

{
  "type": "object",
  "properties": {
    "rule_id": {
      "type": "string",
      "description": "Rule ID whose override to remove"
    }
  },
  "required": [
    "rule_id"
  ]
}
🟡add_custom_rule(name, description, detection_pattern, severity, tier)

Create a custom detection rule in the backend. Requires API key (Pro+).

入力スキーマ

{
  "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"
  ]
}
🟡update_custom_rule(id, name, description, detection_pattern, severity, ...)

Update an existing custom rule. Requires API key (Pro+).

入力スキーマ

{
  "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"
  ]
}
🔴delete_custom_rule(id)

Delete a custom rule. Requires API key (Pro+).

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Rule ID to delete"
    }
  },
  "required": [
    "id"
  ]
}
🟢list_custom_rules

List all custom rules for the authenticated customer. Requires API key (Pro+).

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🟢list_presets

List available rule preset bundles. Requires API key (Dev+).

入力スキーマ

{
  "type": "object",
  "properties": {}
}
⚪apply_preset(preset_id)

Apply a preset bundle, activating all its included rules. Requires API key (Pro+).

入力スキーマ

{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "string",
      "description": "ID of the preset to apply"
    }
  },
  "required": [
    "preset_id"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 16 件
検証済みバージョンは記録されていませんツール 16 件
検証済みバージョンは記録されていませんツール 16 件