Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Chrrxs/robloxstudio-mcp/llms.txt

Use this file to discover all available pages before exploring further.

The asset tools let an AI agent browse the Roblox Creator Store, inspect and preview individual assets, insert them directly into a live Studio session, upload new content to Roblox, and even generate entirely new 3D models from text or image prompts using Roblox’s GenerationService. Together they cover the full asset lifecycle — discovery, evaluation, placement, and publishing — without leaving the MCP tool surface.
search_assets and upload_asset (for non-Decal types) require a valid ROBLOX_OPEN_CLOUD_API_KEY environment variable. Decal uploads also accept a ROBLOSECURITY cookie as a fallback. Set ROBLOX_CREATOR_USER_ID or ROBLOX_CREATOR_GROUP_ID to establish ownership for uploads and AI model generation that requires image upload.

search_assets

Search the Creator Store (Roblox marketplace) for assets by type and optional keywords. Results include asset IDs, names, creator info, and voting data that you can pass directly to other tools such as get_asset_thumbnail or insert_asset.
assetType
string
required
The category of asset to search. One of: Audio, Model, Decal, Plugin, MeshPart, Video, FontFamily.
query
string
Search keywords. Leave empty to browse top/trending results for the category.
maxResults
number
Maximum number of results to return. Defaults to 25.
sortBy
string
Sort order for results. One of: Relevance (default), Trending, Top, AudioDuration, CreateTime, UpdatedTime, Ratings.
verifiedCreatorsOnly
boolean
When true, only assets from Roblox-verified creators are returned. Defaults to false.
This tool calls the Creator Store API and requires ROBLOX_OPEN_CLOUD_API_KEY to be set. Without it the call will fail with an authentication error even though it is a read-only operation.

get_asset_details

Fetch detailed marketplace metadata for a single asset — name, description, asset type ID, creator, creation/update timestamps, pricing, and voting breakdown — by its numeric Roblox asset ID.
assetId
number
required
The numeric Roblox asset ID to look up.
Uses ROBLOX_OPEN_CLOUD_API_KEY when available. Falls back to a ROBLOSECURITY cookie for assets you own.

get_asset_thumbnail

Fetch the thumbnail image for an asset as a base64-encoded PNG. The returned image is suitable for vision-capable LLMs — pass it directly to your model to visually verify an asset before inserting it into the scene.
assetId
number
required
The numeric Roblox asset ID whose thumbnail you want.
size
string
Thumbnail resolution. One of: 150x150, 420x420 (default), 768x432.
The thumbnail endpoint is public. You do not need ROBLOX_OPEN_CLOUD_API_KEY to fetch thumbnails — only asset validation internally uses the key when present.

insert_asset

Load a Creator Store asset by ID via AssetService inside the running Studio session and parent it under the specified DataModel path. Optionally position the inserted asset in world space immediately after insertion.
assetId
number
required
The Roblox asset ID to insert.
parentPath
string
Canonical DataModel path where the asset should be parented (e.g. game.Workspace). Defaults to game.Workspace.
position
object
Optional world-space position. Provide an object with x, y, and z number fields.
{ "x": 0, "y": 5, "z": -20 }
instance_id
string
Which connected Studio place to target. Required when multiple places are connected; omit when only one is connected. Use get_connected_instances to list available IDs.

preview_asset

Inspect the contents of an asset without permanently inserting it. The tool loads the asset, walks the entire instance hierarchy, collects properties and summary statistics, then destroys the temporary instances before returning. Use this to understand asset structure — part counts, class types, script names — before committing to an insert_asset call.
assetId
number
required
The Roblox asset ID to preview.
includeProperties
boolean
Include detailed property values for each instance in the hierarchy. Defaults to true.
maxDepth
number
Maximum traversal depth for the hierarchy walk. Defaults to 10.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected; omit when only one is connected.

upload_asset

