roblox-studio

roblox-studio

Connects coding agents to Roblox Studio for inspecting, generating, and editing game maps via MCP.

Category
Visit Server

README

Skills

roblox-studio connects Claude Code, Codex, Cursor, Gemini CLI, and other coding agents to the place open in Roblox Studio.

The agent can inspect the hierarchy, draft a SceneSpec, create terrain and geometry, write scoped Luau, patch generated instances, mirror code to Rojo, validate the map, and coordinate playtests. Studio changes use Undo recording and new builds stay under Workspace/MapDrafts.

Prompt -> inspect -> SceneSpec -> dry run -> apply -> validate -> playtest

Roblox Studio cabin generated through the bridge

Install

Claude Code

The marketplace plugin includes the skill and starts the local MCP server:

/plugin marketplace add ShiroKSH/skills
/plugin install roblox-studio@skills

Codex

npx skills add ShiroKSH/skills -g
codex mcp add roblox-studio -- npx -y github:ShiroKSH/skills

Restart Codex after adding the MCP server.

Cursor, Copilot, Gemini CLI, and other hosts

Install the skill:

npx skills add ShiroKSH/skills -g

Add the bridge as a stdio MCP server:

{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "github:ShiroKSH/skills"]
    }
  }
}

Requirements: Node.js 20 or newer and Roblox Studio.

Install the Studio plugin

Clone the repository and run the installer:

git clone https://github.com/ShiroKSH/skills.git
cd skills
npm install
npm run install:plugin

The command builds dist/RobloxStudioBridge.rbxm with Rojo and copies it into the local Roblox plugins directory on Windows or macOS. The project pins Rojo in rokit.toml.

Manual fallback: run npm run build:plugin, then copy the .rbxm file into %LOCALAPPDATA%\Roblox\Plugins on Windows or ~/Documents/Roblox/Plugins on macOS.

Connect Studio

  1. Enable HTTP requests for the place.
  2. Open the Roblox Studio Bridge plugin panel.
  3. Keep host 127.0.0.1 and port 3765.
  4. Paste the token printed by the MCP server and select Connect.
  5. Run studio_ping from the agent.

The token is generated locally, is never a Roblox credential, is not persisted by the plugin, and is cleared from the panel after connection. Set ROBLOX_STUDIO_BRIDGE_TOKEN only when a stable local token is needed.

What the bridge exposes

  • Bounded hierarchy and property inspection.
  • SceneSpec map builds and graybox passes.
  • Terrain generation through Studio APIs.
  • Batched create, set, ensure, and delete operations inside managed roots.
  • Camera control and viewport raycast probes for visual checks.
  • Doors, buttons, elevators, teleporters, checkpoints, and scoped runtime scripts.
  • Geometry validation, map-readiness contracts, playtest requests, and Studio output.
  • Rojo projects under generated/rojo/<mapName> when codegen.target is rojo or both.

The full MCP tool list and protocol are documented in docs/protocol.md. SceneSpec fields are defined in docs/scene-spec.schema.json.

Map workflow

  1. Run studio_ping and inspect the relevant place hierarchy.
  2. Build a SceneSpec rooted at Workspace/MapDrafts.
  3. Run map_apply_scene_spec with dryRun=true.
  4. Review the target root, object count, touched services, scripts, filesystem writes, terrain, and risks.
  5. Apply with dryRun=false.
  6. Run map_validate on the returned map root with strict geometry enabled.
  7. Run map_readiness_check for playable builds.
  8. Inspect several camera angles, playtest interactions, read Studio output, and patch concrete failures.

Start with examples/simple-obby.scene.json for a minimal spec or examples/vertical-bazaar.scene.json for a layered map. Every apply writes a filesystem manifest under logs/manifests/ and a SceneManifest value under the generated map root.

Build evolution

These are cropped Roblox viewport frames from real iterations. Desktop chrome, chats, usernames, paths, tokens, and unrelated files are excluded.

V1 first pass V4 exterior pass
V1 night cabin V4 cabin exterior
V4 balcony V4 window and chimney
V4 balcony detail V4 window detail

Safety

  • The HTTP bridge binds to loopback only; the Studio plugin rejects non-loopback hosts.
  • Every plugin endpoint except minimal health status requires the shared token.
  • Poll credentials are sent in a POST body, not a URL.
  • Dangerous Luau execution is disabled by default and filtered again in Studio.
  • Deletes require DELETE_MAP_DRAFTS and remain limited to managed build roots.
  • External asset IDs require an explicit allowlist.
  • Command logs redact tokens, source, code, cookies, passwords, and confirmation values.
  • Studio changes use ChangeHistoryService recording with a waypoint fallback.

See docs/safety.md for the full boundary.

Final result

The same workflow can move from an early blockout to a connected, interactive Roblox place, then keep repairing it from validation and playtest feedback:

Latest playtest Latest station detail
Latest generated Roblox playtest Latest generated station detail

Development

npm install
npm run check
npm run validate:skill
npm run build:plugin

Pull requests receive automatic reviews from CodeRabbit, Qodo, and Sourcery. GitHub CodeQL scans JavaScript and TypeScript changes, while Dependabot opens grouped weekly dependency updates and immediate security-fix PRs. Automated suggestions still need to be verified against the tests and the Roblox Studio safety boundaries.

More detail: Contributing, Protocol, Safety, Troubleshooting, and Changelog.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured