New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

Sbox

287 tools. 217 can modify or destroy data without limits.

11 destructive tools with no built-in limits. Policy required.

Last updated:

217 can modify or destroy data
70 read-only
287 tools total

Community server · catalogue entry checked 12/08/2026

How to control Sbox ↓

What Sbox exposes to your agents

Read (70) Write / Execute (206) Destructive / Financial (11)
Critical Risk

The most dangerous Sbox tools

217 of Sbox's 287 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Sbox

PolicyLayer is an MCP gateway — it sits between your AI agents and Sbox, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "add_achievement_trigger": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_beam": {
    "limits": [
      {
        "counter": "add_beam_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "capture_view": {
    "limits": [
      {
        "counter": "capture_view_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Sbox — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON SBOX →

Instant setup, no code required.

All 287 Sbox tools

EXECUTE 43 tools
Execute add_render_target_camera CCTV / security monitor / mirror / simple portal: creates a secondary camera (IsMainCamera=false, Priority par Execute add_tts_voice Generate a text-to-speech speaker component over Sandbox.Speech.Synthesizer (the OS speech engine — dynamic NP Execute bake_navmesh Enable + bake the active scene Execute bake_reflections Bake all EnvmapProbe reflection probes in the scene (EnvmapProbe.BakeAll) so they actually capture their surro Execute build_terrain_mesh Build a standalone heightmap terrain mesh (a MeshComponent) from a hills/clearings JSON spec — independent of Execute console_run Run an s&box console command / ConCmd via Sandbox.ConsoleSystem.Run — e.g. a cvar ( Execute create_event_director Generate a generalized L4D-style AI/pacing director component (host-authoritative). On a configurable interval Execute create_npc_spawner Generate a spawner Component that instantiates an NPC prefab over time / in escalating waves at spawn points, Execute debug_draw_box Draw a wireframe debug box centered at a point. Renders in editor and play. Ideal for visualizing a trigger_zo Execute debug_draw_ray Draw a debug ray (drawn as an arrow) from an origin along a direction for a given length. Renders in editor an Execute debug_draw_sphere Draw a wireframe debug sphere at a point. Renders in editor and play. Ideal for visualizing a physics_overlap Execute drive_player EXPERIMENTAL — Drive the active PlayerController DURING PLAY MODE across multiple frames: synthesize sustained Execute execute_csharp EXPERIMENTAL. Compile + run a C snippet inside the s&box EDITOR (which is unsandboxed): writes a temp [ConCmd] Execute focus_object Highlight a GameObject by selecting it in the editor. NOTE: s&box exposes no dedicated focus API, so this only Execute frame_camera Aim the s&box EDITOR viewport camera at a GameObject (by id) or a world point (position + optional radius), th Execute generate_lipsync_dialogue Generate a lipsync dialogue performer — NPCs SPEAK their lines with MOVING MOUTHS: a sealed Component holding Execute instantiate_prefab Spawn a FULL prefab instance into the active scene — components and children recreated. Uses the engine Execute invoke_button Call a public method on a component. Matching is tried in order: (1) a [Button] attribute label, (2) the exact Execute invoke_method Call a public method BY NAME on a component of a live scene GameObject, passing ARGUMENTS. The with-args sibli Execute load_scene Open a scene in the s&box editor by its path Execute network_spawn Network-enable a GameObject so it is synchronized across all connected clients. Calls NetworkSpawn(). Returns Execute play_animation Play a named animation sequence on a GameObject Execute play_movie Start MoviePlayer playback. Targets the MoviePlayer on the given GameObject, or the first MoviePlayer in the s Execute play_sound_preview Play a sound in the editor for testing without entering play mode. Returns { playing, sound, volume }. Fire-an Execute playtest playtest Execute playtest_abort Stop the RUNNING playtest immediately: releases held input actions, restores UseInputControls, and finalizes t Execute pose_citizen Pose a Citizen by setting CitizenAnimationHelper params (enables PlayAnimationsInEditorScene so the pose shows Execute recompile_asset Compile a project asset by path — registers it with the editor Execute record_gameplay_clip Start recording live play-mode gameplay into a Sandbox.MovieMaker clip — REQUIRES play mode (start_play first; Execute restart_editor Restart the s&box editor and wait for the bridge to reconnect — closes the C-edit→recompile loop so addon/brid Execute run_self_test Run an end-to-end health check of the bridge: create a temp object, add a component, assign + measure a model, Execute select_object Select a GameObject in the editor (highlights it in the hierarchy and scene view). Replaces the current select Execute set_forest_seed Set ForestGenerator.Seed and (by default) regenerate — re-rolls the forest layout while keeping POIs, trails, Execute set_time_scale Set the running game Execute simulate_input Press or release a named input action during PLAY mode (via Sandbox.Input.SetAction) so input-driven behavior Execute spawn_particle EXPERIMENTAL — build an additive runtime ParticleEffect (no texture asset needed): kind = fire, embers, sparks Execute spawn_vpcf Spawn a REAL particle system by playing a compiled .vpcf asset through LegacyParticleSystem — the reliable pat Execute start_multiplayer_test Start a real local multiplayer test from PLAY MODE. Creates an explicitly private, hidden lobby when needed, v Execute start_play Enter play mode — starts running the game in the editor. Scripts execute, physics simulate, everything goes li Execute stop_movie Stop MoviePlayer playback (the counterpart to play_movie). Targets the MoviePlayer on the given GameObject, or Execute stop_multiplayer_test Stop every client process launched by start_multiplayer_test; exited clients are cleared while failed live kil Execute stop_play Exit play mode — stops the game and returns to editor. All runtime changes are discarded Execute trigger_hotload Force s&box to recompile and hotload all C scripts immediately. Use after creating or editing scripts to see c
WRITE 163 tools
Write add_beam EXPERIMENTAL — create an energy/laser beam (BeamEffect) from a position to a target point (default: 128u strai Write add_cave_waypoint Append (or insert at Write add_collider Add a specific collider component to a GameObject (no Rigidbody — use add_physics for a dynamic body). Can be Write add_component_to_new_object Create a new GameObject, add a component, set its properties, and optionally parent/position/tag it — all in o Write add_component_with_properties Add a component to a GameObject and configure its properties in one call (properties PERSIST through save+relo Write add_daynight_sun Generate a sun/sky driver component for the clock made by create_day_night_clock — a COMPANION, not a replacem Write add_envmap_probe Add an environment reflection/ambient probe (EnvmapProbe) at a position with a cubic influence volume — captur Write add_flicker_light Generate a light-flicker animator and optionally attach it to an existing light GameObject by GUID. Five prese Write add_forest_poi Add a point of interest (clearing) to ForestGenerator.POIs. Returns Write add_forest_trail Add a trail gap between two POIs to ForestGenerator.Trails. Returns Write add_host_migration_recovery Generate a host-migration recovery component — it detects when THIS machine takes authority over its GameObjec Write add_interaction_prompt Generate an eye-traced interaction-prompt HUD — a PanelComponent (.razor + .razor.scss pair, like create_leade Write add_interaction_station Generate a Component.IPressable Write add_joint Add a physics joint/constraint component to a GameObject, optionally connected to a target body (targetId). Re Write add_leaderboard_stat Generate a batched write-side stat reporter component for Sandbox.Services.Stats — the write partner of create Write add_light Add a light to the active scene. NOTE: s&box lights have no separate brightness field — intensity is the colou Write add_lipsync Add + wire s&box Write add_movie_player Add a Sandbox.MovieMaker.MoviePlayer component and optionally wire a .movie resource into it — the cutscene pl Write add_network_helper Add a NetworkHelper component (with StartServer=true) to an existing GameObject for quick multiplayer setup — Write add_panel_buildhash PATCH an existing .razor file (razor_lint Write add_physics Add a Rigidbody and collider to a GameObject, making it a dynamic physics object. Auto-selects BoxCollider if Write add_post_process Add (or update) a post-processing effect on the scene Write add_ragdoll Add ModelPhysics to a skinned model so it becomes a ragdoll (physics-driven bones). NOTE: the ragdoll only flo Write add_rpc_method Generate an RPC method stub in a C script. Inserts the chosen RPC attribute ([Rpc.Broadcast] all clients, [Rpc Write add_screen_panel Create a new GameObject with a ScreenPanel component for full-screen UI overlay (HUD, menus, etc.). Returns { Write add_steam_stat_currency Generate a currency component (sealed) persisted over Sandbox.Services.Stats — Steam-cloud persistence, per St Write add_sync_property Annotate an EXISTING public property in a C script with the [Sync] attribute so s&box replicates it across the Write add_targeted_rpc Generate a component demonstrating the unicast (single-client) RPC pattern via Rpc.FilterInclude. A normal [Rp Write add_terrain_clearing Add a flat clearing zone to MapBuilder Write add_terrain_hill Add a hill (cosine-falloff bump) to MapBuilder Write add_terrain_trail Carve a trail depression between two points on MapBuilder (appends to its Trails list). Returns Write add_trail Attach a motion trail (TrailRenderer) to an existing GameObject (via targetId) so it leaves a trail as it move Write add_water_body Create a swimmable/buoyant water region: a GameObject with a WaterVolume (s&box Write add_world_panel Create a new GameObject with a WorldPanel component for in-world 3D UI (health bars, signs, nameplates). Retur Write align_objects Align several GameObjects on one axis so they share a coordinate. mode = first (match the first object), min, Write apply_atmosphere One-call scene mood: composes ambient + directional light, gradient fog, and a camera post-fx stack (tonemap + Write apply_post_fx_look Apply just a camera post-processing look (no lights/fog): cinematic (tonemap + bloom + soft vignette), filmic- Write assign_material Apply a material to a GameObject by setting its ModelRenderer Write assign_model Set a 3D model on a GameObject Write assign_patrol_route Wire a placed route (or an arbitrary ordered GUID list) into an NpcBrain Write assign_sound Attach a sound event to a GameObject via SoundPointComponent. Creates the component if needed. Returns { assig Write author_movie_clip Author a MovieMaker .movie cutscene clip from a declarative shot list — EDIT MODE ONLY, no Movie Maker dock, n Write batch_add_component Add one component type to MANY GameObjects in one call (e.g. BoxCollider on every crate). Skips objects that a Write batch_reparent Move MANY GameObjects under a new parent (or to the scene root) in one call — organize scattered props into a Write batch_set_property Set ONE component property to the same value across MANY GameObjects in a single call. Pass dryRun:true first: Write capture_camera_set Capture 1-8 saved camera bookmarks in exact order. Returns a labeled manifest followed by ordered inline PNGs. Write capture_topdown Capture a deterministic orthographic top-down inline PNG over targetId or an explicit center. Returns camera p Write commit_placement_plan Commit a dry-run plan returned by place_along_path, grid_duplicate, or scatter_props. Plans are scene-scoped, Write configure_network Configure lobby settings on Sandbox.Networking. Currently only lobbyName is applied (sets Networking.ServerNam Write copy_asset_with_dependencies Copy a project asset and its full dependency closure (via Asset.GetReferences(deep:true)) into a target direct Write create_achievement_set Generate an achievement engine: a component with an AchievementDef list (id/title/description/target), per-ach Write create_camera_effects Generate static conveniences over the SDK Write create_camera_shake Generate a trauma-based camera shake component (the standard game-feel model: events add Trauma 0..1, shake ma Write create_carry_system Generate a first-person pickup / carry / throw component (sealed Component) for physics props. Attach it to th Write create_combo_meter Generate a combo system: a sealed Component (the authoritative, headless state) PLUS a small Razor HUD (PanelC Write create_currency_account Generate a host-authoritative currency ACCOUNT component (sealed) — the audited sibling of create_economy_wall Write create_currency_pickup Generate a networked coin / currency pickup component (sealed, Component.ITriggerListener). Host-spawned; when Write create_cutscene_director Generate a hand-authored cutscene player component that needs NO .movie asset — the zero-asset alternative to Write create_day_night_clock Generate a host-authoritative time-of-day clock: [Sync(SyncFlags.FromHost)] TimeOfDay (0–24) + Day advancing b Write create_dialogue_system Generate an NPC/story dialogue system — a sealed state+data Component paired with a razor_lint-safe Razor HUD Write create_economy_wallet Generate a host-authoritative currency Wallet component: a [Sync(SyncFlags.FromHost)] Money balance (only the Write create_elo_rating_system Generate a self-contained, host-authoritative elo rating component: standard elo math (expected = 1/(1+10^((Rb Write create_event_bus Generate a typed LOCAL pub/sub event bus: a pure STATIC class (NOT a Component — nothing to place in the scene Write create_floating_combat_text Generate a floating combat text component — rising, fading, camera-billboarded world-space popups for damage n Write create_gacha_drop_table Generate a host-authoritative gacha / loot-box roller component. Two-level pick: parallel [Property] lists Rar Write create_game_manager Generate a minimal game-manager Component: a static Instance singleton, [Property] MaxPlayers / GameState, and Write create_gameobject Create a new GameObject in the active scene. Returns its GUID for future reference Write create_health_system Generate a Health component: MaxHealth, [Sync] CurrentHealth, TakeDamage/Heal, an OnDeath event, optional rege Write create_hold_to_confirm Generate a hold-to-confirm action component (sealed Component). While a named input action is held (Input.Down Write create_host_rpc_action Generate a validated, rate-limited host-action component — the SAFE skeleton for Write create_idle_economy Generate a geometric idle-economy component (sealed): generators on the classic BaseCost Growth^Owned cost cu Write create_idle_income Generate a host-authoritative passive income component: every tickSeconds the host grants incomePerTick × Mult Write create_interactable Generate a Component.IPressable interactable: the built-in PlayerController Write create_inventory Generate a slot-based inventory component using parallel List<string> ItemIds / List<int> Counts (serializatio Write create_killcam create_killcam Write create_leaderboard_panel Generate a Razor PanelComponent that fetches and displays a Sandbox.Services leaderboard derived from a stat n Write create_lobby_manager Generate a lobby manager Component implementing Component.INetworkListener: a static Instance singleton, a [Sy Write create_local_player_resolver Generate a proxy-safe Write create_loot_table_resource Generate GameResource-based loot tables — the data-asset sibling of create_weighted_loot_table. One .cs file c Write create_material Create a new material file (.vmat, KV1 format) with a shader and properties like color, roughness, metallic, t Write create_meta_progression Generate a between-runs roguelite meta-progression component (sealed, owner-only): persistent meta-currency + Write create_needs_system Generate a sim/tycoon needs engine component: a [Property] list of need definitions (name, decay rate/s, criti Write create_network_events Generate a network event relay Component: [Rpc.Broadcast] SendEvent(eventName, payload) to all clients and [Rp Write create_networked_player Generate a network-aware player controller with [Sync] properties, owner-only input, and [Rpc.Broadcast] actio Write create_npc_brain Generate an NpcBrain Component: a behavior state machine (Idle/Patrol/Wander/Chase/Search/Flee/Ambush) driven Write create_npc_controller Generate an NPC controller script with NavMeshAgent pathfinding. Supports patrol, chase, and patrol-chase beha Write create_npc_schedule_brain Generate a daily-routine NPC brain: a [Property] list of schedule entries (startHour/endHour 0..24, taskName, Write create_objective_system Generate an ObjectiveManager component — the win/lose brain of a game. Tracks an objective (collect_all / reac Write create_offline_progress Generate an offline / idle-progress component (sealed, owner/host-only) — the idle-game staple. Persists LastS Write create_particle_effect Build a custom additive particle effect from raw params (ParticleEffect + cone emitter + sprite renderer). Use Write create_physics_grab_tool Generate a physgun-lite player component: hold attack2 while looking at a Rigidbody prop within Range to grab Write create_pickup Generate a trigger-based collectible component. On enter by a tagged object it raises OnCollected (wire it to Write create_placement_mode Generate a ghost-preview + commit placement component (single class). StartPlacing() clones GhostPrefab as a N Write create_player_controller Generate a player controller script with WASD movement, mouse look, jumping, and sprint. Supports first-person Write create_prefab Save an existing GameObject as a real .prefab file — FULL engine serialization: every component with its prope Write create_proxy_nametag Generate a sealed Component that floats the OWNER Write create_razor_ui Create a Razor UI component file (.razor). Returns { created, path, componentName }; errors if the file alread Write create_round_phase_machine Generate a host-authoritative round/phase machine: a [Sync(SyncFlags.FromHost)] CurrentPhase cycled through yo Write create_round_state_machine Generate a host-authoritative MULTI-STATE round machine (the complex variant of create_round_phase_machine). P Write create_round_timer_hud Generate a Razor screen-panel HUD (.razor + .razor.scss) showing the active round/phase time remaining as mm:s Write create_save_slots Generate a multi-slot save MANAGER component (the slot-picker sibling of create_save_system). Use this when th Write create_save_system Generate a versioned save-system component: a SaveData POCO with Version bump on schema change, dirty-flag aut Write create_scene Create a new EMPTY .scene file under the project Write create_script Create a new C component script in the project — a minimal s&box Component class (name is sanitized to a valid Write create_seat_system Generate a standalone networked one-occupant seat component: press E (use) to sit — claims route through the h Write create_signed_save Generate a tamper-evident, versioned save-system component (sealed, owner-only). The SaveData payload POCO is Write create_sound_event Create a .sound event file wired to a source .vsnd. Returns { created, path, soundReferenced, note } (path is Write create_speedrun_leaderboard Generate a speedrun timer component plus a leaderboard display panel. The timer (<Name>.cs) is TimeSince-based Write create_stat_modifier_system Generate an enum-keyed stat modifier system with three modifier layers: SET (highest-priority-wins hard overri Write create_team_assigner Generate a host-authoritative balanced team assigner component (smallest-bucket draft): AssignSmallest(steamId Write create_trigger_zone Generate a trigger-zone Component (Component.ITriggerListener): auto-adds a trigger BoxCollider on start, filt Write create_utility_ai Generate a utility-AI (scored-action) brain: one file with an abstract {name}Action : Component base (Score() Write create_vehicle_controller Generate a drivable raycast-car component: 4-corner spring/damper suspension, mass-scaled engine force, speed- Write create_weighted_loot_table Generate a cumulative-weight random loot picker: parallel Name/Weight lists (inspector-editable), a Roll() met Write create_worldpanel_ui Generate a diegetic, clickable world-space UI: a Razor PanelComponent (+ .razor.scss) meant to sit on a GameOb Write debug_draw_line Draw a debug line between two world points. Renders in the editor viewport (Gizmo) AND in play mode (DebugOver Write distribute_objects Evenly space GameObjects along an axis between the lowest and highest (keeps the two ends fixed, spreads the r Write dress_citizen Dress a spawned Citizen (or any GameObject with a SkinnedModelRenderer) by applying .clothing resources. Pass Write duplicate_gameobject Clone a GameObject with all its components. Returns { duplicated, original, gameObject } — gameObject.id is th Write edit_script Edit an existing C script in place via exact-text find/replace or a full-content overwrite. Errors if the file Write ensure_input_action Register a custom named INPUT ACTION in the project so a generated game\ Write equip_model Attach a prop model (weapon, hat, tool) to a Citizen Write grid_duplicate Clone a GameObject into an X/Y/Z grid. Existing calls mutate immediately and keep the legacy result. Use dryRu Write group_objects Parent a set of GameObjects under a new empty group object (placed at their centroid) — tidies the hierarchy a Write install_asset Install a community asset package into the project by its ident (e.g. Write name name Write paint_forest_density Add a circular biome region with overridden forest density to ForestGenerator.DensityRegions. Multiple regions Write place_along_path Place up to 2,048 model instances along a waypoint path. Existing calls mutate immediately and keep the legacy Write place_patrol_route Place a set of waypoint GameObjects (tagged empties) for a patrol route and group them under a parent route ob Write randomize_transforms Add natural variation to existing objects: random yaw and/or random uniform scale within a range. Great for br Write record_playtest record_playtest Write redo Re-apply the editor action most recently reverted by undo (editor UndoSystem redo — the counterpart to the und Write rename_gameobject Change the display name of a GameObject identified by its GUID (the GUID itself never changes, so existing ref Write replace_model Swap the model on one object (id) or many (ids) — e.g. retheme a row of props in one call. Write save_camera_bookmark Save or replace a named camera bookmark in editor-session memory. Pass targetId for a deterministic framed obj Write save_scene Save the currently open scene in the s&box editor (EditorScene.SaveSession) to its existing .scene file — a pr Write scaffold_map_vote_flow Scaffold an end-of-round map vote. Three files: <Name>.cs (sealed host-authoritative controller) + <Name>Panel Write scatter_props Scatter seeded model copies inside a radius. Existing calls mutate immediately and keep the legacy { scattered Write sculpt_terrain Apply a heightmap brush at (x, y) to MapBuilder. Modes: raise, lower, flatten, smooth. Modifies the current he Write set_animgraph_param Set an AnimationGraph parameter on a GameObject Write set_bodygroup Show/hide a bodygroup on a SkinnedModelRenderer (e.g. hide hands when holding a tool, swap head variants). Pro Write set_component_reference Wire a component Write set_enabled Enable or disable a GameObject (disabled objects are invisible and inactive, including their components and ch Write set_expression Set a facial morph (blendshape) on a skinned model — e.g. smile, frown, blink. Call with NO morph to list the Write set_fog Add or update fog in the active scene. Types: Write set_look_at Aim a Citizen Write set_material_property Change a property on the material assigned to a GameObject — color, roughness, metallic, texture, etc. Operate Write set_ownership Assign network ownership of a GameObject to a connection, or drop ownership. Omitting connectionId (or passing Write set_parent Reparent a GameObject. Set parentId to null or omit to move to scene root Write set_prefab_ref Set a GameObject-typed property on a component to a loaded prefab. Use this when set_property can Write set_project_config Update project configuration fields for publishing: title, description, version, type, package ident, summary, Write set_project_thumbnail Set or update the project thumbnail image (thumb.png) used for publishing. Provide either a source path or bas Write set_property Set a property value on a component (editor mode), and PERSIST it (survives save+reload). Handles primitives, Write set_runtime_property Set a component property value during play mode — tweak values live while the game runs. Errors if the game is Write set_skybox Set the scene Write set_tags Add, remove, and/or clear gameplay tags on one object (id) or many (ids). Tags drive collision groups, queries Write set_tint Set the renderer tint colour on one object (id) or many (ids) at once. Works on any ModelRenderer/SkinnedModel Write set_transform Atomically set position, rotation, and/or scale on a GameObject. All supplied values are parsed before mutatio Write snap_to_ground Drop a GameObject straight down onto the surface below it (physics raycast). Works best on collider-less props Write spawn_model Spawn a GameObject with a ModelRenderer showing a model — the quick way to place a prop. Pass an engine/projec Write stop_gameplay_recording Stop the active gameplay recording and persist it as a project .movie asset the editor can load (written to As Write undo Undo the last editor action via the editor Write write_file Write or overwrite a file in the s&box project (SILENTLY replaces existing content — read_file first if you ne
READ 70 tools
Read capture_view Capture an inline PNG in edit or play mode. With no pose it renders the live main camera; pass exactly one id Read checkpoint_scene Snapshot the ENTIRE open scene (every root GameObject, full serialization) to temp storage OUTSIDE the project Read describe_project One-call project orientation: identity (name/ident/org/type), the open scene with object count, scene and pref Read describe_scene One-call orientation for the OPEN scene (works in edit and play mode): total/root object counts, component his Read describe_type Inspect a type Read drive_player_status EXPERIMENTAL — Read the result of the most recently FINISHED drive_player job: which controller members were a Read find_broken_references Scan the project for broken references, two layers in one call: (1) every GameObject in the open scene — rende Read find_in_project Grep the user Read find_objects Query the scene for GameObjects by name (case-insensitive substring), component type name, and/or tag — combin Read find_objects_near Find GameObjects within a world-space radius of exactly one explicit position or originId, sorted nearest firs Read gameplay_recording_status Poll the gameplay recording job. While recording returns { recording:true, jobId, elapsedSeconds (clip-timelin Read get_all_properties Dump all public properties of every component on a GameObject. Returns { id, components } where each entry is Read get_asset_info Get detailed metadata about a specific asset — type, path, tags, package source Read get_bounds Get provenance-rich world bounds for a GameObject. Preserves legacy top-level center/size/extents/mins/maxs/ra Read get_bridge_status Check the s&box Bridge connection — call this FIRST in a session. Returns a human summary plus JSON: connected Read get_compile_errors Scan the recent s&box log for compile errors and exceptions — the fast way for Claude to confirm whether its l Read get_doc_page Fetch the full Markdown of one s&box guide page (from search_docs). Pass a slug like \ Read get_method_signature Get the formal signature(s) of a method on a type — parameter names, types, defaults, return type, all overloa Read get_navmesh_path Query the baked navmesh for a walkable path between two world points (NavMesh.GetSimplePath). Returns the orde Read get_network_status Check the current multiplayer status. Returns { isActive, isHost, isClient, isConnecting, maxPlayers, serverNa Read get_package_details Fetch package information from the s&box package backend (Package.FetchAsync) by ident. Returns { fullIdent, t Read get_prefab_info Inspect a prefab file as a structured summary: { path, name, size, modified, totalObjects, maxDepth, reference Read get_profiler_stats Read live engine performance counters (ported from Unity Read get_project_config Read the full project configuration from the .sbproj file including title, description, version, type, package Read get_project_info Get information about the current s&box project — path, name, game type, dependencies, and configuration Read get_property Read a single property value from a component on a GameObject Read get_runtime_property Read a component property value during play mode. Must call start_play first Read get_scene_hierarchy Get the scene tree — GameObjects with their names, GUIDs, components, and parent/child relationships. Pair max Read get_selected_objects Get the GameObjects currently selected by the user in the s&box editor. Returns { count, selected } where each Read get_tags Read the tags currently on a GameObject. (Pair with set_tags to add/remove/clear, and find_objects to query by Read inspect_model_geometry Inspect a mounted model before placement without creating a GameObject. Returns model-local/default-pose aggre Read inspect_networked_object Inspect the live networking contract of a GameObject. Returns {id, name, network: {active, isProxy, isOwner, i Read is_playing Check current play state — returns Read list_animations List the animation sequences available on a GameObject Read list_asset_library List assets visible to the editor Read list_available_components List all instantiable component types in the TypeLibrary — built-in AND your project Read list_camera_bookmarks List all session-scoped camera bookmarks in stable name order. Returns resolved pose, optional target/lookAt, Read list_checkpoints List this project Read list_component_buttons List the [Button]-attributed methods on a component. NOTE: this only finds methods decorated with [Button]; in Read list_doc_categories List the categories of the official s&box guide documentation, with how many pages each has. Use a category na Read list_libraries List the s&box libraries/addons installed in this project (reads Libraries/ + each .sbproj). Discovers what Read list_movies List the project Read list_prefabs List all .prefab files in the project. Filter by name or path Read list_project_files Browse the project file tree. Optionally filter by directory path and/or file extension (e.g. Read list_scenes List all .scene files in the project with their paths and basic metadata Read list_sounds List the project Read measure_distance Measure the distance between two points or two GameObjects. Provide a/b as {x,y,z} or idA/idB as GUIDs. Return Read multiplayer_test_status Read the host-side state of the local multiplayer test harness without changing it: play/network state, connec Read networking_lint Static-scan the project Read physics_overlap Spatial volume query: return the GameObjects whose colliders intersect a SPHERE (center + radius) or a BOX (ce Read playtest_status Poll the playtest started by the playtest tool. While running: { active:true, step, totalSteps, passed, failed Read raycast Perform a physics raycast (Scene.Trace.Ray) from start to end — pass both; the handler traces the start→end se Read raycast_terrain Sample MapBuilder terrain height at world (x, y). Returns z (the surface height). Use to place props on the te Read razor_lint Static-scan .razor and .razor.scss files for the silent footguns that crash the Razor transpiler or stylesheet Read read_file Read the contents of a file in the s&box project (scripts, scenes, configs, etc.) Read read_log Read s&box Read sandbox_lint Static-scan the project Read save_inspect Inspect the game Read scene_validate Validate the active scene for the silent setup footguns that break controllers/physics/cameras: no CameraCompo Read screenshot_from Historical alias of capture_view. Frame a GameObject or use an explicit position with optional lookAt/rotation Read screenshot_orbit Capture a GameObject from several angles in one call without moving the real camera. Uses get_bounds for frami Read search_assets Search for assets in the project by name, type, or keyword. Returns models, materials, sounds, textures, prefa Read search_docs Search the official s&box guide documentation (the Facepunch/sbox-docs pages rendered at sbox.game/dev/doc) by Read search_types Find loaded types matching a name pattern. Useful for discovering Read services_query Read from Sandbox.Services — the cloud stats/leaderboard layer many games use as their real DB. action= Read simulate_npc_perception READ-ONLY edit-mode verifier: evaluate the NPC Read spawn_citizen Spawn an animated Citizen character: a SkinnedModelRenderer with the Citizen model, plus (by default) a Citize Read take_screenshot Capture a 1920x1080 PNG from the scene Read tune_vehicle Apply a handling preset to a vehicle component on a GameObject: arcade (forgiving), drift (low grip, sharp ste Read validate_project Validate that the project is ready for publishing. Runs four checks: .sbproj exists, at least one scene, proje

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Sbox

Can an AI agent delete data through the Sbox MCP server? +

Yes. The Sbox server exposes 11 destructive tools including add_achievement_trigger, batch_delete, clear_cave_path. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Sbox? +

The Sbox server has 163 write tools including add_beam, add_cave_waypoint, add_collider. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Sbox.

How many tools does the Sbox MCP server expose? +

287 tools across 4 categories: Destructive, Execute, Read, Write. 70 are read-only. 217 can modify, create, or delete data.

How do I enforce a policy on Sbox? +

Register the Sbox MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Sbox tool call.

Deterministic rules across all 287 Sbox tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

287 Sbox tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Sbox's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.