RoBridge is FREE — local Studio MCP, 24 tools, no Pro tier

RoBridge is FREE. All 24 tools. No Pro tier, no gated catalog, no paid SKU.

It is a local MCP server that lets an AI client (Cursor, Claude Desktop, Claude Code, VS Code Copilot) drive the place you have open in Roblox Studio — instances, scripts, lighting, terrain, UI, assets, camera, and playtests — plus a dashboard at http://127.0.0.1:3737. system_info reports tier: "free" because that is the only tier.


See it


What it is

AI agent  →  RoBridge (MCP stdio + http://127.0.0.1:3737)
                ├─ Studio plugin  →  your open place
                └─ local dashboard (browser)

You talk to the agent. The agent calls typed MCP tools. RoBridge’s Studio plugin applies those calls to the DataModel. The dashboard shows the live session, tool history, and a Luau console so you can see what actually happened.

It is not a hosted cloud service, and not Open Cloud. HTTP binds 127.0.0.1 only.

Server 0.1.6 · plugin 0.1.8 · 24 tools · MIT

Dashboard

Local UI at http://127.0.0.1:3737 — Overview first. Live topology (MCP client → this server → plugin session(s) → open place), every Studio session, tool registry by genre, uptime, port, versions. Activity / UI Studio / Console / Logs are the other tabs.

RoBridge dashboard Overview


Why FREE

A lot of Studio MCP kits split the catalog: a “starter” set in public, the rest behind a Pro SKU. RoBridge does not do that.

If a tool ships, you have it. Lighting, terrain, run_test, camera screenshot/record, UI, asset search + insert — the same list for everyone. There is no upgrade path because there is nothing left to unlock.


What you can do

The agent gets 24 typed tools, each with a real action catalog (create/query/set, not a single vague “do Studio stuff” endpoint). Same shapes on MCP tools/list and GET http://127.0.0.1:3737/api/tools.

Instances and scripts

  • Query and mutate the tree (query_instances, mutate_instances, manage_properties)
  • Read/write/search scripts, including line edits and a validator (manage_scripts)

World

  • Lighting, atmosphere, sky, mood (manage_lighting)
  • Terrain fill/replace/voxels (manage_terrain)
  • Physics, welds, collision groups (manage_physics)
  • Raycasts, placement, walkable scans (spatial_query)
  • Tweens, audio, animation, particles (manage_tween, manage_audio, manage_animation, manage_effects)

Studio loop

  • Selection, workspace snapshot, Output logs
  • Camera get/set/focus, screenshot, record
  • Creator Store search, then insert (manage_assets — never invent rbxassetid values)
  • UI trees plus click/type in PlayerGui (manage_ui)
  • Character / mouse / key input in Play (manage_input)
  • batch_execute for several calls in one request
  • execute_luau at plugin security (Edit mode only)

Playtesting you can actually trust

Prefer manage_studio action run_test over hand-rolling Play + logs + Stop:

  1. Stops leftover Play first
  2. Injects your Luau body
  3. Starts Play (F5) or Run (F8)
  4. Collects Output lines tagged [ROBRIDGE_TEST]
  5. Stops, writes a report, optionally attaches a short viewport clip
print("[ROBRIDGE_TEST] PASS")
-- or
print("[ROBRIDGE_TEST] FAIL expected SpawnLocation above ground")

That is the loop I want from an agent: change something a player can see, then prove it.

All 24 tools

query_instances · mutate_instances · manage_properties · manage_scripts · manage_ui · manage_lighting · manage_selection · manage_camera · manage_tween · manage_audio · manage_animation · manage_physics · manage_effects · manage_terrain · spatial_query · manage_assets · manage_sync · workspace_state · manage_logs · system_info · manage_studio · manage_input · batch_execute · execute_luau

Full action + param tables live in-repo: docs/tools.md.


Install (dummy-proof)

Not on npm as a published package. Clone, then one command. Requires Node 18+.

git clone https://github.com/Allusia1/RoBridge
cd RoBridge
npm install

npm install is enough: postinstall builds the server and runs init. Init copies the Studio plugin and writes Cursor / Claude Desktop / Claude Code / VS Code Copilot MCP configs (merge — your other servers stay). Spawn is the absolute Node binary plus absolute dist/index.js, so Dock/Start-menu apps do not fail because node is missing from PATH.

Re-run later:

npx robridge init      # plugin + MCP configs
npx robridge doctor    # checklist + exactly one next step

Then:

  1. Reload MCP in your client (Cursor: Settings → MCP). Fully quit Claude Desktop if you use it (it hides in the tray).
  2. Open Studio on the place you actually want to edit, or refresh Plugins. You should see a RoBridge toolbar button.
  3. Allow HTTP to 127.0.0.1 when Studio prompts. The plugin long-polls http://127.0.0.1:3737.
  4. For screenshots / recordings: File → Game Settings → Security → Allow Mesh / Image APIs.
  5. For playtests: Game Settings → Security → Allow HTTP Requests.
  6. Open the dashboard: http://127.0.0.1:3737. Place name visible = you are done.

You do not start node dist/index.js in a terminal. The MCP client spawns it.

Plugin destination:

  • macOS: ~/Documents/Roblox/Plugins/RoBridge.lua
  • Windows: %LOCALAPPDATA%\Roblox\Plugins\RoBridge.lua

MCP stdio (what init writes for you):

{
  "command": "/absolute/path/to/node",
  "args": ["/absolute/path/to/RoBridge/dist/index.js"]
}

Dashboard only, no agent: node dist/index.js --no-mcp.


vs official Studio MCP

Roblox shipped a first-party Studio MCP — originally as an open-source proof of concept, now built into Studio with scripts, assets, generation, playtesting, and quick-connect. That is the platform path. Use it.

RoBridge is the fat local toolkit + dashboard next to it:

Official Studio MCP RoBridge
Where it lives Built into Studio Local Node process + plugin
Setup Quick connect / Studio MCP binary npm install writes plugin + client configs
Watch the session Studio MCP panel Local dashboard on :3737
Catalog shape First-party tools (including generation) 24 typed tools, many actions each
Playtests Studio play tools / playtest subagent run_test (inject Luau, collect [ROBRIDGE_TEST], report)
Price First-party Free. Every tool.

They can coexist. Two MCP servers, one Studio session. Reach for official when you want Studio-native generation and first-party tools. Reach for RoBridge when you want the dashboard, the typed action catalog, dummy-proof install, and a playtest that prints PASS or FAIL.


Requirements / limits

  • Node 18+, Roblox Studio, an MCP client (Cursor, Claude Desktop, Claude Code, VS Code Copilot; other stdio clients work with the same spawn).
  • Local only. Binds 127.0.0.1. Not reachable from other machines.
  • One process owns :3737. Extra clients (Cursor + Claude at once) forward to that owner and share the same Studio session. Not a multi-Studio router — keep the place you care about open.
  • InsertService: search, then insert an assetId from those results. Asset must be free or owned by the logged-in Studio user.
  • No Open Cloud. upload_asset is Studio AssetService:CreateAssetAsync (confirm=true). There is no API-key upload pipeline.
  • execute_luau is Edit-only (plugin loadstring). In Play, use run_test / play agents, or play_stop first.
  • CaptureService: one in-flight screenshot/record; Mesh / Image APIs must be on.
  • This is not a published experience. The product is the local MCP bridge.

Honest constraints are in-repo: docs/limits.md.


Links

  • Source: https://github.com/Allusia1/RoBridge
  • Dashboard (after the client has spawned the server): http://127.0.0.1:3737
  • Docs live in the repo (no separate site): docs/install.md, docs/mcp.md, docs/playtesting.md, docs/dashboard.md, docs/tools.md, docs/troubleshooting.md, docs/limits.md

License: MIT.


FAQ

Is any of this paid?
No. 24 tools, all free, no Pro tier.

Is it on npm?
Not as a published package. Clone the repo, then npm install.

Can I run it next to Roblox’s Studio MCP?
Yes. Add both servers in your client.

Does it need Open Cloud keys?
No. Local plugin bridge only.

Cursor and Claude at the same time?
Yes. The first process binds :3737; the second forwards. Same Studio session, same dashboard.

The agent says “no Studio session”.
Open the place in Studio with the plugin loaded, click Allow for HTTP to 127.0.0.1, then run npx robridge doctor.

Can I paste MCP JSON by hand?
You should not have to for Cursor, Claude Desktop, Claude Code, or VS Code Copilot. Init writes it. Fallback JSON is in docs/mcp.md.


If you already use an MCP client and Studio, clone it, run npm install, reload MCP, Allow HTTP, and tell the agent to create a Part in Workspace. If it appears, the loop works. If it does not, npx robridge doctor prints one next step.

Feedback, bugs, and PRs welcome on GitHub once you have it running. Builders helping builders — that is the whole point of shipping this without a paywall.

2 Likes

Why would I pick this over the local, FREE, 28 Tool, no pro tier roblox MCP server that does the same thing but will have a higher chance of being updated? What does this differ in a better way? Also I wont take the dashboard as an answer. Its pure AI eye candy which from the looks of it doesn’t let you manage anything special.

6 Likes

If you’re talking about roblox-mcp-pro, yeah same idea, local, free, no Pro. They’ve got more tools.

Difference is Play. They can build the UI. This one can actually click it, type in it, scroll it, walk up and press the button, then run_test and tell you pass/fail. That’s why I’d use this.

1 Like

Also does it include a tool that automatically replies to devforum messages? Could be pretty useful. Also what did you link that to? Not the official one but some random fork? And the roblox mcp server does the exact same thing you listed. It can play, move, run tests, click UI, no difference.
Bro do you guys even do research on the topic you’re going to vibecode on lol

How many ai generated mcp servers do we need :sob:

This is like the 5th one ive seen

2 Likes

Fork fork fork the forks just keep coming !

1 Like

just use an existing mcp fork with more support. don’t see a compelling reason for this to exist when existing mcps already cover what they’re showing as differentiating features.
what’s the actual thing this does that existing solutions can’t?

useless ai slop software lol. just wasting peoples time with this useless stuff instead of making tools people would actually need, not just the same tool over and over again and slapping a price tag on it