Upload a local file to Roblox as a new asset. Supported asset types and formats:
Asset TypeAccepted FormatsNotes
Audiomp3, ogg, wav, flacMax 7 min; 100 uploads/month (ID-verified account)
Decalpng, jpg, bmp, tgaAccepts ROBLOSECURITY cookie or Open Cloud key
Modelfbx, gltf, glb, rbxm, rbxmxRequires Open Cloud key + creator ID
Animationrbxm, rbxmxRequires Open Cloud key + creator ID
Videomp4, movMax 5 min; account must be 13+ and ID-verified
filePath
string
required
Absolute filesystem path to the file you want to upload.
assetType
string
required
The asset category: Audio, Decal, Model, Animation, or Video. Must match the file’s actual format.
displayName
string
required
Display name shown on the Creator Store. Maximum 50 characters.
description
string
Optional description for the asset. Defaults to an empty string.
userId
string
Roblox user ID to set as the asset creator. Overrides the ROBLOX_CREATOR_USER_ID environment variable.
groupId
string
Roblox group ID to credit as the asset creator. Overrides ROBLOX_CREATOR_GROUP_ID and takes precedence over userId when both are supplied.
All types except Decal require ROBLOX_OPEN_CLOUD_API_KEY with asset:write scope and a creator ID set via env var or parameter. Uploads without a valid key or creator will fail at the API level.

generate_model

Generate a new 3D Roblox Model using GenerationService:GenerateModelAsync from a text prompt, a reference image, or both. The generated model is staged under game.ServerStorage.__MCPGeneratedModels — it is not placed into the world automatically. Use standard instance tools afterward to parent, position, scale, anchor, or integrate it.
prompt
string
Text description of the model to generate. Required unless an image input (image_path, image_base64, or image_asset_id) is provided.
image_path
string
Absolute local path to a PNG reference image. The MCP server uploads it as a Roblox Decal/Image asset before generation. Mutually exclusive with image_base64 and image_asset_id.
image_base64
string
Base64-encoded PNG bytes to use as a reference image. Requires image_mime_type="image/png". The server uploads the image before generation. Mutually exclusive with image_path and image_asset_id.
image_mime_type
string
Required when image_base64 is provided. Currently only image/png is supported.
image_asset_id
number
An existing Roblox image asset ID to use as a visual reference without uploading. Mutually exclusive with image_path and image_base64.
schema
string
Built-in GenerationService schema controlling model segmentation. Body1 (default) outputs a single mesh. Car5 outputs a five-part vehicle chassis. Mutually exclusive with schema_groups.
schema_groups
array
Custom part name list for model segmentation, e.g. ["Body", "Front Left Wheel", "Front Right Wheel", "Rear Left Wheel", "Rear Right Wheel"]. Mutually exclusive with schema.
name
string
Optional name for the generated Model instance under game.ServerStorage.__MCPGeneratedModels.
size
object
Approximate desired bounding size. Provide an object with x, y, z numbers. GenerationService may not match it exactly.
max_triangles
number
Optional triangle-count ceiling. Lower values produce more faceted, low-poly output.
generate_textures
boolean
Whether GenerationService should generate surface textures. Defaults to Roblox’s built-in behavior (true).
timeout_ms
number
Maximum time in milliseconds the MCP bridge waits for the generation request. Range: 1–300,000. Defaults to 120000 (2 minutes).
instance_id
string
Which connected Studio place to target. Required when multiple places are connected; omit when only one is connected.
When using image_path or image_base64, the server uploads the image to Roblox before calling GenerateModelAsync. This requires ROBLOX_OPEN_CLOUD_API_KEY with asset:write scope and a configured creator ID (ROBLOX_CREATOR_USER_ID or ROBLOX_CREATOR_GROUP_ID). Using image_asset_id bypasses the upload entirely.

search_materials

Search for MaterialVariant instances registered in MaterialService by name. Use this before building palettes for generate_build or create_build to confirm exact variant names and their base material types.
query
string
Case-insensitive search string matched against material variant names. Leave empty to list all registered variants.
maxResults
number
Maximum number of results to return. Defaults to 50.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected; omit when only one is connected.

list_library

List builds stored in the local build library managed by the MCP server. Returns build IDs, style categories, bounding dimensions, and part counts. Optionally filter by style to narrow results.
style
string
Filter results to a single style category. One of: medieval, modern, nature, scifi, misc.
Use list_library to discover which pre-built models are already available before calling import_build or import_scene, avoiding redundant generation work.

Build docs developers (and LLMs) love