robloxstudio-mcp
MCP ServerFreeCreate agentic AI workflows in ROBLOX Studio
Capabilities13 decomposed
mcp-based ai tool registration and schema exposure for roblox studio
Medium confidenceImplements a Model Context Protocol (MCP) server that registers 39 distinct tools (or 21 in inspector mode) as callable endpoints with JSON schemas, exposing them over stdio to AI assistants like Claude and Gemini. The RobloxStudioMCPServer class in packages/core/src/server.ts handles ListToolsRequestSchema and CallToolRequestSchema requests, dynamically loading tool definitions from TOOL_DEFINITIONS array and dispatching calls through a StudioHttpClient bridge. Tools are filtered at startup via getAllTools() or getReadOnlyTools() to enforce read-only vs read-write access policies.
Uses MCP protocol with UUID-tracked asynchronous request queuing to enable stateless AI assistants to coordinate with a stateful Studio plugin via HTTP polling, rather than requiring direct WebSocket or persistent connections. Dual-package architecture (full vs inspector) allows the same codebase to expose either 39 write-enabled tools or 21 read-only tools by filtering TOOL_DEFINITIONS at initialization.
Unlike REST-only integrations, MCP provides standardized tool discovery and schema validation, and unlike direct Studio plugin APIs, it works with any MCP-compatible AI client (Claude, Gemini, Codex) without client-specific adapters.
http bridge with uuid-tracked request queuing and polling-based response correlation
Medium confidenceImplements a localhost HTTP server (createHttpServer / BridgeService in packages/core/src/http-server.ts) on port 58741 that maintains an in-memory request queue and response map, keyed by UUID. When an MCP tool is called, the server enqueues the request; the Studio plugin polls /poll endpoint to fetch pending requests, executes them via Studio APIs, and posts results to /response endpoint. UUID tracking ensures responses are correctly correlated to requests even when multiple concurrent AI calls are in flight, enabling asynchronous coordination without WebSocket or persistent connections.
Uses UUID-keyed in-memory maps to decouple request enqueue (MCP side) from response retrieval (Studio plugin side), enabling the stateless polling pattern without requiring the plugin to maintain connection state. This is simpler than WebSocket but trades latency for robustness and simplicity.
Simpler than WebSocket-based bridges (no connection lifecycle management) and more reliable than direct IPC (works across process boundaries without OS-specific mechanisms), at the cost of polling latency.
dual-mode tool filtering with read-only inspector package
Medium confidenceThe robloxstudio-mcp-inspector package exposes only 21 read-only tools (vs 39 in the full package) by filtering TOOL_DEFINITIONS at startup using getReadOnlyTools(). Tools are tagged with category: 'read' or category: 'write' in the TOOL_DEFINITIONS array; the inspector package loads only 'read' tools, preventing any mutations (script edits, instance creation/deletion, property changes). This enables safe, read-only inspection of games without risk of accidental or malicious modifications.
Provides a separate npm package (robloxstudio-mcp-inspector) that filters tools at startup, exposing only read-only operations. This is simpler than runtime permission checks and allows developers to choose between full or safe mode at installation time.
Simpler than role-based access control (binary choice: full or read-only) and more secure than runtime filtering (enforced at startup, not bypassable), though less flexible for fine-grained permissions.
metadata and type introspection for roblox classes and properties
Medium confidenceProvides tools like GetClassMetadata and GetPropertyMetadata that return information about Roblox classes (Part, Model, Script, etc.) and their properties (type, default value, read-only status, etc.). These tools query the Studio's DataModel API to introspect class definitions and return structured JSON describing available properties, their types, and constraints. This enables AI to understand what properties are available on instances and what values are valid, reducing errors when setting properties or creating instances.
Queries the Studio's DataModel API to return live metadata about Roblox classes and properties, rather than relying on static documentation or hardcoded definitions. This ensures metadata is always current with the Studio version.
More accurate than static documentation (reflects actual Studio version) and more comprehensive than manual property lists (includes all properties and constraints), though requiring Studio to be running.
asynchronous request coordination with uuid tracking and concurrent request handling
Medium confidenceThe HTTP bridge maintains UUID-keyed request and response maps that enable the MCP server to handle multiple concurrent AI requests without blocking or losing response correlation. When an MCP tool is called, the server generates a UUID, enqueues the request, and returns immediately; the Studio plugin polls /poll, fetches the request by UUID, executes it, and posts the result to /response with the same UUID. The MCP server retrieves the response by UUID and returns it to the AI. This architecture allows the MCP server to be stateless and the Studio plugin to be event-driven, with no persistent connections required.
Uses UUID-keyed maps to decouple request enqueue from response retrieval, enabling stateless MCP server and event-driven Studio plugin without persistent connections. This is simpler than WebSocket-based coordination but trades latency for robustness.
Simpler than WebSocket-based bridges (no connection lifecycle management) and more reliable than direct IPC (works across process boundaries), though with higher latency than persistent connections.
lua-based studio plugin with http polling and routemap-based tool dispatch
Medium confidenceThe MCPPlugin.rbxmx Studio plugin (Lua code running inside Roblox Studio) implements a polling loop that periodically calls the /poll HTTP endpoint on localhost:58741, receives pending tool requests, dispatches them via a routeMap (a table mapping tool names to handler functions), executes the corresponding Studio API calls, and posts results back to /response. The plugin is stateless and event-driven, with no persistent connection to the MCP server, making it resilient to MCP server restarts.
Implements a stateless polling-based plugin architecture in Lua that does not require persistent WebSocket or IPC connections, making it resilient to MCP server restarts and simplifying deployment. The routeMap dispatch pattern allows tools to be added by simply registering new handler functions without modifying the core polling loop.
More resilient than persistent-connection plugins (survives MCP server restarts) and simpler to deploy than IPC-based bridges (no OS-specific setup), though with higher latency than direct API calls.
hierarchical instance querying and inspection with path-based traversal
Medium confidenceExposes tools like GetInstance, GetInstanceChildren, GetInstanceProperties, and DescribeInstance that allow AI to navigate the Roblox game hierarchy by path (e.g., 'Workspace/Baseplate/Part1') and inspect instance metadata, properties, and children. These tools use the Studio's DataModel API to traverse the object tree and return structured JSON describing instances, their properties, and their relationships. Path-based querying enables AI to understand game structure without loading the entire hierarchy into memory.
Uses path-based traversal (e.g., 'Workspace/Part1/SubPart') rather than instance IDs or GUIDs, making queries human-readable and debuggable. Returns structured JSON with full property dictionaries, enabling AI to reason about instance state without multiple round-trips.
More intuitive than ID-based queries (developers can read and debug paths) and more efficient than returning the entire game hierarchy at once (only fetches what is queried).
script editing and code generation with source replacement
Medium confidenceProvides tools like GetScript, SetScript, and InsertScript that allow AI to read Lua script source code from instances (LocalScripts, Scripts, ModuleScripts) and replace or insert new code. The SetScript tool takes an instance path and new source code, replacing the entire script source via the Studio API. InsertScript creates a new script instance at a given path with initial source code. This enables AI to generate, refactor, or debug Lua code directly within the game structure.
Enables full-source script replacement via MCP, allowing AI to generate and modify Lua code directly in the game structure without requiring manual copy-paste or external editors. Integrates with the Studio plugin's routeMap dispatch to execute SetScript and InsertScript handlers that call the Roblox API.
More integrated than external Lua editors (changes are immediately visible in Studio) and faster than manual copy-paste workflows, though without syntax validation or undo support.
instance creation and deletion with property initialization
Medium confidenceProvides tools like CreateInstance and DeleteInstance that allow AI to create new instances (Parts, Models, Scripts, etc.) at specified parent paths with optional initial properties, and delete instances by path. CreateInstance takes a parent path, class name (e.g., 'Part', 'Model', 'LocalScript'), and optional property dict (e.g., {Position: [0, 5, 0], Color: [1, 0, 0]}), and returns the path of the newly created instance. DeleteInstance removes an instance and its descendants by path. These tools enable AI to build game structure programmatically.
Allows AI to create instances with initial properties in a single call, rather than requiring separate property-setting calls. DeleteInstance recursively removes instances and their descendants, enabling bulk cleanup without multiple calls.
Faster than manual instance creation in the Studio UI (no clicking required) and more efficient than separate property-setting calls (batches initialization), though without validation or undo support.
property reading and writing with type coercion and validation
Medium confidenceProvides tools like GetProperty and SetProperty that allow AI to read and write instance properties (Position, Color, Size, Transparency, etc.) by instance path and property name. GetProperty returns the current value as JSON; SetProperty takes a path, property name, and new value, and updates the property via the Studio API. The tools handle type coercion (e.g., converting JSON arrays to Vector3) and basic validation (e.g., ensuring Transparency is between 0 and 1). This enables AI to modify instance appearance and behavior without creating or deleting instances.
Handles type coercion between JSON and Roblox types (e.g., arrays to Vector3, strings to Enums), allowing AI to work with JSON-serializable values without understanding Roblox's type system. Validates property ranges (e.g., Transparency 0-1) to prevent invalid states.
More flexible than bulk instance creation (allows fine-grained property modification) and more efficient than script-based property changes (direct API calls vs Lua execution).
creator store asset search and insertion via open cloud api
Medium confidenceIntegrates with the Roblox Open Cloud API (OpenCloudClient in packages/core/src/open-cloud-client.ts) to enable AI to search the Creator Store for assets (models, decals, audio, etc.) by keyword and insert them into the game. The SearchCreatorStoreAssets tool queries the Open Cloud API with a search term and returns matching assets with metadata (ID, name, description, thumbnail). The InsertCreatorStoreAsset tool inserts a selected asset into the game at a specified parent path. This enables AI to populate games with community-created assets without manual browsing.
Integrates the Roblox Open Cloud API directly into the MCP server, allowing AI to search and insert Creator Store assets without leaving the MCP interface. Abstracts away API authentication and response parsing, exposing a simple search-and-insert workflow.
More integrated than manual Creator Store browsing (AI can search and insert programmatically) and faster than downloading and importing assets manually, though dependent on Open Cloud API availability and credentials.
playtest execution and result collection with output capture
Medium confidenceProvides a PlaytestGame tool that launches a Studio playtest session, waits for completion, and collects output (print statements, errors, warnings) from the game's execution. The tool captures console output from the running game and returns it as structured JSON, enabling AI to understand game behavior and debug issues without manually reading the Output window. This enables AI to test game logic and iterate based on playtest results.
Captures playtest output (console logs, errors) and returns it as structured JSON, allowing AI to reason about game behavior without manually reading the Studio Output window. Enables closed-loop iteration: AI modifies code, runs playtest, analyzes output, and adjusts based on results.
More automated than manual playtesting (AI can test and iterate without human intervention) and more informative than static code analysis (captures runtime behavior), though with latency and determinism limitations.
build library asset management with metadata and versioning
Medium confidenceProvides tools like GetBuildLibraryAssets and InsertBuildLibraryAsset that allow AI to browse and insert pre-built game components (buildings, terrain, UI templates) from a local build library. The build library is a collection of .rbxm files with metadata (name, description, tags, version) stored in a JSON manifest. GetBuildLibraryAssets returns the list of available assets with metadata; InsertBuildLibraryAsset loads a selected asset file and inserts it into the game at a specified parent path. This enables AI to reuse pre-built components without creating them from scratch.
Maintains a local build library with JSON metadata, allowing AI to discover and insert pre-built components without manual browsing. Metadata includes tags and versions, enabling AI to choose appropriate components based on game design requirements.
More efficient than creating components from scratch (reuses tested, validated parts) and more flexible than hard-coded templates (library is user-customizable), though requiring manual maintenance of the library.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with robloxstudio-mcp, ranked by overlap. Discovered automatically through the match graph.
Gru Sandbox
** - Gru-sandbox(gbox) is an open source project that provides a self-hostable sandbox for MCP integration or other AI agent usecases.
octocode-mcp
MCP server for semantic code research and context generation on real-time using LLM patterns | Search naturally across public & private repos based on your permissions | Transform any accessible codebase/s into AI-optimized knowledge on simple and complex flows | Find real implementations and live d
Unity3d Game Engine
** - MCP Server to control and interact with Unity3d Game Engine for game development
@maz-ui/mcp
Maz-UI ModelContextProtocol Client
@voltagent/mcp-server
VoltAgent MCP server implementation for exposing agents, tools, and workflows via the Model Context Protocol.
mcp-security-hub
A growing collection of MCP servers bringing offensive security tools to AI assistants. Nmap, Ghidra, Nuclei, SQLMap, Hashcat and more.
Best For
- ✓Game developers using Claude or Gemini who want AI-assisted Roblox development
- ✓Teams building agentic workflows that need to manipulate Roblox game structure programmatically
- ✓Non-technical creators who want AI to handle repetitive Studio tasks
- ✓Developers building MCP servers that need to coordinate with desktop applications (Studio, Unreal, etc.)
- ✓Teams that want to avoid WebSocket complexity or persistent connection management
- ✓Scenarios where the client (Studio plugin) is stateless and pulls work on-demand
- ✓Game developers who want AI to analyze their game without risk of mutations
- ✓Teams using AI for code review or debugging (read-only inspection)
Known Limitations
- ⚠Requires Roblox Studio running locally — no cloud-based Studio support
- ⚠MCP protocol overhead adds latency per tool call (HTTP round-trip through polling mechanism)
- ⚠Tool set is fixed at startup — cannot dynamically add new tools without restarting the MCP server
- ⚠Inspector mode (read-only) is all-or-nothing — no fine-grained permission control per tool
- ⚠Polling introduces latency — default poll interval means requests may wait 100-500ms before execution
- ⚠In-memory queue is not persistent — if the MCP server crashes, pending requests are lost
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: Apr 17, 2026
About
Create agentic AI workflows in ROBLOX Studio
Categories
Alternatives to robloxstudio-mcp
Are you the builder of robloxstudio-mcp?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →