Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROBLOX_TIMEOUT_MSNoPlugin wait timeout30000
ROBLOX_BRIDGE_PORTNoBridge start port (probes +0…+9 on conflict)8090
ROBLOX_MCP_API_KEYNoKey for x-api-key (plugin: _G.MCP_SetApiKey)
ROBLOX_STUDIO_PATHNoPath to RobloxStudioBeta.exe if auto-detect fails

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
studio_statusA

Check if Roblox Studio is running, its PIDs, exe path and version.

studio_launchB

Launch Roblox Studio (optionally opening a local .rbxl/.rbxlx file or a published place). No plugin required.

studio_open_placeB

Open a place in Roblox Studio: either a local .rbxl/.rbxlx file or a published placeId+universeId.

studio_closeA

Close all running Roblox Studio instances (taskkill).

studio_list_placesB

List local .rbxl/.rbxlx place files in common folders (or given dirs).

bridge_statusB

Check HTTP bridge status and whether the Studio plugin is connected.

execute_luauA

Execute arbitrary Luau code inside Roblox Studio (Command-Bar equivalent, with undo support). Return value / prints are captured. This unlocks EVERYTHING: Toolbox, tools, services, physics, etc. Multi-line allowed.

get_sceneA

List scene tree (descendants) from a root with ClassName/Name/Path. Use for viewing the scene, finding GUI, checking builds.

get_instanceB

Get properties of one instance by dotted path (e.g. 'Workspace.SpawnLocation').

create_instanceB

Create any Instance (Part, Model, Folder, PointLight, SelectionBox, etc.) with optional parent, name and properties. Values support Roblox types via {__type:'Vector3'|'Color3'|'UDim2'|'CFrame'|'BrickColor', value:...} or plain JSON.

set_propertyC

Set a single property on an instance (e.g. Workspace.Part Anchored=true, Color, Position).

set_propertiesC

Set multiple properties on an instance at once.

delete_instanceC

Delete an instance by path.

rename_instanceC

Rename an instance.

reparent_instanceC

Move an instance to a new parent.

duplicate_instanceC

Duplicate (clone) an instance, optionally with a new name.

get_selectionB

Get current Studio selection (paths).

set_selectionC

Set Studio selection to given instance paths.

list_scriptsB

List all Script/LocalScript/ModuleScript under a root (default game).

read_scriptB

Read Source of a script by path (e.g. 'ServerScriptService.MyScript', 'Workspace.Part.Script').

write_scriptC

Overwrite Source of an existing script.

create_scriptC

Create a new Script/LocalScript/ModuleScript with source code.

delete_scriptC

Delete a script by path.

grep_scriptsC

Search script sources for a Lua pattern / substring.

get_outputC

Get recent Studio Output log lines captured by the plugin.

clear_outputB

Clear the plugin-captured output buffer.

play_soloA

Start Play Solo playtest (F5). Agent can then check behavior via get_output / get_play_state / execute_luau.

run_gameA

Start Run mode (F8, server-only simulation without player).

stop_playtestB

Stop any running playtest / Run mode.

get_play_stateA

Get current playtest state (isPlaying, isRunning, mode).

create_guiB

Build GUI quickly: creates ScreenGui (in StarterGui) with nested elements (Frame/TextButton/TextLabel/ImageLabel...). Each child: {className, name, properties, children}.

insert_assetC

Insert a Toolbox/model asset by numeric asset ID into the game (InsertService:LoadAsset). E.g. free models, meshes.

save_placeC

Save the current place (to its file). Optionally pass filePath hint for logging.

get_cameraA

Get current Studio camera (CFrame components, Focus, FieldOfView).

set_cameraB

Move Studio camera (position+focus as {x,y,z} or CFrame table, fov number).

get_lightingA

Get key Lighting properties (ClockTime, Brightness, Ambient, etc.).

set_lightingC

Set Lighting properties (ClockTime, Brightness, Ambient, OutdoorAmbient, FogEnd, ...).

get_workspace_infoA

Get Workspace stats: child count, part count, gravity, streaming, place name.

undoB

Undo last Studio change (ChangeHistoryService).

redoB

Redo last undone Studio change.

toolbox_searchA

Search the Roblox Toolbox/catalog for models, meshes, images, etc. Returns asset IDs you can pass to insert_asset. No plugin required.

toolbox_infoB

Get details for catalog asset IDs (name, type, creator, description). No plugin required.

bulk_createA

Create MANY instances in ONE call (one undo step, one roundtrip). Each item: {className, name?, parent?, properties?}. Building a whole room in a single call.

find_instancesA

Search the whole game by name and/or class: 'all Scripts with Boss in the name'. Faster than dumping the full scene.

get_childrenB

List direct children of one instance (shallow: Name/ClassName/Path).

playtestA

FULL playtest in ONE call: starts Play Solo (or Run), waits N seconds, captures Output + play state, stops, returns the report. The core of the agent debug loop.

get_performanceA

Read live Studio performance stats (FPS, frame time, physics, contacts, memory). Diagnose 'weak laptop' vs real bugs.

teleport_playerA

Teleport a playtest character to a position (testing checkpoints, boss rooms, mazes without walking).

respawn_playerB

Force-respawn a playtest character (tests spawn logic, retry buttons).

kill_playerA

Kill a playtest character (tests death screens, respawn, Entity kills).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 50 tools

Disambiguation3/5

Many tools target distinct operations, but overlaps exist: execute_luau can replicate nearly all mutation tools; playtest overlaps with play_solo/run_game/stop_playtest/get_play_state; create_instance vs bulk_create vs create_gui blur creation boundaries. Descriptions help, but an agent could easily misselect.

Naming Consistency4/5

Nearly all tools use snake_case and follow a verb_noun pattern (create_instance, set_property, get_play_state). Minor deviations exist: noun-first names (bridge_status, toolbox_search), bare verbs (undo, redo, playtest), and mixed prefixes (studio_, toolbox_).

Tool Count2/5

50 tools is excessive for the domain; many granular tools could be consolidated (e.g., create_instance/bulk_create/create_gui, multiple playtest controls). While the domain is broad, this count burdens selection and suggests over-provisioning.

Completeness4/5

Covers the major lifecycle: Studio launch/open/close, scene CRUD, scripting, GUI, asset insertion, lighting, camera, playtest, performance, player control, and undo/redo. Minor gaps like direct input simulation or place publishing exist, but execute_luau provides an escape hatch for most missing operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues