# main_screen_set

Switch the editor's main-screen tab (2D / 3D / Script / …), matching the name case-insensitively. Use this before screenshot_editor to make the viewport you want to capture the active one — opening a scene does NOT switch the tab. Returns the resulting state, read back from the editor rather than echoed. An unknown name comes back with the live list of available tabs.

Agent View of the PolicyLayer registry record for `main_screen_set`. HTML page: https://policylayer.com/tools/breakpoint-mcp/main-screen-set

## Facts

- Tool: `main_screen_set`
- Server: Breakpoint (`breakpoint-mcp`) — https://policylayer.com/tools/breakpoint-mcp.md
- Install: `npx -y breakpoint-mcp`
- Homepage: https://www.npmjs.com/package/breakpoint-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 1 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | Tab name as the editor reports it, case-insensitive — e.g. "2D", "3D", "Script" |

Parameters from the server's own tool schema.

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

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

## Why main_screen_set is rated Medium

An AI agent can call main_screen_set faster than any human can review: one bad instruction and it creates or modifies resources in Breakpoint by the hundred, each call as confident as the last.

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Breakpoint (279)

- `anim_delete` — Destructive — https://policylayer.com/tools/breakpoint-mcp/anim-delete.md
- `anim_remove_key` — Destructive — https://policylayer.com/tools/breakpoint-mcp/anim-remove-key.md
- `dbg_goto` — Destructive — https://policylayer.com/tools/breakpoint-mcp/dbg-goto.md
- `filesystem_move` — Destructive — https://policylayer.com/tools/breakpoint-mcp/filesystem-move.md
- `gd_workspace_symbols` — Destructive — https://policylayer.com/tools/breakpoint-mcp/gd-workspace-symbols.md
- `inputmap_erase_action` — Destructive — https://policylayer.com/tools/breakpoint-mcp/inputmap-erase-action.md
- `interact_make_draggable` — Destructive — https://policylayer.com/tools/breakpoint-mcp/interact-make-draggable.md
- `node_delete` — Destructive — https://policylayer.com/tools/breakpoint-mcp/node-delete.md
- `project_remove_autoload` — Destructive — https://policylayer.com/tools/breakpoint-mcp/project-remove-autoload.md
- `runtime_node_remove` — Destructive — https://policylayer.com/tools/breakpoint-mcp/runtime-node-remove.md
- `scene_close` — Destructive — https://policylayer.com/tools/breakpoint-mcp/scene-close.md
- `scene_reload` — Destructive — https://policylayer.com/tools/breakpoint-mcp/scene-reload.md
- `shader_set_code` — Destructive — https://policylayer.com/tools/breakpoint-mcp/shader-set-code.md
- `tilemap_clear` — Destructive — https://policylayer.com/tools/breakpoint-mcp/tilemap-clear.md
- `vcs_stash` — Destructive — https://policylayer.com/tools/breakpoint-mcp/vcs-stash.md
- `breakpoint_doctor` — Execute — https://policylayer.com/tools/breakpoint-mcp/breakpoint-doctor.md
- `cs_code_action` — Execute — https://policylayer.com/tools/breakpoint-mcp/cs-code-action.md
- `cs_dbg_launch` — Execute — https://policylayer.com/tools/breakpoint-mcp/cs-dbg-launch.md
- `cs_dbg_restart` — Execute — https://policylayer.com/tools/breakpoint-mcp/cs-dbg-restart.md
- `dbg_launch` — Execute — https://policylayer.com/tools/breakpoint-mcp/dbg-launch.md
- `dbg_restart` — Execute — https://policylayer.com/tools/breakpoint-mcp/dbg-restart.md
- `filesystem_scan` — Execute — https://policylayer.com/tools/breakpoint-mcp/filesystem-scan.md
- `gd_code_action` — Execute — https://policylayer.com/tools/breakpoint-mcp/gd-code-action.md
- `godot_launch_editor` — Execute — https://policylayer.com/tools/breakpoint-mcp/godot-launch-editor.md
- `godot_run_project` — Execute — https://policylayer.com/tools/breakpoint-mcp/godot-run-project.md
- `godot_stop` — Execute — https://policylayer.com/tools/breakpoint-mcp/godot-stop.md
- `runtime_anim_stop` — Execute — https://policylayer.com/tools/breakpoint-mcp/runtime-anim-stop.md
- `runtime_peer_stop` — Execute — https://policylayer.com/tools/breakpoint-mcp/runtime-peer-stop.md
- `runtime_peers_digest` — Execute — https://policylayer.com/tools/breakpoint-mcp/runtime-peers-digest.md
- `runtime_state_digest` — Execute — https://policylayer.com/tools/breakpoint-mcp/runtime-state-digest.md
- …and 249 more: https://policylayer.com/tools/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=breakpoint-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/breakpoint-mcp
