Blocks MCP

Operate and edit Roblox experiences from your MCP assistant.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Roblox Categories: Fetch the latest official Roblox OpenAPI JSON. No arguments lists categories and endpoint counts. category returns compact endpoint summaries and credential callability. Pass an exa
  • Roblox Call: Call the exact operation_id returned by roblox_categories. Use its full OpenAPI spec to fill path/query/headers/body/content_type/files. The server attaches your connected credential. Suc
  • Roblox Download Asset: Download an asset or private place file by asset_id through authenticated Open Cloud Asset Delivery. Optionally select version_number. Returns complete bytes as an MCP file reso

What data it sees

Do you need an account

No: the server works without sign-in

Operate and edit Roblox experiences from your MCP assistant. Discover Roblox Open Cloud endpoints and their exact schemas; manage DataStores, MemoryStore, assets, universes, groups, and game settings; inspect and edit place files, Luau scripts, and DataModel instances; and troubleshoot live servers with the optional runtime bridge. Includes 12 tools, compact workflow discovery, structured errors, and explicit version checks for place edits. Connect through OAuth and link your Roblox Open Cloud key on the site. Permissions follow your key; publishing, restarts, and other writes require your authorization.

How to connect

How to connect Blocks MCP to Claude

The server address to paste into Claude settings:

https://blocks-mcp--alxspiker.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Blocks MCP to ChatGPT

The server address to paste into ChatGPT settings:

https://blocks-mcp--alxspiker.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Blocks MCP to Cursor

The server address to paste into Cursor settings:

https://blocks-mcp--alxspiker.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (12)

Raw names from tools/list. Only developers need these.

roblox_categoriesFetch the latest official Roblox OpenAPI JSON. No arguments lists categories and endpoint counts. category returns compact endpoint summaries and credential callability. Pass an exact operation_id to retrieve the full schema, parameters, examples, referenced models, and callable reason. Includes your private connection identity and key permissions. Read-only discovery.
roblox_callCall the exact operation_id returned by roblox_categories. Use its full OpenAPI spec to fill path/query/headers/body/content_type/files. The server attaches your connected credential. Successful binary responses are attached as MCP embedded blob resources with filename, content type, and byte size metadata. HTTP errors (4xx/5xx) remain normal results with ok=false, status, error_type, error details, raw data, and normalized pagination. Local validation/authentication failures are MCP errors. Every method other than GET/HEAD needs roblox:write and explicit user authorization; this tool may modify, delete, or incur costs. No automatic retries.
roblox_download_assetDownload an asset or private place file by asset_id through authenticated Open Cloud Asset Delivery. Optionally select version_number. Returns complete bytes as an MCP file resource with .rbxl or .rbxlx filename, content type, and size metadata. No temporary file or handle is stored. Supports files up to 10 MB for place-file workflows.
roblox_publish_placeUpload caller-supplied complete RBXL or RBXLX bytes through the authenticated Places version API. Saved creates a saved version; Published also publishes. Requires roblox:write; publishing changes the live experience and needs explicit user authorization. File bytes are not persisted.
roblox_republish_placeCopy a place file from authenticated Roblox Asset Delivery and upload it to a target place entirely on the MCP server. Supports an optional exact source version. No binary content is returned, exposed to the AI, or persisted. Published changes the live target place and requires explicit user authorization.
roblox_luau_editorExecute Luau against a pinned place version. Resolves the latest published version by default and returns the exact resulting version. Resume pending tasks with task_path. save_mode is none, saved, or published. expected_published_version is checked before saving. Optional broadcast_after_publish explicitly publishes to a selected cross-server topic after a successful publish; repeat the option when resuming a pending task. Roblox has no atomic save condition, so a separate publish can race after task start. Tasks run up to 5 minutes and each call waits up to 20 seconds. Saving or broadcasting needs explicit user authorization.
roblox_script_sourceSearch script source, read bounded line ranges or context around a literal match, and edit source without returning the entire place. Literal replacement is the default; ambiguous paths or duplicate single-replacement matches fail. Roblox Open Cloud does not expose a Luau syntax-check endpoint, so inspect/execute carefully before saving. Use expected_source_hash and expected_published_version for stale-edit checks. Read actions are read-only; saved/published edits require explicit authorization.
roblox_instancesSearch, inspect, group and safely mutate instances in a pinned Roblox place without writing ad hoc Luau. Queries return compact paged paths/counts and structural signatures. set_properties, move, rename, delete, create, clone and batch_update support dry_run previews. Mutations require save_mode=saved/published plus expected_published_version for conflict protection. assign_handles stores stable BlocksMCPHandle attributes in the place; explicitly save to retain them. Advanced operations remain available in roblox_luau_editor.
roblox_docsList concise curated Roblox API guides. Omit doc_id to list guide titles and summaries; pass an exact doc_id from that list to retrieve the full how-to, endpoint IDs, parameters, and usage notes. Guides explain workflows that are not clear from Roblox OpenAPI alone. Read-only.
roblox_feedbackList, create, replace, or delete feedback owned by the authenticated account. Use for actionable bugs, improvements, or missing API/spec context. List first to avoid duplicates. Each account can have at most 10 items; delete completed or declined items to free a slot. IDs are private to the owner. Never submit API keys, tokens, passwords, or Roblox cookies.
roblox_runtime_bridgeInstall, inspect, upgrade, and remove independent Blocks-managed runtime modules; retrieve transient runtime/client logs; run trusted Luau only in one exact live server; or request a live handoff. runtime_luau backend=auto (default) probes the exact live server, prefers native loadstring when already enabled, and otherwise updates/reuses one verified MainModule asset per linked Roblox account. The fallback requires asset:read and asset:write permissions. You may explicitly choose loadstring or module_asset. The bridge never changes LoadStringEnabled. It validates the account-owned Model asset and marker, serializes updates per account, requires the exact requested version marker, and destroys the loaded model after execution. Roblox may retain asset version history; no place file is stored in Blocks MCP. Enabling loadstring permits arbitrary server code; install only in a game you control and send code you trust. Install/remove requires save_mode saved or published and expected_published_version is recommended. Existing servers do not receive published scripts until they restart. Requests/results live in MemoryStore with short TTLs; the bridge never changes LoadStringEnabled or touches unowned game instances.
roblox_workflowRun a validated Roblox workflow. First use roblox_categories({domain}) to list actions, then roblox_categories({domain,action}) to inspect the exact arguments_schema. Supply only those arguments inside arguments; action belongs in the envelope. Domains cover stores, servers, assets, moderation, monetization, creator settings and more. Schemas are checked before any request. Writes, deletions, publishing, restarts and paid actions require explicit user authorization and roblox:write. No automatic write retries. Existing roblox_<domain> tool names remain callable compatibility aliases.