# Sbox MCP server

Agent View of the PolicyLayer registry record for Sbox: identity, probed posture, risk grade, and all 207 tools classified. HTML page: https://policylayer.com/tools/sbox

## Facts

- Server id: `sbox-mcp-server`
- Install: `npx -y sbox-mcp-server`
- Homepage: git+https://github.com/LouSputthole/Sbox-Claude.git
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 207
- Tool categories present: Destructive, Execute, Read, Write
- Tags: sbox, admin, automation
- Record last modified: 2026-07-07T03:46:27.842Z

## Tools (207)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `clear_cave_path` | Destructive | Critical | https://policylayer.com/tools/sbox/clear-cave-path.md |
| `clear_forest_pois` | Destructive | Critical | https://policylayer.com/tools/sbox/clear-forest-pois.md |
| `clear_terrain_features` | Destructive | Critical | https://policylayer.com/tools/sbox/clear-terrain-features.md |
| `debug_clear` | Destructive | Critical | https://policylayer.com/tools/sbox/debug-clear.md |
| `delete_gameobject` | Destructive | Critical | https://policylayer.com/tools/sbox/delete-gameobject.md |
| `delete_script` | Destructive | Critical | https://policylayer.com/tools/sbox/delete-script.md |
| `remove_component` | Destructive | Critical | https://policylayer.com/tools/sbox/remove-component.md |
| `snap_to_ground` | Destructive | Critical | https://policylayer.com/tools/sbox/snap-to-ground.md |
| `bake_navmesh` | Execute | High | https://policylayer.com/tools/sbox/bake-navmesh.md |
| `bake_reflections` | Execute | High | https://policylayer.com/tools/sbox/bake-reflections.md |
| `build_terrain_mesh` | Execute | High | https://policylayer.com/tools/sbox/build-terrain-mesh.md |
| `console_run` | Execute | High | https://policylayer.com/tools/sbox/console-run.md |
| `create_event_director` | Execute | High | https://policylayer.com/tools/sbox/create-event-director.md |
| `create_npc_spawner` | Execute | High | https://policylayer.com/tools/sbox/create-npc-spawner.md |
| `create_trigger_zone` | Execute | High | https://policylayer.com/tools/sbox/create-trigger-zone.md |
| `debug_draw_box` | Execute | High | https://policylayer.com/tools/sbox/debug-draw-box.md |
| `debug_draw_ray` | Execute | High | https://policylayer.com/tools/sbox/debug-draw-ray.md |
| `debug_draw_sphere` | Execute | High | https://policylayer.com/tools/sbox/debug-draw-sphere.md |
| `drive_player` | Execute | High | https://policylayer.com/tools/sbox/drive-player.md |
| `execute_csharp` | Execute | High | https://policylayer.com/tools/sbox/execute-csharp.md |
| `focus_object` | Execute | High | https://policylayer.com/tools/sbox/focus-object.md |
| `frame_camera` | Execute | High | https://policylayer.com/tools/sbox/frame-camera.md |
| `invoke_button` | Execute | High | https://policylayer.com/tools/sbox/invoke-button.md |
| `invoke_method` | Execute | High | https://policylayer.com/tools/sbox/invoke-method.md |
| `load_scene` | Execute | High | https://policylayer.com/tools/sbox/load-scene.md |
| `network_spawn` | Execute | High | https://policylayer.com/tools/sbox/network-spawn.md |
| `play_animation` | Execute | High | https://policylayer.com/tools/sbox/play-animation.md |
| `play_sound_preview` | Execute | High | https://policylayer.com/tools/sbox/play-sound-preview.md |
| `playtest` | Execute | High | https://policylayer.com/tools/sbox/playtest.md |
| `recompile_asset` | Execute | High | https://policylayer.com/tools/sbox/recompile-asset.md |
| `restart_editor` | Execute | High | https://policylayer.com/tools/sbox/restart-editor.md |
| `run_self_test` | Execute | High | https://policylayer.com/tools/sbox/run-self-test.md |
| `sculpt_terrain` | Execute | High | https://policylayer.com/tools/sbox/sculpt-terrain.md |
| `select_object` | Execute | High | https://policylayer.com/tools/sbox/select-object.md |
| `set_runtime_property` | Execute | High | https://policylayer.com/tools/sbox/set-runtime-property.md |
| `set_time_scale` | Execute | High | https://policylayer.com/tools/sbox/set-time-scale.md |
| `simulate_input` | Execute | High | https://policylayer.com/tools/sbox/simulate-input.md |
| `spawn_particle` | Execute | High | https://policylayer.com/tools/sbox/spawn-particle.md |
| `spawn_vpcf` | Execute | High | https://policylayer.com/tools/sbox/spawn-vpcf.md |
| `start_play` | Execute | High | https://policylayer.com/tools/sbox/start-play.md |
| `stop_play` | Execute | High | https://policylayer.com/tools/sbox/stop-play.md |
| `trigger_hotload` | Execute | High | https://policylayer.com/tools/sbox/trigger-hotload.md |
| `capture_view` | Read | Low | https://policylayer.com/tools/sbox/capture-view.md |
| `describe_type` | Read | Low | https://policylayer.com/tools/sbox/describe-type.md |
| `drive_player_status` | Read | Low | https://policylayer.com/tools/sbox/drive-player-status.md |
| `find_in_project` | Read | Low | https://policylayer.com/tools/sbox/find-in-project.md |
| `find_objects` | Read | Low | https://policylayer.com/tools/sbox/find-objects.md |
| `get_all_properties` | Read | Low | https://policylayer.com/tools/sbox/get-all-properties.md |
| `get_asset_info` | Read | Low | https://policylayer.com/tools/sbox/get-asset-info.md |
| `get_bounds` | Read | Low | https://policylayer.com/tools/sbox/get-bounds.md |
| `get_bridge_status` | Read | Low | https://policylayer.com/tools/sbox/get-bridge-status.md |
| `get_compile_errors` | Read | Low | https://policylayer.com/tools/sbox/get-compile-errors.md |
| `get_doc_page` | Read | Low | https://policylayer.com/tools/sbox/get-doc-page.md |
| `get_method_signature` | Read | Low | https://policylayer.com/tools/sbox/get-method-signature.md |
| `get_navmesh_path` | Read | Low | https://policylayer.com/tools/sbox/get-navmesh-path.md |
| `get_network_status` | Read | Low | https://policylayer.com/tools/sbox/get-network-status.md |
| `get_package_details` | Read | Low | https://policylayer.com/tools/sbox/get-package-details.md |
| `get_prefab_info` | Read | Low | https://policylayer.com/tools/sbox/get-prefab-info.md |
| `get_profiler_stats` | Read | Low | https://policylayer.com/tools/sbox/get-profiler-stats.md |
| `get_project_config` | Read | Low | https://policylayer.com/tools/sbox/get-project-config.md |
| `get_project_info` | Read | Low | https://policylayer.com/tools/sbox/get-project-info.md |
| `get_property` | Read | Low | https://policylayer.com/tools/sbox/get-property.md |
| `get_runtime_property` | Read | Low | https://policylayer.com/tools/sbox/get-runtime-property.md |
| `get_scene_hierarchy` | Read | Low | https://policylayer.com/tools/sbox/get-scene-hierarchy.md |
| `get_selected_objects` | Read | Low | https://policylayer.com/tools/sbox/get-selected-objects.md |
| `get_tags` | Read | Low | https://policylayer.com/tools/sbox/get-tags.md |
| `inspect_networked_object` | Read | Low | https://policylayer.com/tools/sbox/inspect-networked-object.md |
| `is_playing` | Read | Low | https://policylayer.com/tools/sbox/is-playing.md |
| `list_animations` | Read | Low | https://policylayer.com/tools/sbox/list-animations.md |
| `list_asset_library` | Read | Low | https://policylayer.com/tools/sbox/list-asset-library.md |
| `list_available_components` | Read | Low | https://policylayer.com/tools/sbox/list-available-components.md |
| `list_component_buttons` | Read | Low | https://policylayer.com/tools/sbox/list-component-buttons.md |
| `list_doc_categories` | Read | Low | https://policylayer.com/tools/sbox/list-doc-categories.md |
| `list_libraries` | Read | Low | https://policylayer.com/tools/sbox/list-libraries.md |
| `list_prefabs` | Read | Low | https://policylayer.com/tools/sbox/list-prefabs.md |
| `list_project_files` | Read | Low | https://policylayer.com/tools/sbox/list-project-files.md |
| `list_scenes` | Read | Low | https://policylayer.com/tools/sbox/list-scenes.md |
| `list_sounds` | Read | Low | https://policylayer.com/tools/sbox/list-sounds.md |
| `measure_distance` | Read | Low | https://policylayer.com/tools/sbox/measure-distance.md |
| `networking_lint` | Read | Low | https://policylayer.com/tools/sbox/networking-lint.md |
| `physics_overlap` | Read | Low | https://policylayer.com/tools/sbox/physics-overlap.md |
| `playtest_status` | Read | Low | https://policylayer.com/tools/sbox/playtest-status.md |
| `raycast_terrain` | Read | Low | https://policylayer.com/tools/sbox/raycast-terrain.md |
| `razor_lint` | Read | Low | https://policylayer.com/tools/sbox/razor-lint.md |
| `read_file` | Read | Low | https://policylayer.com/tools/sbox/read-file.md |
| `read_log` | Read | Low | https://policylayer.com/tools/sbox/read-log.md |
| `sandbox_lint` | Read | Low | https://policylayer.com/tools/sbox/sandbox-lint.md |
| `save_inspect` | Read | Low | https://policylayer.com/tools/sbox/save-inspect.md |
| `scene_validate` | Read | Low | https://policylayer.com/tools/sbox/scene-validate.md |
| `screenshot_from` | Read | Low | https://policylayer.com/tools/sbox/screenshot-from.md |
| `screenshot_orbit` | Read | Low | https://policylayer.com/tools/sbox/screenshot-orbit.md |
| `search_assets` | Read | Low | https://policylayer.com/tools/sbox/search-assets.md |
| `search_docs` | Read | Low | https://policylayer.com/tools/sbox/search-docs.md |
| `search_types` | Read | Low | https://policylayer.com/tools/sbox/search-types.md |
| `services_query` | Read | Low | https://policylayer.com/tools/sbox/services-query.md |
| `simulate_npc_perception` | Read | Low | https://policylayer.com/tools/sbox/simulate-npc-perception.md |
| `spawn_citizen` | Read | Low | https://policylayer.com/tools/sbox/spawn-citizen.md |
| `take_screenshot` | Read | Low | https://policylayer.com/tools/sbox/take-screenshot.md |
| `validate_project` | Read | Low | https://policylayer.com/tools/sbox/validate-project.md |
| `add_beam` | Write | Medium | https://policylayer.com/tools/sbox/add-beam.md |
| `add_cave_waypoint` | Write | Medium | https://policylayer.com/tools/sbox/add-cave-waypoint.md |
| `add_collider` | Write | Medium | https://policylayer.com/tools/sbox/add-collider.md |
| `add_component_to_new_object` | Write | Medium | https://policylayer.com/tools/sbox/add-component-to-new-object.md |
| `add_component_with_properties` | Write | Medium | https://policylayer.com/tools/sbox/add-component-with-properties.md |
| `add_envmap_probe` | Write | Medium | https://policylayer.com/tools/sbox/add-envmap-probe.md |
| `add_forest_poi` | Write | Medium | https://policylayer.com/tools/sbox/add-forest-poi.md |
| `add_forest_trail` | Write | Medium | https://policylayer.com/tools/sbox/add-forest-trail.md |
| `add_interaction_station` | Write | Medium | https://policylayer.com/tools/sbox/add-interaction-station.md |
| `add_joint` | Write | Medium | https://policylayer.com/tools/sbox/add-joint.md |
| `add_light` | Write | Medium | https://policylayer.com/tools/sbox/add-light.md |
| `add_lipsync` | Write | Medium | https://policylayer.com/tools/sbox/add-lipsync.md |
| `add_network_helper` | Write | Medium | https://policylayer.com/tools/sbox/add-network-helper.md |
| `add_physics` | Write | Medium | https://policylayer.com/tools/sbox/add-physics.md |
| `add_post_process` | Write | Medium | https://policylayer.com/tools/sbox/add-post-process.md |
| `add_ragdoll` | Write | Medium | https://policylayer.com/tools/sbox/add-ragdoll.md |
| `add_rpc_method` | Write | Medium | https://policylayer.com/tools/sbox/add-rpc-method.md |
| `add_screen_panel` | Write | Medium | https://policylayer.com/tools/sbox/add-screen-panel.md |
| `add_sync_property` | Write | Medium | https://policylayer.com/tools/sbox/add-sync-property.md |
| `add_terrain_clearing` | Write | Medium | https://policylayer.com/tools/sbox/add-terrain-clearing.md |
| `add_terrain_hill` | Write | Medium | https://policylayer.com/tools/sbox/add-terrain-hill.md |
| `add_terrain_trail` | Write | Medium | https://policylayer.com/tools/sbox/add-terrain-trail.md |
| `add_trail` | Write | Medium | https://policylayer.com/tools/sbox/add-trail.md |
| `add_world_panel` | Write | Medium | https://policylayer.com/tools/sbox/add-world-panel.md |
| `align_objects` | Write | Medium | https://policylayer.com/tools/sbox/align-objects.md |
| `apply_atmosphere` | Write | Medium | https://policylayer.com/tools/sbox/apply-atmosphere.md |
| `apply_post_fx_look` | Write | Medium | https://policylayer.com/tools/sbox/apply-post-fx-look.md |
| `assign_material` | Write | Medium | https://policylayer.com/tools/sbox/assign-material.md |
| `assign_model` | Write | Medium | https://policylayer.com/tools/sbox/assign-model.md |
| `assign_patrol_route` | Write | Medium | https://policylayer.com/tools/sbox/assign-patrol-route.md |
| `assign_sound` | Write | Medium | https://policylayer.com/tools/sbox/assign-sound.md |
| `configure_network` | Write | Medium | https://policylayer.com/tools/sbox/configure-network.md |
| `copy_asset_with_dependencies` | Write | Medium | https://policylayer.com/tools/sbox/copy-asset-with-dependencies.md |
| `create_day_night_clock` | Write | Medium | https://policylayer.com/tools/sbox/create-day-night-clock.md |
| `create_economy_wallet` | Write | Medium | https://policylayer.com/tools/sbox/create-economy-wallet.md |
| `create_game_manager` | Write | Medium | https://policylayer.com/tools/sbox/create-game-manager.md |
| `create_gameobject` | Write | Medium | https://policylayer.com/tools/sbox/create-gameobject.md |
| `create_health_system` | Write | Medium | https://policylayer.com/tools/sbox/create-health-system.md |
| `create_interactable` | Write | Medium | https://policylayer.com/tools/sbox/create-interactable.md |
| `create_inventory` | Write | Medium | https://policylayer.com/tools/sbox/create-inventory.md |
| `create_leaderboard_panel` | Write | Medium | https://policylayer.com/tools/sbox/create-leaderboard-panel.md |
| `create_lobby_manager` | Write | Medium | https://policylayer.com/tools/sbox/create-lobby-manager.md |
| `create_material` | Write | Medium | https://policylayer.com/tools/sbox/create-material.md |
| `create_network_events` | Write | Medium | https://policylayer.com/tools/sbox/create-network-events.md |
| `create_networked_player` | Write | Medium | https://policylayer.com/tools/sbox/create-networked-player.md |
| `create_npc_brain` | Write | Medium | https://policylayer.com/tools/sbox/create-npc-brain.md |
| `create_npc_controller` | Write | Medium | https://policylayer.com/tools/sbox/create-npc-controller.md |
| `create_objective_system` | Write | Medium | https://policylayer.com/tools/sbox/create-objective-system.md |
| `create_particle_effect` | Write | Medium | https://policylayer.com/tools/sbox/create-particle-effect.md |
| `create_pickup` | Write | Medium | https://policylayer.com/tools/sbox/create-pickup.md |
| `create_placement_mode` | Write | Medium | https://policylayer.com/tools/sbox/create-placement-mode.md |
| `create_player_controller` | Write | Medium | https://policylayer.com/tools/sbox/create-player-controller.md |
| `create_prefab` | Write | Medium | https://policylayer.com/tools/sbox/create-prefab.md |
| `create_razor_ui` | Write | Medium | https://policylayer.com/tools/sbox/create-razor-ui.md |
| `create_round_phase_machine` | Write | Medium | https://policylayer.com/tools/sbox/create-round-phase-machine.md |
| `create_round_state_machine` | Write | Medium | https://policylayer.com/tools/sbox/create-round-state-machine.md |
| `create_save_slots` | Write | Medium | https://policylayer.com/tools/sbox/create-save-slots.md |
| `create_save_system` | Write | Medium | https://policylayer.com/tools/sbox/create-save-system.md |
| `create_scene` | Write | Medium | https://policylayer.com/tools/sbox/create-scene.md |
| `create_script` | Write | Medium | https://policylayer.com/tools/sbox/create-script.md |
| `create_sound_event` | Write | Medium | https://policylayer.com/tools/sbox/create-sound-event.md |
| `create_stat_modifier_system` | Write | Medium | https://policylayer.com/tools/sbox/create-stat-modifier-system.md |
| `create_weighted_loot_table` | Write | Medium | https://policylayer.com/tools/sbox/create-weighted-loot-table.md |
| `debug_draw_line` | Write | Medium | https://policylayer.com/tools/sbox/debug-draw-line.md |
| `distribute_objects` | Write | Medium | https://policylayer.com/tools/sbox/distribute-objects.md |
| `dress_citizen` | Write | Medium | https://policylayer.com/tools/sbox/dress-citizen.md |
| `duplicate_gameobject` | Write | Medium | https://policylayer.com/tools/sbox/duplicate-gameobject.md |
| `edit_script` | Write | Medium | https://policylayer.com/tools/sbox/edit-script.md |
| `ensure_input_action` | Write | Medium | https://policylayer.com/tools/sbox/ensure-input-action.md |
| `equip_model` | Write | Medium | https://policylayer.com/tools/sbox/equip-model.md |
| `grid_duplicate` | Write | Medium | https://policylayer.com/tools/sbox/grid-duplicate.md |
| `group_objects` | Write | Medium | https://policylayer.com/tools/sbox/group-objects.md |
| `install_asset` | Write | Medium | https://policylayer.com/tools/sbox/install-asset.md |
| `instantiate_prefab` | Write | Medium | https://policylayer.com/tools/sbox/instantiate-prefab.md |
| `name` | Write | Medium | https://policylayer.com/tools/sbox/name.md |
| `paint_forest_density` | Write | Medium | https://policylayer.com/tools/sbox/paint-forest-density.md |
| `place_along_path` | Write | Medium | https://policylayer.com/tools/sbox/place-along-path.md |
| `place_patrol_route` | Write | Medium | https://policylayer.com/tools/sbox/place-patrol-route.md |
| `pose_citizen` | Write | Medium | https://policylayer.com/tools/sbox/pose-citizen.md |
| `randomize_transforms` | Write | Medium | https://policylayer.com/tools/sbox/randomize-transforms.md |
| `raycast` | Write | Medium | https://policylayer.com/tools/sbox/raycast.md |
| `redo` | Write | Medium | https://policylayer.com/tools/sbox/redo.md |
| `rename_gameobject` | Write | Medium | https://policylayer.com/tools/sbox/rename-gameobject.md |
| `replace_model` | Write | Medium | https://policylayer.com/tools/sbox/replace-model.md |
| `save_scene` | Write | Medium | https://policylayer.com/tools/sbox/save-scene.md |
| `scatter_props` | Write | Medium | https://policylayer.com/tools/sbox/scatter-props.md |
| `set_animgraph_param` | Write | Medium | https://policylayer.com/tools/sbox/set-animgraph-param.md |
| `set_bodygroup` | Write | Medium | https://policylayer.com/tools/sbox/set-bodygroup.md |
| `set_component_reference` | Write | Medium | https://policylayer.com/tools/sbox/set-component-reference.md |
| `set_enabled` | Write | Medium | https://policylayer.com/tools/sbox/set-enabled.md |
| `set_expression` | Write | Medium | https://policylayer.com/tools/sbox/set-expression.md |
| `set_fog` | Write | Medium | https://policylayer.com/tools/sbox/set-fog.md |
| `set_forest_seed` | Write | Medium | https://policylayer.com/tools/sbox/set-forest-seed.md |
| `set_look_at` | Write | Medium | https://policylayer.com/tools/sbox/set-look-at.md |
| `set_material_property` | Write | Medium | https://policylayer.com/tools/sbox/set-material-property.md |
| `set_ownership` | Write | Medium | https://policylayer.com/tools/sbox/set-ownership.md |
| `set_parent` | Write | Medium | https://policylayer.com/tools/sbox/set-parent.md |
| `set_prefab_ref` | Write | Medium | https://policylayer.com/tools/sbox/set-prefab-ref.md |
| `set_project_config` | Write | Medium | https://policylayer.com/tools/sbox/set-project-config.md |
| `set_project_thumbnail` | Write | Medium | https://policylayer.com/tools/sbox/set-project-thumbnail.md |
| `set_property` | Write | Medium | https://policylayer.com/tools/sbox/set-property.md |
| `set_skybox` | Write | Medium | https://policylayer.com/tools/sbox/set-skybox.md |
| `set_tags` | Write | Medium | https://policylayer.com/tools/sbox/set-tags.md |
| `set_tint` | Write | Medium | https://policylayer.com/tools/sbox/set-tint.md |
| `set_transform` | Write | Medium | https://policylayer.com/tools/sbox/set-transform.md |
| `spawn_model` | Write | Medium | https://policylayer.com/tools/sbox/spawn-model.md |
| `undo` | Write | Medium | https://policylayer.com/tools/sbox/undo.md |
| `write_file` | Write | Medium | https://policylayer.com/tools/sbox/write-file.md |

