# control_create

Instance a Control-derived UI node (Button, Label, Panel, VBoxContainer, TextureRect, …) under a parent (undoable). Refuses non-Control classes. Optional

Agent View of the PolicyLayer registry record for `control_create`. HTML page: https://policylayer.com/tools/godot-breakpoint-mcp/control-create

## Facts

- Tool: `control_create`
- Server: Godot Breakpoint (`jlivingston-Cipher/godot-breakpoint-mcp`) — https://policylayer.com/tools/godot-breakpoint-mcp.md
- Homepage: https://github.com/jlivingston-Cipher/godot-breakpoint-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": "control_create",
    "arguments": {}
  }
}
```

## Why control_create is rated Medium

The tool creates new UI nodes in the Godot scene tree, which modifies the scene state reversibly (described as 'undoable'). This is a Write operation—it adds data structures to the scene but does not execute arbitrary code, delete data, or cause destructive side effects. The undo support confirms reversibility.

From the tool's own definition: "Instance a Control-derived UI node... under a parent (undoable)"

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Godot Breakpoint (238)

- `anim_delete` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/anim-delete.md
- `anim_remove_key` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/anim-remove-key.md
- `cs_rename` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/cs-rename.md
- `filesystem_move` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/filesystem-move.md
- `inputmap_erase_action` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/inputmap-erase-action.md
- `node_delete` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/node-delete.md
- `project_remove_autoload` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/project-remove-autoload.md
- `scene_close` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/scene-close.md
- `scene_reload` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/scene-reload.md
- `shader_set_code` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/shader-set-code.md
- `tilemap_clear` — Destructive — https://policylayer.com/tools/godot-breakpoint-mcp/tilemap-clear.md
- `cs_dbg_attach` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-attach.md
- `cs_dbg_continue` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-continue.md
- `cs_dbg_evaluate` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-evaluate.md
- `cs_dbg_launch` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-launch.md
- `cs_dbg_restart` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-restart.md
- `cs_dbg_set_exception_breakpoints` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-set-exception-breakpoints.md
- `cs_dbg_step` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/cs-dbg-step.md
- `dbg_attach` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-attach.md
- `dbg_continue` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-continue.md
- `dbg_evaluate` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-evaluate.md
- `dbg_goto` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-goto.md
- `dbg_launch` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-launch.md
- `dbg_restart` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-restart.md
- `dbg_set_exception_breakpoints` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-set-exception-breakpoints.md
- `dbg_set_variable` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-set-variable.md
- `dbg_step` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/dbg-step.md
- `filesystem_scan` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/filesystem-scan.md
- `godot_launch_editor` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/godot-launch-editor.md
- `godot_run_managed` — Execute — https://policylayer.com/tools/godot-breakpoint-mcp/godot-run-managed.md
- …and 208 more: https://policylayer.com/tools/godot-breakpoint-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=godot-breakpoint-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/godot-breakpoint-mcp
