RoBridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROBRIDGE_PORT | No | Dashboard + plugin bridge port | 3737 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query_instancesA | Query instances in the Roblox place. Prefer a typed action over execute_luau. Actions: get, children, descendants, ancestors, find_child, find_descendant, wait_for_child, search_class, search_name, search_property, search_tag, class_info, file_tree (nested outline), project_structure (service/script counts). Paths: 'game.Workspace.Model.Part' or 'Workspace/Model/Part'. Prefer rbId (from a prior summary) over path when both are set — names like Part are not unique. Aliases: childName/descendantName/query→name, root→path, propertyName→property, id→rbId. |
| mutate_instancesA | Create, delete, clone, move, rename, or pivot instances. Also: create_with_props (create+properties), create_tree (nested hierarchy in one waypoint), mass_create, mass_delete, mass_duplicate, smart_duplicate (N copies with offset), scatter (ray-snap clones onto ground in a region). Property values: numbers/strings/booleans, Vector3 [x,y,z], CFrame [x,y,z] or 12 numbers, Color3 hex '#ff0000' or [r,g,b] 0-1, UDim2 [xs,xo,ys,yo], enum strings like 'Enum.Material.Neon'. |
| manage_propertiesB | Get/set properties, attributes and tags. Actions: get, get_all, set (property + value), set_many/set_multiple (properties map — also used if you pass action 'set' with a properties map and no property), get_attributes/get_attr/get_all_attrs, set_attribute/set_attr, delete_attr, get_tags, add_tag, remove_tag, check_tag, get_tagged, set_relative (add/subtract/multiply/divide via operation, or plain delta), set_calculated (evaluate a math expression with variables that may be values or instance property paths), mass_set, mass_get, modify_children (set props on matching children). |
| manage_scriptsA | Work with Script/LocalScript/ModuleScript sources. Actions: get_source, set_source, create, delete, list, search, replace (substring across scripts), edit_lines, edit_replace (find/replace in one script), edit_insert (insert at line), edit_delete (delete line range), validate (loadstring syntax check of a script path or raw source), get_dependencies (require() targets and services a script references). Prefer these over execute_luau for script edits. |
| manage_lightingA | Inspect or change Lighting and environment. Actions: get, set/lighting (Lighting properties), set_time/time (clockTime 0-24 or time 'HH:MM:SS'), atmosphere (get/set Atmosphere, createIfMissing), sky, terrain_props (Terrain water/visuals), mood (preset: day/night/sunset/foggy/horror plus optional overrides), add_effect, clear_effects. Do not invent skybox asset IDs. |
| manage_cameraA | Control the Studio viewport camera. Actions: get/info, set, focus/focus_path, focus_position (look at a world point), suggest (recommended views for a target or the selection — does not move the camera), zoom_extents, screenshot, record, record_stop. screenshot captures the Edit-mode viewport via Roblox CaptureService (works even if Studio is in the background). record captures a short viewport clip (CaptureService frame burst → Node stitch). CaptureService allows only one in-flight shot and typically lands around 1.5–2 fps; that cap is expected. record_stop aborts an in-flight recording. Requires File → Game Settings → Security → Allow Mesh / Image APIs. |
| manage_effectsA | Add visual effects to parts. Actions: create (ParticleEmitter, Fire, Smoke, Sparkles, Trail, Beam, PointLight, SpotLight, SurfaceLight, Highlight), remove/clear, list, emit (ParticleEmitter:Emit), toggle (Enabled). |
| manage_physicsC | Physics helpers. Actions: anchor / unanchor, set_collide, weld, get_mass, set_physical_properties, create_constraint, register_group, set_collidable, get_groups (PhysicsService collision groups). |
| manage_terrainB | Edit Terrain. Actions: fill_block, fill_ball, fill_cylinder, fill_wedge, clear, clear_region (center+size or region {min,max}), clear_bounds (min+max), replace_material (fromMaterial→material), colors_get / colors_set (per-material terrain colors), read_voxel (position), read_voxels / write_voxels (bulk region voxels), generate (procedural fBm terrain with presets mountains/hills/plains/dunes/islands/canyon), smooth (blur occupancy in a region), get_info. Regions: {min:[x,y,z], max:[x,y,z]}. Materials: Grass, Sand, Rock, Water, Snow, Mud, Asphalt, Basalt, Brick, Cobblestone, Concrete, CrackedLava, Glacier, Ground, Ice, LeafyGrass, Limestone, Pavement, Salt, Sandstone, Slate, WoodPlanks. |
| spatial_queryA | Spatial queries in workspace. Actions: raycast (filterList/filterType/ignoreWater), multi_raycast (rays[], max 50), in_radius, in_box, ground_height/find_ground (position or x/z), check_placement (is a box placeable at position), scan_area (heightmap grid), find_flat (flat build spots), find_spawn (clear spawn positions), analyze_walkable (walkability grid), spatial_map (all BasePart/Model positions), find_space (empty spot for a box), bounds (one path or paths[]), snap_grid (snap an instance pivot to a grid), collision. Areas: searchArea/area/region are {min:[x,y,z], max:[x,y,z]}. |
| manage_tweenA | Animate properties with TweenService (plays live in the Studio viewport). Actions: create (build a tween without playing; returns tweenId), play (tweenId from create, or path+goal to create-and-play), pause, resume, cancel/stop_all. pause/resume/cancel accept tweenId or affect all tracked tweens. goal/properties map e.g. {"Position": [0,10,0], "Transparency": 0.5}. |
| manage_audioA | Manage Sound instances. Actions: create (soundId number or 'rbxassetid://...' — do not invent IDs), play, pause, resume, stop, stop_all, list, set, set_listener (SoundService listener: Camera, CFrame, ObjectPosition, or ObjectCFrame). Prefer user-provided or search-accepted asset IDs. |
| manage_animationA | Manage animations. Actions: create (Animation with animationId — do not invent IDs), list, load (load onto a rig without playing), play, stop, stop_all, get_tracks (tracks on a rig). Prefer user-provided or search-accepted animation IDs. |
| manage_uiA | Create, inspect, preview, and interact with Roblox UI. Actions: design_brief (plan a UI from a text brief; set create=true to build it), create_tree, update, list, inspect, list_interactive, preview (clone into CoreGui in Edit), hide_preview, click (VirtualInput / attribute click — PlayerGui during playtest, StarterGui in Edit), type_text, scroll (ScrollingFrame CanvasPosition — PlayerGui during playtest, StarterGui in Edit), get_abs, check, delete. |
| manage_selectionA | Get or set the Studio selection. Actions: get, set (paths array), add, remove, clear, details (selection + common properties, optional maxDepth descendants + includeAncestors), cached (last known selection without a Studio round-trip; maxAge ms), context (selection with script source, properties, and children), watch (install a selection-change watcher; call again to collect changes). |
| manage_studioA | Studio-level operations. Actions: get_mode, play_status, play_start (F5 Play or F8 Run), play_stop, play_pause, play_resume, run_test (inject Luau, play, collect [ROBRIDGE_TEST] logs, stop, write report; auto-records a short viewport clip unless record=false), toggle_ui_preview (StarterGui.ShowDevelopmentGui), test_profile_get/set/reset (Player Emulator — no public API; returns manual_required with instructions), experience_language_get (locale info) / experience_language_set (manual_required), undo, redo, set_waypoint, save_prompt. After adding a player-facing feature (UI, clicks, shop, movement, leaderstats), playtest with run_test or play_start before reporting done. Prefer run_test over manually sequencing play_start + logs + play_stop. Viewport clips: manage_camera.record, or run_test (attaches clip metadata). |
| manage_inputA | Simulate input. In playtest: walk_to (Humanoid:MoveTo a path/position), click_world (VirtualInput at a 3D instance screen pos), walk_and_click (walk then click — use this to verify world clicks), click_at (viewport pixels), click_path (PlayerGui GuiButton), key, type_text. Clicks use UserInputService:CreateVirtualInput, not VirtualInputManager. In edit: click_path uses VirtualInput plus a LastClick attribute on the ScreenGui. |
| manage_logsA | Read the Roblox Studio output log (captured by the plugin via LogService; play-mode logs come from the play agent). Actions: get (recent entries, optional levelFilter: Print/Warning/Error, containsFilter, since unix-seconds cursor), errors (Error-level only), clear. |
| workspace_stateA | Snapshot of the place. Actions: summary (place info, top-level services, selection, camera), counts (instance counts by ClassName under a path), sync (hierarchy outline + metadata + change stats), snapshot (instance tree under a path, maxDepth), changes (recent added/removed instances — installs a watcher on first call), clear_history (reset the change log), viewport (camera + viewport size + selection bounds), metadata (place ids, counts, timestamps), scripts (all script paths with line counts), selection_info (selection with bounds), clear_cache (drop watchers and cached plugin state). |
| system_infoA | RoBridge + Studio status. No action (or action=info) returns the full snapshot. Actions: ping (latency), connection (edit/play sessions), place_info, services (DataModel services), usage (per-tool call statistics for this server session), preflight (read-only Studio diagnostics: mode, publish status, HttpService, loadstring, Mesh/Image APIs — with fix instructions). |
| manage_syncA | Sync between Studio and the local filesystem. Actions: export_scripts (dump every script source under a path to ./sync// on disk), status / status_current_place (place + sync dir + last export), history (recent sync operations), directions (get or set per-type sync directions), read_file (read a synced script file by instancePath), write_file (write content to the synced file AND apply it to the Studio script), progress (last export stats). |
| manage_assetsA | Roblox Toolbox/Creator Store assets plus a local asset library. ALWAYS search first, then insert using an assetId from those results — never invent or hardcode IDs. Actions: search (keyword/query + assetType), preview / info (metadata for a search-result assetId), insert / insert_free / insert_package (assetId into parentPath), search_insert (search then insert the first match), export_selection_json (JSON snapshot of the Studio selection), export_selection_rbxm / export_path_rbxm (serialize selection or a path into the local ./asset-library as a re-importable asset), import_rbxm (rebuild a library asset in Studio), review_model (QA a model: anchoring, PrimaryPart, naming, size, expected groups; readiness verdict), generate_model (Roblox GenerationService, if this Studio has access), upload_asset (AssetService:CreateAssetAsync — requires confirm=true), generate_thumbnail (render a library asset to a PNG thumbnail). |
| execute_luauA | Run arbitrary Luau code in Roblox Studio (plugin security level, Edit-only). During Play use manage_studio.run_test / play agents instead — plugin loadstring is unavailable in Play. The code may |
| batch_executeA | Run several RoBridge tool calls in one request as a single undo waypoint. Each command is {tool, args}. Stops on first error unless continueOnError is true (stopOnError is the inverse alias). Nested batch_execute is rejected. Prefer this over many round-trips for related mutations. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Allusia1/RoBridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server