Sbox

207 tools. 150 can modify or destroy data without limits.

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

Last updated:

150 can modify or destroy data
57 read-only
207 tools total

Community server · catalogue entry checked 07/07/2026

How to control Sbox ↓

What Sbox exposes to your agents

Read (57) Write / Execute (142) Destructive / Financial (8)
Critical Risk

The most dangerous Sbox tools

150 of Sbox's 207 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
{
  "clear_cave_path": {
    "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 207 Sbox tools

EXECUTE 34 tools
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 from a hills/clearings JSON spec — independent of MapBuilder. Use wh 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 create_trigger_zone Generate a trigger zone script that detects when GameObjects enter/exit a collider volume. Supports teleport, 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 Move the editor camera to focus on a specific GameObject (like double-clicking in the hierarchy) Execute frame_camera Aim the s&box EDITOR viewport camera at a GameObject (by id) or a world point (position + optional radius), th 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() Execute play_animation Play a named animation sequence on a GameObject Execute play_sound_preview Play a sound in the editor for testing without entering play mode Execute playtest playtest Execute recompile_asset Compile a project asset by path — registers it with the editor 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 sculpt_terrain Apply a heightmap brush at (x, y) to MapBuilder. Modes: raise, lower, flatten, smooth. Modifies the current he Execute select_object Select a GameObject in the editor (highlights it in the hierarchy and scene view) Execute set_runtime_property Set a component property value during play mode — tweak values live while the game runs Execute set_time_scale Set the running game Execute simulate_input Synthesize player input during PLAY mode so behavior can be verified without a human at the keyboard: press/ho Execute spawn_particle Spawn an additive particle effect (no texture asset needed): kind = fire (rising flame), embers (slow drifting Execute spawn_vpcf Spawn a REAL particle system by playing a compiled .vpcf asset through LegacyParticleSystem — the reliable pat Execute start_play Enter play mode — starts running the game in the editor. Scripts execute, physics simulate, everything goes li 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 108 tools
Write add_beam Create an energy/laser beam (BeamEffect) from a position to a target point — additive, tintable. Good for lase Write add_cave_waypoint Append (or insert) a waypoint to CaveBuilder.Path. Z is depth (negative = underground). Write add_collider Add a specific collider component to a GameObject. Supports box, sphere, capsule, mesh, and hull types. 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_envmap_probe Add an environment reflection/ambient probe (EnvmapProbe) at a position with a cubic influence volume — captur Write add_forest_poi Add a point of interest (clearing) to ForestGenerator.POIs. Returns the index of the new POI for use with add_ Write add_forest_trail Add a trail gap between two POIs (by index) to ForestGenerator.Trails. Write add_interaction_station Generate a Component.IPressable Write add_joint Add a physics joint/constraint between two GameObjects. Supports fixed, spring, and slider joint types 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_network_helper Add a NetworkHelper component to the scene for quick multiplayer setup. Handles lobby creation and player pref 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.) 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_terrain_clearing Add a flat clearing zone to MapBuilder (lerps height toward base inside radius). Write add_terrain_hill Add a hill (cosine-falloff bump) to MapBuilder. Negative height creates a depression. Write add_terrain_trail Carve a trail depression between two points on MapBuilder. Write add_trail Attach a motion trail (TrailRenderer) to an existing GameObject (via targetId) so it leaves a trail as it move Write add_world_panel Create a new GameObject with a WorldPanel component for in-world 3D UI (health bars, signs, nameplates) 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 ModelRenderer on a GameObject. Optionally target a specific material slot 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 Write configure_network Configure networking settings on the existing NetworkHelper: max players, lobby name, player prefab, start ser 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_day_night_clock Generate a host-authoritative time-of-day clock: [Sync(SyncFlags.FromHost)] TimeOfDay (0–24) + Day advancing b Write create_economy_wallet Generate a host-authoritative currency Wallet component: a [Sync(SyncFlags.FromHost)] Money balance (only the Write create_game_manager Generate a game manager script with configurable game loop features: score tracking, round timer, player spawn 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_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_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 script with create/join/leave lobby, player spawning, and connection cleanup Write create_material Create a new material file (.vmat) with a shader and properties like color, roughness, metallic, texture Write create_network_events Generate a network event handler script implementing INetworkListener for connect/disconnect/chat events 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_objective_system Generate an ObjectiveManager component — the win/lose brain of a game. Tracks an objective (collect_all / reac Write create_particle_effect Build a custom additive particle effect from raw params (ParticleEffect + cone emitter + sprite renderer). Use 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 reusable .prefab file. The prefab can be instantiated later Write create_razor_ui Create a Razor UI component file (.razor) with optional SCSS stylesheet. Generates boilerplate for HUD, menu, 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_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. Optionally include basic objects like a camera, directional light, and ground p Write create_script Create a new C component script in the project. Generates proper s&box component boilerplate with the specifie Write create_sound_event Create a new sound event file (.sound) with volume, pitch, distance falloff, and looping settings Write create_stat_modifier_system Generate an enum-keyed stat modifier system with three modifier layers: SET (highest-priority-wins hard overri Write create_weighted_loot_table Generate a cumulative-weight random loot picker: parallel Name/Weight lists (inspector-editable), a Roll() met 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. Optionally offset position or rename Write edit_script Edit an existing C script. Supports find/replace, inserting code at a line number, or appending code to the cl 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 with fixed spacing (the original stays in place). Each count is clamped 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 instantiate_prefab Spawn a prefab instance into the active scene at an optional position and rotation Write name name Write paint_forest_density Add a circular biome region with overridden forest density. Multiple regions stack via cosine falloff. density Write place_along_path Drop instances of a model along a path (list of points). Useful for fences, lampposts, road markers, lined-up 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 pose_citizen Pose a Citizen by setting CitizenAnimationHelper params (enables PlayAnimationsInEditorScene so the pose shows Write randomize_transforms Add natural variation to existing objects: random yaw and/or random uniform scale within a range. Great for br Write raycast Perform a physics raycast (Scene.Trace.Ray) and return hit results. Useful for line-of-sight checks, object pl Write redo Redo the last undone editor action Write rename_gameobject Change the display name of a GameObject 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_scene Save the currently open scene in the s&box editor Write scatter_props Scatter N copies of a model randomly within a radius around a center point — instant foliage, rocks, debris. E 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) 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_forest_seed Set ForestGenerator.Seed and regenerate. Useful for re-rolling layouts. 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. Write set_ownership Transfer network ownership of a GameObject to a different connection, or take/drop ownership 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_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 Set position, rotation, and/or scale on a GameObject. Only provided values are changed Write spawn_model Spawn a GameObject with a ModelRenderer showing a model — the quick way to place a prop. Pass an engine/projec Write undo Undo the last editor action. Safety net for when a change goes wrong Write write_file Write or overwrite a file in the s&box project. Creates parent directories as needed
READ 57 tools
Read capture_view Capture a PNG of the scene from a camera — and crucially this WORKS IN PLAY MODE, capturing the RUNNING game ( 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_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 get_all_properties Dump all public properties of every component on a GameObject as JSON -- names, types, and current values Read get_asset_info Get detailed metadata about a specific asset — type, path, tags, package source Read get_bounds Get a GameObject Read get_bridge_status Check the connection status to the s&box Bridge — whether it 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: connection state, player count, lobby info, networked objects Read get_package_details Fetch detailed package information from the s&box asset library (asset.party) including title, author, version Read get_prefab_info Get detailed information about a prefab file including its JSON contents and metadata 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 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_networked_object Inspect the live networking contract of a GameObject: Network.Owner/IsProxy/IsOwner/Active, OwnerTransfer + Or Read is_playing Check current play state — returns Read list_animations List the animation sequences available on a GameObject Read list_asset_library Browse the s&box community asset library. Search for packages by name, description, or type to find models, ma Read list_available_components List all component types available in s&box (built-in and custom). Search by name or filter by category 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_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 available sound assets in the project and installed packages. Filter by name 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 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 running/finished playtest. While running: { active:true, step, totalSteps, passed, failed }. When don 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 Take a screenshot from a chosen angle. take_screenshot is locked to the scene Read screenshot_orbit Capture a GameObject from several angles in ONE call — orbits the scene 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 types matching a name pattern. Pass components_only=true to filter to Component subclasses only. Useful f 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 the current editor viewport as a PNG screenshot Read validate_project Validate that the project is ready for publishing. Checks: compile errors, metadata completeness, scenes, scri

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 8 destructive tools including clear_cave_path, clear_forest_pois, clear_terrain_features. 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 108 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? +

207 tools across 4 categories: Destructive, Execute, Read, Write. 57 are read-only. 150 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 207 Sbox tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

207 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.