Roblox Studio MCP Server
Enables AI tools to read the Roblox Studio game tree, edit scripts, insert models, and run playtests via the Studio MCP interface.
README
RobloxUI CLI
Scaffold a Roblox project and connect it to Roblox Studio in minutes. robloxui init creates a Roblox-TS or Luau/Wally project pre-wired with Rojo, a mise-pinned toolchain, a minimal player spawn, and the Roblox Studio MCP server for AI tools. Marketplace components (robloxui.pencicta.com) can be added later with robloxui add.
Quick start
npx robloxui init
Answer the prompts (project name, flavor, theme), then:
cd my-game
npm run dev # compiles and syncs into Studio
In Roblox Studio: open game.rbxl in the project folder → Rojo plugin → Connect → press Play.
That's it — a playable place with a spawn and an empty client mount, ready for UI.
robloxui init
Scaffold an empty Roblox-TS or Luau/Wally project with a minimal player spawn, pre-wired for RobloxUI components, toolchain, and Studio connection.
robloxui init --name my-game --flavor roblox-ts --yes
robloxui init --name . --flavor luau-wally --yes # scaffold in cwd
robloxui init --name my-game --flavor roblox-ts --yes --theme # include the theme
| Option | Description |
|---|---|
-y, --yes |
Non-interactive (requires --name + --flavor) |
--name <dir> |
Project folder name, or . for current dir |
--flavor <f> |
roblox-ts or luau-wally |
--skip-install |
Skip dependency install / theme setup |
--no-bootstrap |
Do not install missing mise automatically |
--theme |
Include the RobloxUI theme in the scaffold |
--no-theme |
Scaffold without the theme |
Creates: Rojo config, mise.toml toolchain pins, the standard DataModel services (Lighting, ServerStorage, SoundService, StarterGui, StarterPack, StarterCharacterScripts), a minimal player spawn, empty client mount, src/shared + src/server folders, and a game.rbxl place file. The RobloxUI theme is opt-in: pass --theme (or answer the prompt) to also wire the canonical robloxui/theme tokens. Init bootstraps mise with the official installer when needed.
Existing projects are inspected without replacing custom Rojo mappings. Non-interactive mode refuses ambiguous flavor or target input.
Connect to Roblox Studio
One-time setup
- Run
npx robloxui init— mise and pinned tools are bootstrapped automatically - Install the Rojo Studio plugin (Roblox Studio → Plugins → search "Rojo")
Roblox-TS workflow
Run one command in your project:
npm run dev # compiles and syncs into Studio
| File | Role |
|---|---|
rojo.json |
Maps out/client → StarterPlayerScripts, npm packages → ReplicatedStorage |
src/client/ |
Your TypeScript source |
out/client/ |
Compiled Luau (created by npm run watch) |
In Studio: open game.rbxl → Rojo plugin → Connect → press Play.
Luau / Wally workflow
npm run dev # installs/syncs the Wally project into Studio
| File | Role |
|---|---|
default.project.json |
Rojo project file for Wally layouts |
wally.toml |
Project metadata for Wally (theme ships bundled, no dependency) |
Packages/RuiTheme/ |
Vendored theme (created by init / robloxui add) |
src/client/init.client.luau |
Client bootstrap |
For your own (non-RobloxUI) Wally packages, add them to wally.toml and run
wally install — the RobloxUI theme itself ships bundled and needs no dependency.
Studio MCP (AI tools)
Init can wire the Roblox Studio MCP server into your AI tool (opencode.json,
.mcp.json, .cursor/mcp.json, or .vscode/mcp.json). Enable it once in Studio:
Assistant → ⋯ → Manage MCP Servers → Enable Studio as MCP server — then your
agent can read the game tree, edit scripts, insert models, and run playtests.
Prerequisites
- Node.js ≥ 20.12 (required by the CLI test/build toolchain)
- mise is bootstrapped with the official installer when it is not on PATH
- Rojo CLI + Rojo Studio plugin
- Wally — Luau projects only
When bootstrap is disabled, run mise install in the project to install the pinned tools.
Everything else
The sections below cover the marketplace workflow — installing components, authentication, browsing the catalog, and troubleshooting. Skip them until you need more than the scaffold.
Authentication
Run robloxui login once. Two flows:
robloxui login # browser device flow (recommended)
robloxui login --token <key> # manual API key (CI / headless)
The browser flow prints a short code — open the URL, approve, done. Your token is saved to ~/.config/robloxui/config.json (Linux/macOS) or %APPDATA%\robloxui\config.json (Windows).
CI / headless machines: generate a key at Dashboard → Developer, then paste it.
robloxui whoami # check who you're logged in as
robloxui logout # remove saved token
Limits — Free users get 2 downloads/day. Pro subscribers get unlimited everything. See https://robloxui.pencipta.com/pricing.
robloxui add <slug...>
Install one or more components.
robloxui add primary-button
robloxui add button card dialog --yes # non-interactive (CI)
robloxui add button --theme # also install the theme package
| Option | Description |
|---|---|
-y, --yes |
Accept all defaults |
--force |
Overwrite existing files |
--path <dir> |
Override install directory |
--theme |
Also install the RobloxUI theme package |
--no-theme |
Skip the theme package |
The CLI will:
- Preflight slug, authentication, target, flavor, package manager, and tools before network or writes
- Detect your project type (
rojo.json→ Roblox-TS,wally.toml→ Luau) - Prompt for install path (default:
src/client/ui/components/) and whether to install the theme - Fetch the component source + metadata from the API
- Stage and validate all files; conflicts stop by default (
--forceis explicit) - Write source and, when requested, install the theme transactionally
robloxui list / robloxui search
robloxui list # browse all components
robloxui search dialog # search by name/description
robloxui list --framework tsx # filter by framework
robloxui list --category buttons --limit 20
| Option | Description |
|---|---|
--framework <f> |
tsx, luau, or both |
--category <name> |
Filter by category |
--limit <n> |
Max results (default 30, max 100) |
robloxui info <slug>
robloxui info primary-button
Prints: framework, category, dependencies, theme tokens, usage example, and the exact robloxui add command.
Project detection
| Detected | Theme install method (only with --theme or prompt) |
|---|---|
rojo.json |
npm install robloxui (ships the robloxui/theme subpath) |
wally.toml |
Vendors bundled RuiTheme into Packages/ |
| Neither | Manual project type selection |
The theme is never installed automatically: non-interactive runs skip it, interactive runs ask. Components run standalone because they embed their own design tokens.
Troubleshooting
Every CLI failure prints a recovery hint (retry + manual command + preserved paths). Common fixes:
| Problem | Fix |
|---|---|
login fails with "invalid_token" |
Token expired or revoked. Run robloxui login again |
add says "daily limit reached" |
Free tier: 2/day. Upgrade to Pro: https://robloxui.pencipta.com/pricing |
add says "Pro component" |
Requires a Pro subscription. Run robloxui info <slug> to check |
| Pro component returns no source | Sign in first (robloxui login) — Pro access is tied to your account |
| Rojo won't connect | Ensure npm run dev is running in the project root |
| Nothing in Play mode (Roblox-TS) | Keep npm run dev running so out/client/ is compiled and synced |
RuiTheme not found (Luau) |
You opted into the theme but it is missing: re-run npx robloxui add <slug> --theme (or npm install robloxui for Roblox-TS) |
| Want the canonical theme later | npm install robloxui (Roblox-TS) or re-run add with --theme (Luau vendors Packages/RuiTheme/) |
| UI doesn't appear | Press Play, not Edit — scripts run under StarterPlayerScripts |
Links
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.