# policy_budget_set

Create or update an atomic USD/token ceiling for a principal, action, and resource window. Use when constraining agent spend; budget checks and decision receipts commit under the same policy-state lock.

Agent View of the PolicyLayer registry record for `policy_budget_set`. HTML page: https://policylayer.com/tools/io-github-ruvnet-claude-flow/policy-budget-set

## Facts

- Tool: `policy_budget_set`
- Server: Claude Flow (`claude-flow`) — https://policylayer.com/tools/io-github-ruvnet-claude-flow.md
- Install: `npx -y claude-flow`
- Homepage: https://github.com/ruvnet/claude-flow
- 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": "policy_budget_set",
    "arguments": {}
  }
}
```

## Why policy_budget_set is rated Medium

This tool modifies policy state by setting or updating budget constraints for agents. While it constrains spending rather than moving money directly, it creates enforceable financial limits and commits them transactionally. The blast radius is high because misconfiguration could disable spending controls (too high) or block legitimate operations (too low), affecting enterprise financial governance.

From the tool's own definition: "Tool description explicitly states 'Create or update an atomic USD/token ceiling' and 'budget checks and decision receipts commit under the same policy-state lock.' The words 'Create or update' indicate write operations; 'atomic' and 'lock' indicate…"

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Claude Flow (495)

- `agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-terminate.md
- `agentdb_batch` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-batch.md
- `agentdb_causal-edge-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-edge-delete.md
- `agentdb_causal-node-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-causal-node-delete.md
- `agentdb_hierarchical-delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agentdb-hierarchical-delete.md
- `agenticow_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agenticow-rollback.md
- `autopilot_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/autopilot-reset.md
- `config_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/config-reset.md
- `federation_wg_keyrotate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/federation-wg-keyrotate.md
- `hooks_codemod` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-codemod.md
- `hooks_intelligence-reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-intelligence-reset.md
- `hooks_worker-cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/hooks-worker-cancel.md
- `iot_device_remove` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-device-remove.md
- `iot_firmware_rollout_rollback` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-firmware-rollout-rollback.md
- `iot_fleet_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-delete.md
- `iot_fleet_remove_device` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/iot-fleet-remove-device.md
- `managed_agent_terminate` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/managed-agent-terminate.md
- `memory_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/memory-delete.md
- `policy_revoke` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/policy-revoke.md
- `ruvector_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/ruvector-delete.md
- `session_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/session-delete.md
- `system_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/system-reset.md
- `task_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/task-cancel.md
- `teammate_cleanup` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/teammate-cleanup.md
- `wasm_agent_reset` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-agent-reset.md
- `wasm_gallery_remove_custom` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/wasm-gallery-remove-custom.md
- `workflow_cancel` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-cancel.md
- `workflow_delete` — Destructive — https://policylayer.com/tools/io-github-ruvnet-claude-flow/workflow-delete.md
- `agent_pool` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-pool.md
- `agent_spawn` — Execute — https://policylayer.com/tools/io-github-ruvnet-claude-flow/agent-spawn.md
- …and 465 more: https://policylayer.com/tools/io-github-ruvnet-claude-flow.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=io-github-ruvnet-claude-flow · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-ruvnet-claude-flow
