# createRule

创建新规则

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

## Facts

- Tool: `createRule`
- 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": "createRule",
    "arguments": {}
  }
}
```

## Why createRule is rated Medium

This tool creates new proxy rules, which is a write operation that modifies the proxy's behavior and network traffic interception. While reversible (rules can be deleted via deleteRule), it has high severity because misconfigured rules could intercept, redirect, or manipulate network traffic in harmful ways.

From the tool's own definition: "Tool named 'createRule' with description '创建新规则' (create new rule). The server description indicates this tool is part of a Whistle proxy management system that 'enables AI assistants to directly operate and control local Whistle proxy servers' and 'manage…"

## Use case

AI agents use createRule 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": {
    "createRule": {
      "limits": [
        {
          "counter": "createrule_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
- `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
- `toggleHttp2` — Write — https://policylayer.com/tools/7gugu-whistle-mcp/togglehttp2.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
