@tranhadev/scriptbridge-mcp
v0.3.0
Published
MCP server that exposes ScriptBridge (Roblox automation bridge) as tools for Claude CLI/Desktop and other MCP-compatible AI clients.
Downloads
387
Maintainers
Readme
@tranhadev/scriptbridge-mcp
MCP server exposing ScriptBridge (Roblox Luau automation bridge) as tools for MCP-compatible AI clients: Claude CLI, Claude Desktop, Cursor, Continue, etc.
You keep the ScriptBridge server closed-source — this client is just a thin HTTP wrapper so AI can drive your bridge without ever seeing its code.
Install
npm i -g @tranhadev/scriptbridge-mcpOr run directly with npx — no install needed:
npx @tranhadev/scriptbridge-mcpAuthenticate
Either set a long-lived token (get it from ScriptBridge → Account → API token):
BRIDGE_URL=https://bridge.yourdomain.com
BRIDGE_TOKEN=eyJhbGci...Or username/password (server will exchange for a JWT on startup):
BRIDGE_USER=yourname
BRIDGE_PASS=yourpassClaude CLI / Desktop setup
Add to ~/.claude/claude_desktop_config.json (Desktop) or ~/.config/claude/config.json (CLI):
{
"mcpServers": {
"scriptbridge": {
"command": "npx",
"args": ["-y", "@tranhadev/scriptbridge-mcp"],
"env": {
"BRIDGE_URL": "https://bridge.yourdomain.com",
"BRIDGE_TOKEN": "eyJhbGci..."
}
}
}
}Restart Claude. You should now see 15 bridge_* tools available.
Tools
| Tool | What it does |
|---|---|
| bridge_list_devices | See connected Roblox clients |
| bridge_exec_lua | Run Lua on a device, get return value |
| bridge_explore_tree | Browse instance hierarchy |
| bridge_get_properties | Read an instance's properties |
| bridge_read_game_script | Cat a decompiled script |
| bridge_search_game_scripts | Substring grep across decompiled |
| bridge_query_scripts | FTS5 search |
| bridge_query_instances | Filter indexed instances by class/name/path |
| bridge_query_remotes | List RemoteEvents/RemoteFunctions |
| bridge_semantic_search | Vector RAG search |
| bridge_trace_call_chain | Trace where a remote is invoked |
| bridge_game_overview | Indexed game summary |
| bridge_list_game_data | All games with stored data |
| bridge_start_bulk_decompile | Kick off a bulk decompile on live device |
| bridge_save_instance | Dump full place to .rbxlx |
Typical flow (AI prompting itself)
"auto-select slot A in Attack on Titan Revolution"
bridge_list_devices→ pick the online onebridge_list_game_data→ see if the game is indexedbridge_query_scriptsorbridge_search_game_scripts→ find the slot-select logicbridge_read_game_script→ read the relevant scriptbridge_exec_lua→ iterate probes on the live device- Once verified, emit a final
bridge_exec_luawith the final script
License
MIT
