dex-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEX_MCP_PORT | No | WebSocket hub port | 8392 |
| DEX_MCP_TOKEN | No | Shared token required by the bridge (auto-generated if not set) | |
| DEX_MCP_ENABLE_WRITE | No | Enable set_property | true |
| DEX_MCP_ENABLE_REMOTES | No | Enable remote calling/spying | true |
| DEX_MCP_RPC_TIMEOUT_MS | No | Per-request timeout in milliseconds | 15000 |
| DEX_MCP_ENABLE_RUN_LUAU | No | Enable run_luau | true |
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 |
|---|---|
| dex_statusA | Report whether the Roblox bridge is connected and basic game info (name, placeId, client version, capabilities). |
| get_rootA | Get the root instance (game, ref 0) and its top-level services. |
| get_childrenA | List the direct children of an instance by ref. Optionally filter by className. |
| get_propertiesA | Read the properties of an instance by ref. Property names come from the cached Roblox API dump when available. |
| searchA | Recursively search instances by name substring (and optional className), capped by limit. Defaults to 100 results. |
| get_sourceC | Read the Source of a Script/LocalScript/ModuleScript by ref, if readable. |
| get_by_pathA | Resolve a dotted instance path (e.g. game.Workspace.Part) to a node with a ref. |
| set_propertyA | Set a property on an instance by ref. The value is coerced to the property's declared Roblox type when known. |
| fire_remoteC | Fire a RemoteEvent (FireServer) with the given arguments. |
| invoke_remoteB | Invoke a RemoteFunction (InvokeServer) with the given arguments and return its result. |
| remote_spy_startB | Start logging outgoing remote traffic. Returns an error if the executor lacks the required hooks. |
| remote_spy_stopA | Stop logging remote traffic. |
| remote_spy_dumpB | Return the remote traffic captured since the spy started. |
| run_luauB | Execute arbitrary Luau in the Roblox client and return captured output plus a best-effort serialized return value. Power tool. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation: status overview, reading/writing properties, searching, executing code, and remote interaction. No overlapping purposes; fire_remote and invoke_remote clearly differentiate RemoteEvent vs RemoteFunction.
All tool names use consistent snake_case with a verb_noun structure (get_*, set_*, fire_remote, invoke_remote, run_luau, search). The remote_spy_* prefix uniformly groups spy operations. Only 'dex_status' uses a noun_verb format but it's a single exception.
14 tools is well-scoped for a Roblox debugging server, covering inspection, execution, remote manipulation, and monitoring without excessive overlap or missing critical capabilities.
The tool surface covers the full lifecycle of typical interactions: reading state (get_*, search), modifying state (set_property, run_luau), remote communication (fire, invoke, spy), and monitoring (status, spy). No obvious gaps for its intended domain.