## Tool descriptions

- `clear_cave_path` — Clear all waypoints in CaveBuilder and remove the cave from the scene.
- `clear_forest_pois` — Wipe all POIs and trails in ForestGenerator and clear placed forest objects from the scene.
- `clear_terrain_features` — Wipe Hills, Clearings, Trails, or all features from MapBuilder.
- `debug_clear` — Remove all debug-draw primitives by destroying the debug holder for the current scene (edit or play). Call before redrawing a fresh frame of debug shapes.
- `delete_gameobject` — Delete a GameObject from the active scene by its GUID
- `delete_script` — Delete a C# script from the project
- `remove_component` — Remove a component from a GameObject by type name (e.g.
- `snap_to_ground` — Drop a GameObject straight down onto the surface below it (physics raycast). Works best on collider-less props (an object with its own collider may self-hit). Optional offset lifts it off the surface.
- `bake_navmesh` — Enable + bake the active scene
- `bake_reflections` — Bake all EnvmapProbe reflection probes in the scene (EnvmapProbe.BakeAll) so they actually capture their surroundings — placing a probe with add_envmap_probe does nothing visible until it
- `build_terrain_mesh` — Build a standalone heightmap terrain mesh from a hills/clearings JSON spec — independent of MapBuilder. Use when you don
- `console_run` — Run an s&box console command / ConCmd via Sandbox.ConsoleSystem.Run — e.g. a cvar (
- `create_event_director` — Generate a generalized L4D-style AI/pacing director component (host-authoritative). On a configurable interval the host rolls a weighted pick over a [Property] List<GameObject> EventPrefabs (with a parallel List<float> Weights), skips an…
- `create_npc_spawner` — Generate a spawner Component that instantiates an NPC prefab over time / in escalating waves at spawn points, capped by maxAlive. RUN
- `create_trigger_zone` — Generate a trigger zone script that detects when GameObjects enter/exit a collider volume. Supports teleport, damage, spawn, and log actions
- `debug_draw_box` — Draw a wireframe debug box centered at a point. Renders in editor and play. Ideal for visualizing a trigger_zone
- `debug_draw_ray` — Draw a debug ray (drawn as an arrow) from an origin along a direction for a given length. Renders in editor and play. Ideal for visualizing a raycast result or a facing/normal direction. Accumulates until debug_clear.
- `debug_draw_sphere` — Draw a wireframe debug sphere at a point. Renders in editor and play. Ideal for visualizing a physics_overlap radius or an NPC
- `drive_player` — EXPERIMENTAL — Drive the active PlayerController DURING PLAY MODE across multiple frames: synthesize sustained look (EyeAngles), analog movement (wish velocity), and/or hold a named action down long enough that Input.Pressed fires its ri…
- `execute_csharp` — EXPERIMENTAL. Compile + run a C# snippet inside the s&box EDITOR (which is unsandboxed): writes a temp [ConCmd] into the project
- `focus_object` — Move the editor camera to focus on a specific GameObject (like double-clicking in the hierarchy)
- `frame_camera` — Aim the s&box EDITOR viewport camera at a GameObject (by id) or a world point (position + optional radius), then call take_screenshot to capture that view. This is how Claude points its own screenshots at what it
- `invoke_button` — Call a public method on a component. Matching is tried in order: (1) a [Button] attribute label, (2) the exact method NAME, (3) case-insensitive name with spaces stripped. Calls ANY public method, not only [Button]-attributed ones (e.g.
- `invoke_method` — Call a public method BY NAME on a component of a live scene GameObject, passing ARGUMENTS. The with-args sibling of invoke_button (which only calls parameterless [Button]/methods on a scene component). Finds a public method matching name…
- `load_scene` — Open a scene in the s&box editor by its path
- `network_spawn` — Network-enable a GameObject so it is synchronized across all connected clients. Calls NetworkSpawn()
- `play_animation` — Play a named animation sequence on a GameObject
- `play_sound_preview` — Play a sound in the editor for testing without entering play mode
- `recompile_asset` — Compile a project asset by path — registers it with the editor
- `restart_editor` — Restart the s&box editor and wait for the bridge to reconnect — closes the C#-edit→recompile loop so addon/bridge changes apply without a manual restart. Relaunches straight back into the current project (EditorUtility.RestartEditor). Sa…
- `run_self_test` — Run an end-to-end health check of the bridge: create a temp object, add a component, assign + measure a model, capture a screenshot, recompile a temp asset, remove the component — then clean it all up, reporting pass/fail per subsystem. …
- `sculpt_terrain` — Apply a heightmap brush at (x, y) to MapBuilder. Modes: raise, lower, flatten, smooth. Modifies the current heightmap directly and rebuilds the mesh; survives between calls until you press Build Terrain again.
- `select_object` — Select a GameObject in the editor (highlights it in the hierarchy and scene view)
- `set_runtime_property` — Set a component property value during play mode — tweak values live while the game runs
- `set_time_scale` — Set the running game
- `simulate_input` — Synthesize player input during PLAY mode so behavior can be verified without a human at the keyboard: press/hold/release a named input action (e.g.
- `spawn_particle` — Spawn an additive particle effect (no texture asset needed): kind = fire (rising flame), embers (slow drifting glow), or sparks (a one-shot burst). Renders as tinted glowing dots — great for campfires, torches, and impacts. (smoke needs …
- `spawn_vpcf` — Spawn a REAL particle system by playing a compiled .vpcf asset through LegacyParticleSystem — the reliable path that actually renders, unlike spawn_particle/create_particle_effect (which build a runtime ParticleEffect graph that shows no…
- `start_play` — Enter play mode — starts running the game in the editor. Scripts execute, physics simulate, everything goes live
- `stop_play` — Exit play mode — stops the game and returns to editor. All runtime changes are discarded
- `trigger_hotload` — Force s&box to recompile and hotload all C# scripts immediately. Use after creating or editing scripts to see changes in real-time
- `capture_view` — Capture a PNG of the scene from a camera — and crucially this WORKS IN PLAY MODE, capturing the RUNNING game (via CameraComponent.RenderToBitmap, unlike take_screenshot/screenshot_from which are edit-only). With no args it renders the li…
- `describe_type` — Inspect a type
- `drive_player_status` — EXPERIMENTAL — Read the result of the most recently FINISHED drive_player job: which controller members were actually written (EyeAngles / WishVelocity / AnalogMove…), how many frames applied, and why it ended. Because drive_player runs …
- `find_in_project` — Grep the user
- `find_objects` — Query the scene for GameObjects by name (case-insensitive substring), component type name, and/or tag — combine filters (AND). Returns {id,name} for matches (limit default 50, max 500). Read-only; works during play. Use it to get GUIDs t…
- `get_all_properties` — Dump all public properties of every component on a GameObject as JSON -- names, types, and current values
- `get_asset_info` — Get detailed metadata about a specific asset — type, path, tags, package source
- `get_bounds` — Get a GameObject
- `get_bridge_status` — Check the connection status to the s&box Bridge — whether it
- `get_compile_errors` — Scan the recent s&box log for compile errors and exceptions — the fast way for Claude to confirm whether its last script/addon edit actually compiled. Reads sbox-dev.log directly (works even if the editor is mid-crash). Filters out the n…
- `get_doc_page` — Fetch the full Markdown of one s&box guide page (from search_docs). Pass a slug like \
- `get_method_signature` — Get the formal signature(s) of a method on a type — parameter names, types, defaults, return type, all overloads. Use before invoking an API you
- `get_navmesh_path` — Query the baked navmesh for a walkable path between two world points (NavMesh.GetSimplePath). Returns the ordered path points, or reachable:false if no route exists. Requires bake_navmesh to have run first. Read-only — useful for validat…
- `get_network_status` — Check the current multiplayer status: connection state, player count, lobby info, networked objects
- `get_package_details` — Fetch detailed package information from the s&box asset library (asset.party) including title, author, version, downloads, ratings, and dependencies
- `get_prefab_info` — Get detailed information about a prefab file including its JSON contents and metadata
- `get_profiler_stats` — Read live engine performance counters (ported from Unity
- `get_project_config` — Read the full project configuration from the .sbproj file including title, description, version, type, package references, metadata, and raw JSON
- `get_project_info` — Get information about the current s&box project — path, name, game type, dependencies, and configuration
- `get_property` — Read a single property value from a component on a GameObject
- `get_runtime_property` — Read a component property value during play mode. Must call start_play first
- `get_scene_hierarchy` — Get the scene tree — GameObjects with their names, GUIDs, components, and parent/child relationships. Pair maxDepth with rootId to drill into a subtree without paying for the whole scene
- `get_selected_objects` — Get the GameObjects currently selected by the user in the s&box editor
- `get_tags` — Read the tags currently on a GameObject. (Pair with set_tags to add/remove/clear, and find_objects to query by tag.)
- `inspect_networked_object` — Inspect the live networking contract of a GameObject: Network.Owner/IsProxy/IsOwner/Active, OwnerTransfer + OrphanedMode, and every component
- `is_playing` — Check current play state — returns
- `list_animations` — List the animation sequences available on a GameObject
- `list_asset_library` — Browse the s&box community asset library. Search for packages by name, description, or type to find models, maps, and tools to install
- `list_available_components` — List all component types available in s&box (built-in and custom). Search by name or filter by category
- `list_component_buttons` — List the [Button]-attributed methods on a component. NOTE: this only finds methods decorated with [Button]; invoke_button can ALSO call any plain public no-arg method by name, so a method missing here may still be invokable. Use describe…
- `list_doc_categories` — List the categories of the official s&box guide documentation, with how many pages each has. Use a category name to filter search_docs. Read-only.
- `list_libraries` — List the s&box libraries/addons installed in this project (reads Libraries/ + each .sbproj). Discovers what
- `list_prefabs` — List all .prefab files in the project. Filter by name or path
- `list_project_files` — Browse the project file tree. Optionally filter by directory path and/or file extension (e.g.
- `list_scenes` — List all .scene files in the project with their paths and basic metadata
- `list_sounds` — List available sound assets in the project and installed packages. Filter by name
- `measure_distance` — Measure the distance between two points or two GameObjects. Provide a/b as {x,y,z} or idA/idB as GUIDs. Returns straight-line distance, horizontal (ground) distance, and the delta vector. Read-only (works during play).
- `networking_lint` — Static-scan the project
- `physics_overlap` — Spatial volume query: return the GameObjects whose colliders intersect a SPHERE (center + radius) or a BOX (center + size) — the volume counterpart to raycast
- `playtest_status` — Poll the running/finished playtest. While running: { active:true, step, totalSteps, passed, failed }. When done: { finished:true, verdict:
- `raycast_terrain` — Sample MapBuilder terrain height at world (x, y). Returns z (the surface height). Use to place props on the terrain surface.
- `razor_lint` — Static-scan .razor and .razor.scss files for the silent footguns that crash the Razor transpiler or stylesheet engine with no useful error message: switch expressions inside @code blocks (use if/else instead), non-ASCII/emoji inside @cod…
- `read_file` — Read the contents of a file in the s&box project (scripts, scenes, configs, etc.)
- `read_log` — Read s&box
- `sandbox_lint` — Static-scan the project
- `save_inspect` — Inspect the game
- `scene_validate` — Validate the active scene for the silent setup footguns that break controllers/physics/cameras: no CameraComponent, no player controller, multiple root Rigidbodies, a Rigidbody with MotionEnabled=false fighting a kinematic root, IsTrigge…
- `screenshot_from` — Take a screenshot from a chosen angle. take_screenshot is locked to the scene
- `screenshot_orbit` — Capture a GameObject from several angles in ONE call — orbits the scene
- `search_assets` — Search for assets in the project by name, type, or keyword. Returns models, materials, sounds, textures, prefabs, etc.
- `search_docs` — Search the official s&box guide documentation (the Facepunch/sbox-docs pages rendered at sbox.game/dev/doc) by keyword. Returns the best-matching pages with their title, category, slug, and web URL — use the slug with get_doc_page to rea…
- `search_types` — Find types matching a name pattern. Pass components_only=true to filter to Component subclasses only. Useful for discovering
- `services_query` — Read from Sandbox.Services — the cloud stats/leaderboard layer many games use as their real DB. action=
- `simulate_npc_perception` — READ-ONLY edit-mode verifier: evaluate the NPC
- `spawn_citizen` — Spawn an animated Citizen character: a SkinnedModelRenderer with the Citizen model, plus (by default) a CitizenAnimationHelper so it idles. PlayAnimationsInEditorScene is enabled so the idle pose shows in the editor view (screenshot-veri…
- `take_screenshot` — Capture the current editor viewport as a PNG screenshot
- `validate_project` — Validate that the project is ready for publishing. Checks: compile errors, metadata completeness, scenes, scripts, thumbnail, and project type
- `add_beam` — Create an energy/laser beam (BeamEffect) from a position to a target point — additive, tintable. Good for lasers, tracers, magic beams.
- `add_cave_waypoint` — Append (or insert) a waypoint to CaveBuilder.Path. Z is depth (negative = underground).
- `add_collider` — Add a specific collider component to a GameObject. Supports box, sphere, capsule, mesh, and hull types. Can be configured as trigger
- `add_component_to_new_object` — Create a new GameObject, add a component, set its properties, and optionally parent/position/tag it — all in one atomic call. Collapses the create_gameobject → add_component_with_properties → set_parent sequence. NOTE: a freshly GENERATE…
- `add_component_with_properties` — Add a component to a GameObject and configure its properties in one call (properties PERSIST through save+reload). Use list_available_components to find valid types. Returns appliedProperties + failedProperties so you can see exactly wha…
- `add_envmap_probe` — Add an environment reflection/ambient probe (EnvmapProbe) at a position with a cubic influence volume — captures local reflections and indirect light for nearby surfaces.
- `add_forest_poi` — Add a point of interest (clearing) to ForestGenerator.POIs. Returns the index of the new POI for use with add_forest_trail.
- `add_forest_trail` — Add a trail gap between two POIs (by index) to ForestGenerator.Trails.
- `add_interaction_station` — Generate a Component.IPressable
- `add_joint` — Add a physics joint/constraint between two GameObjects. Supports fixed, spring, and slider joint types
- `add_light` — Add a light to the active scene. NOTE: s&box lights have no separate brightness field — intensity is the colour magnitude, so
- `add_lipsync` — Add + wire s&box
- `add_network_helper` — Add a NetworkHelper component to the scene for quick multiplayer setup. Handles lobby creation and player prefab spawning
- `add_physics` — Add a Rigidbody and collider to a GameObject, making it a dynamic physics object. Auto-selects BoxCollider if no collider type specified
- `add_post_process` — Add (or update) a post-processing effect on the scene
- `add_ragdoll` — Add ModelPhysics to a skinned model so it becomes a ragdoll (physics-driven bones). NOTE: the ragdoll only flops in PLAY mode — it won
- `add_rpc_method` — Generate an RPC method stub in a C# script. Inserts the chosen RPC attribute ([Rpc.Broadcast] all clients, [Rpc.Host] host only, [Rpc.Owner] owner only) above a method with an empty body. Pass methodParams to give it a parameter list (e.g.
- `add_screen_panel` — Create a new GameObject with a ScreenPanel component for full-screen UI overlay (HUD, menus, etc.)
- `add_sync_property` — Annotate an EXISTING public property in a C# script with the [Sync] attribute so s&box replicates it across the network. This does NOT create a new property — the property named by
- `add_terrain_clearing` — Add a flat clearing zone to MapBuilder (lerps height toward base inside radius).
- `add_terrain_hill` — Add a hill (cosine-falloff bump) to MapBuilder. Negative height creates a depression.
- `add_terrain_trail` — Carve a trail depression between two points on MapBuilder.
- `add_trail` — Attach a motion trail (TrailRenderer) to an existing GameObject (via targetId) so it leaves a trail as it moves — or create a standalone trail object. Only visible while the object is moving.
- `add_world_panel` — Create a new GameObject with a WorldPanel component for in-world 3D UI (health bars, signs, nameplates)
- `align_objects` — Align several GameObjects on one axis so they share a coordinate. mode = first (match the first object), min, max, or average.
- `apply_atmosphere` — One-call scene mood: composes ambient + directional light, gradient fog, and a camera post-fx stack (tonemap + colour grade + vignette) tuned for the chosen mood. Idempotent — re-runs update the same
- `apply_post_fx_look` — Apply just a camera post-processing look (no lights/fog): cinematic (tonemap + bloom + soft vignette), filmic-horror (desaturated, high-contrast, heavy vignette, film grain), or clean (tonemap only).
- `assign_material` — Apply a material to a ModelRenderer on a GameObject. Optionally target a specific material slot
- `assign_model` — Set a 3D model on a GameObject
- `assign_patrol_route` — Wire a placed route (or an arbitrary ordered GUID list) into an NpcBrain
- `assign_sound` — Attach a sound event to a GameObject via SoundPointComponent. Creates the component if needed
- `configure_network` — Configure networking settings on the existing NetworkHelper: max players, lobby name, player prefab, start server
- `copy_asset_with_dependencies` — Copy a project asset and its full dependency closure (via Asset.GetReferences(deep:true)) into a target directory, preserving relative path structure so material references to textures keep resolving. SHADOW GUARD: refuses to write under…
- `create_day_night_clock` — Generate a host-authoritative time-of-day clock: [Sync(SyncFlags.FromHost)] TimeOfDay (0–24) + Day advancing by Time.Delta, IsDay/IsNight from sunrise/sunset hours, and static OnNewDay / OnDayNightChanged events to drive lighting, NPC sc…
- `create_economy_wallet` — Generate a host-authoritative currency Wallet component: a [Sync(SyncFlags.FromHost)] Money balance (only the host can write it — plain [Sync] money is the classic economy exploit) with AddMoney / TrySpend / SetMoney / CanAfford and an O…
- `create_game_manager` — Generate a game manager script with configurable game loop features: score tracking, round timer, player spawning, and game state machine
- `create_gameobject` — Create a new GameObject in the active scene. Returns its GUID for future reference
- `create_health_system` — Generate a Health component: MaxHealth, [Sync] CurrentHealth, TakeDamage/Heal, an OnDeath event, optional regen and respawn. Host-authoritative damage when networked, single-player safe. Optionally attached to an existing GameObject by GUID
- `create_interactable` — Generate a Component.IPressable interactable: the built-in PlayerController
- `create_inventory` — Generate a slot-based inventory component using parallel List<string> ItemIds / List<int> Counts (serialization-safe, inspector-editable). Includes TryAdd (stack-first, partial-add rejected), TryRemove, CountOf, Move (swap or merge same-…
- `create_leaderboard_panel` — Generate a Razor PanelComponent that fetches and displays a Sandbox.Services leaderboard derived from a stat name. Produces TWO files: {name}.razor and {name}.razor.scss. The panel auto-refreshes every 30 s, shows rank/displayName/value …
- `create_lobby_manager` — Generate a lobby manager script with create/join/leave lobby, player spawning, and connection cleanup
- `create_material` — Create a new material file (.vmat) with a shader and properties like color, roughness, metallic, texture
- `create_network_events` — Generate a network event handler script implementing INetworkListener for connect/disconnect/chat events
- `create_networked_player` — Generate a network-aware player controller with [Sync] properties, owner-only input, and [Rpc.Broadcast] actions
- `create_npc_brain` — Generate an NpcBrain Component: a behavior state machine (Idle/Patrol/Wander/Chase/Search/Flee/Ambush) driven by occlusion-aware perception — FOV cone + sight range + a line-of-sight trace (respects walls/trees) + proximity hearing — wit…
- `create_npc_controller` — Generate an NPC controller script with NavMeshAgent pathfinding. Supports patrol, chase, and patrol-chase behaviors
- `create_objective_system` — Generate an ObjectiveManager component — the win/lose brain of a game. Tracks an objective (collect_all / reach_goal / survive_time / eliminate_all), fires a win, and handles a lose condition (fall below kill-Z / timer / out of lives). S…
- `create_particle_effect` — Build a custom additive particle effect from raw params (ParticleEffect + cone emitter + sprite renderer). Use this when the spawn_particle presets aren
- `create_pickup` — Generate a trigger-based collectible component. On enter by a tagged object it raises OnCollected (wire it to your objective/score system) and despawns. Optionally builds a visible pickup GameObject with a trigger SphereCollider (+ a mod…
- `create_placement_mode` — Generate a ghost-preview + commit placement component (single class). StartPlacing() clones GhostPrefab as a NetworkMode.Never preview with colliders disabled and ModelRenderers tinted semi-transparent. Each frame while placing: ray from…
- `create_player_controller` — Generate a player controller script with WASD movement, mouse look, jumping, and sprint. Supports first-person, third-person, and top-down movement modes. Optionally places a player rig (GameObject + CharacterController + Camera) in the …
- `create_prefab` — Save an existing GameObject as a reusable .prefab file. The prefab can be instantiated later
- `create_razor_ui` — Create a Razor UI component file (.razor) with optional SCSS stylesheet. Generates boilerplate for HUD, menu, or basic panel types
- `create_round_phase_machine` — Generate a host-authoritative round/phase machine: a [Sync(SyncFlags.FromHost)] CurrentPhase cycled through your named phases on a per-phase timer (host-only), with a static OnPhaseChanged event that fires on every machine. Great for rou…
- `create_round_state_machine` — Generate a host-authoritative MULTI-STATE round machine (the complex variant of create_round_phase_machine). Produces one .cs file: a RoundManager singleton component + an abstract RoundState base (Begin/Tick/OnTimeUp/Finish lifecycle wi…
- `create_save_slots` — Generate a multi-slot save MANAGER component (the slot-picker sibling of create_save_system). Use this when the game needs SEVERAL named save slots the player chooses between (New Game / Load Game menu, per-character or per-run saves) — …
- `create_save_system` — Generate a versioned save-system component: a SaveData POCO with Version bump on schema change, dirty-flag autosave on a TimeUntil timer, clamp-on-load Sanitize() for corrupt/hand-edited saves, and delete-on-version-mismatch to start fre…
- `create_scene` — Create a new empty scene file. Optionally include basic objects like a camera, directional light, and ground plane
- `create_script` — Create a new C# component script in the project. Generates proper s&box component boilerplate with the specified class name, namespace, and optional properties
- `create_sound_event` — Create a new sound event file (.sound) with volume, pitch, distance falloff, and looping settings
- `create_stat_modifier_system` — Generate an enum-keyed stat modifier system with three modifier layers: SET (highest-priority-wins hard override), ADD (summed bonuses), MULT (multiplied factors applied last). Modifier storage uses parallel private Lists of primitive ty…
- `create_weighted_loot_table` — Generate a cumulative-weight random loot picker: parallel Name/Weight lists (inspector-editable), a Roll() method that returns a winning entry name and fires a static OnLoot event, and optional pity (guarantee the last/rarest entry after…
- `debug_draw_line` — Draw a debug line between two world points. Renders in the editor viewport (Gizmo) AND in play mode (DebugOverlay), accumulating until debug_clear. NB: edit-mode gizmos show in the live editor but NOT in take_screenshot/screenshot_from —…
- `distribute_objects` — Evenly space GameObjects along an axis between the lowest and highest (keeps the two ends fixed, spreads the rest evenly).
- `dress_citizen` — Dress a spawned Citizen (or any GameObject with a SkinnedModelRenderer) by applying .clothing resources. Pass an array of clothing resource paths; they
- `duplicate_gameobject` — Clone a GameObject with all its components. Optionally offset position or rename
- `edit_script` — Edit an existing C# script. Supports find/replace, inserting code at a line number, or appending code to the class body
- `ensure_input_action` — Register a custom named INPUT ACTION in the project so a generated game\
- `equip_model` — Attach a prop model (weapon, hat, tool) to a Citizen
- `grid_duplicate` — Clone a GameObject into an X/Y/Z grid with fixed spacing (the original stays in place). Each count is clamped to 50 and total clones to 500. Great for fences, crates, pillars, foliage rows.
- `group_objects` — Parent a set of GameObjects under a new empty group object (placed at their centroid) — tidies the hierarchy and lets you move/rotate them together.
- `install_asset` — Install a community asset package into the project by its ident (e.g.
- `instantiate_prefab` — Spawn a prefab instance into the active scene at an optional position and rotation
- `paint_forest_density` — Add a circular biome region with overridden forest density. Multiple regions stack via cosine falloff. density: 0=no trees, 1=normal, 2=double.
- `place_along_path` — Drop instances of a model along a path (list of points). Useful for fences, lampposts, road markers, lined-up rocks.
- `place_patrol_route` — Place a set of waypoint GameObjects (tagged empties) for a patrol route and group them under a parent route object — authorable in one call. Optionally snaps each point to the ground (raycast down) so waypoints sit on the navmesh, not fl…
- `pose_citizen` — Pose a Citizen by setting CitizenAnimationHelper params (enables PlayAnimationsInEditorScene so the pose shows in-editor). Set holdType (None/Pistol/Rifle/Shotgun/HoldItem/Punch/Swing), moveStyle (Auto/Walk/Run), specialMove, sitting (bo…
- `randomize_transforms` — Add natural variation to existing objects: random yaw and/or random uniform scale within a range. Great for breaking up repetition in placed foliage/rocks/crates. Seeded.
- `raycast` — Perform a physics raycast (Scene.Trace.Ray) and return hit results. Useful for line-of-sight checks, object placement, and collision detection
- `redo` — Redo the last undone editor action
- `rename_gameobject` — Change the display name of a GameObject
- `replace_model` — Swap the model on one object (id) or many (ids) — e.g. retheme a row of props in one call.
- `save_scene` — Save the currently open scene in the s&box editor
- `scatter_props` — Scatter N copies of a model randomly within a radius around a center point — instant foliage, rocks, debris. Each copy gets a random yaw and (by default) is snapped to the ground. Seeded for reproducibility; copies are grouped under one …
- `set_animgraph_param` — Set an AnimationGraph parameter on a GameObject
- `set_bodygroup` — Show/hide a bodygroup on a SkinnedModelRenderer (e.g. hide hands when holding a tool, swap head variants). Provide value (int index) or choice (string name).
- `set_component_reference` — Wire a component
- `set_enabled` — Enable or disable a GameObject (disabled objects are invisible and inactive)
- `set_expression` — Set a facial morph (blendshape) on a skinned model — e.g. smile, frown, blink. Call with NO morph to list the model
- `set_fog` — Add or update fog in the active scene. Types:
- `set_forest_seed` — Set ForestGenerator.Seed and regenerate. Useful for re-rolling layouts.
- `set_look_at` — Aim a Citizen
- `set_material_property` — Change a property on the material assigned to a GameObject — color, roughness, metallic, texture, etc.
- `set_ownership` — Transfer network ownership of a GameObject to a different connection, or take/drop ownership
- `set_parent` — Reparent a GameObject. Set parentId to null or omit to move to scene root
- `set_prefab_ref` — Set a GameObject-typed property on a component to a loaded prefab. Use this when set_property can
- `set_project_config` — Update project configuration fields for publishing: title, description, version, type, package ident, summary, visibility. Only provided fields are changed
- `set_project_thumbnail` — Set or update the project thumbnail image (thumb.png) used for publishing. Provide either a source path or base64 image data
- `set_property` — Set a property value on a component (editor mode), and PERSIST it (survives save+reload). Handles primitives, enums, value types (Color/Vector3 as comma strings), AND references: pass an asset PATH for Model/Material/Texture/SoundEvent p…
- `set_skybox` — Set the scene
- `set_tags` — Add, remove, and/or clear gameplay tags on one object (id) or many (ids). Tags drive collision groups, queries, and triggers.
- `set_tint` — Set the renderer tint colour on one object (id) or many (ids) at once. Works on any ModelRenderer/SkinnedModelRenderer. Pass the colour as
- `set_transform` — Set position, rotation, and/or scale on a GameObject. Only provided values are changed
- `spawn_model` — Spawn a GameObject with a ModelRenderer showing a model — the quick way to place a prop. Pass an engine/project model path (e.g.
- `undo` — Undo the last editor action. Safety net for when a change goes wrong
- `write_file` — Write or overwrite a file in the s&box project. Creates parent directories as needed

## Related servers

- UnClick (1658 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Crow (587 tools) — https://policylayer.com/tools/kh0pper-crow.md
- Fortimanager (584 tools) — https://policylayer.com/tools/jmpijll-fortimanager-mcp.md
- TinyFn (572 tools) — https://policylayer.com/tools/io-tinyfn-tinyfn.md
- Mcp (571 tools) — https://policylayer.com/tools/io-github-2s-io-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=sbox · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/sbox
