# toggleMultiRuleMode

启用或禁用多规则模式

Agent View of the PolicyLayer registry record for `toggleMultiRuleMode`. HTML page: https://policylayer.com/tools/7gugu-whistle-mcp/togglemultirulemode

## Facts

- Tool: `toggleMultiRuleMode`
- Server: Whistle (`7gugu/whistle-mcp`) — https://policylayer.com/tools/7gugu-whistle-mcp.md
- Homepage: https://github.com/7gugu/whistle-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "toggleMultiRuleMode",
    "arguments": {}
  }
}
```

## Why toggleMultiRuleMode is rated Medium

This tool modifies proxy server configuration state (enabling/disabling a mode) but does not delete data or execute arbitrary code. The change is reversible—the mode can be toggled back. It is classified as Write because it creates or modifies configuration settings.

From the tool's own definition: "toggleMultiRuleMode enables or disables multi-rule mode in a proxy server, which modifies the configuration state of the Whistle proxy. The description '启用或禁用多规则模式' (enable or disable multi-rule mode) indicates this changes proxy behavior settings."

## Use case

AI agents use toggleMultiRuleMode to create or update resources in Whistle, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Whistle environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Whistle:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "toggleMultiRuleMode": {
      "limits": [
        {
          "counter": "togglemultirulemode_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Whistle (33)

- `deleteGroup` — Destructive — https://policylayer.com/tools/7gugu-whistle-mcp/deletegroup.md
- `deleteRule` — Destructive — https://policylayer.com/tools/7gugu-whistle-mcp/deleterule.md
- `deleteValue` — Destructive — https://policylayer.com/tools/7gugu-whistle-mcp/deletevalue.md
- `deleteValueGroup` — Destructive — https://policylayer.com/tools/7gugu-whistle-mcp/deletevaluegroup.md
- `replayRequest` — Execute — https://policylayer.com/tools/7gugu-whistle-mcp/replayrequest.md
- `toggleHttpInterception` — Execute — https://policylayer.com/tools/7gugu-whistle-mcp/togglehttpinterception.md
- `toggleHttpsInterception` — Execute — https://policylayer.com/tools/7gugu-whistle-mcp/togglehttpsinterception.md
- `toggleProxy` — Execute — https://policylayer.com/tools/7gugu-whistle-mcp/toggleproxy.md
- `getAllValues` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getallvalues.md
- `getCurrentTimestamp` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getcurrenttimestamp.md
- `getInterceptInfo` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getinterceptinfo.md
- `getRules` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getrules.md
- `getValue` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getvalue.md
- `getValueList` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getvaluelist.md
- `getWhistleStatus` — Read — https://policylayer.com/tools/7gugu-whistle-mcp/getwhistlestatus.md
- `addRuleToGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/addruletogroup.md
- `addValueToGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/addvaluetogroup.md
- `createGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/creategroup.md
- `createRule` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/createrule.md
- `createValue` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/createvalue.md
- `createValuesGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/createvaluesgroup.md
- `disableRule` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/disablerule.md
- `enableRule` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/enablerule.md
- `removeRuleFromGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/removerulefromgroup.md
- `removeValueFromGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/removevaluefromgroup.md
- `renameGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/renamegroup.md
- `renameRule` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/renamerule.md
- `renameValue` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/renamevalue.md
- `renameValueGroup` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/renamevaluegroup.md
- `setAllRulesState` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/setallrulesstate.md
- …and 3 more: https://policylayer.com/tools/7gugu-whistle-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=7gugu-whistle-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/7gugu-whistle-mcp
