Integration

Roblox Open Cloud integration

Roblox Open Cloud manages a Roblox experience (universe) from outside the game: read and update the universe and its places; read, write, increment and list standard and ordered data store entries (revisions, deletion and undelete, snapshots); use memory store queues and sorted maps and flush them; publish cross-server messages; restart servers; run Luau scripts against a place and read their output and logs; ban or unban users and read the ban log; translate text and generate speech assets. It also reads groups (roles, memberships, join requests, forums), assigns and unassigns group roles and answers join requests, reads users, their inventory, asset quotas and avatar thumbnails, sends user notifications, reads subscriptions and manages Creator Store products. Not exposed: universe secrets, place data model instances, Luau binary inputs, asset upload, and the older v1 and cookie-based Roblox APIs. Authentication is an Open Cloud API key created in the Creator Dashboard with the permissions each call needs, sent in the x-api-key header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Roblox Open Cloud.Built from the 76 Roblox Open Cloud tools below, on the connection you add once.

What you can do with Roblox Open Cloud

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Entry, 20 operations

  • create_data_store_entryCreate data store entryPOSTCreates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists.
  • create_ordered_data_store_entryCreate ordered data store entryPOSTCreates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists.
  • create_scoped_data_store_entryCreate scoped data store entryPOSTCreates an entry with the provided ID and value. Returns a 400 Bad Request if the entry exists.
  • delete_data_store_entryDelete data store entryDELETEMarks the specified entry for deletion. Entries are not be deleted immediately; instead, the `state` field will be set to `DELETED`. Permanent deletion occurs after 30 days. On success, returns 200 OK.
  • delete_ordered_data_store_entryDelete ordered data store entryDELETEDeletes the specified entry. On success, returns 200 OK. If the entry doesn't exist, returns 404 Not Found.
  • delete_scoped_data_store_entryDelete scoped data store entryDELETEMarks the specified entry for deletion. Entries are not be deleted immediately; instead, the `state` field will be set to `DELETED`. Permanent deletion occurs after 30 days. On success, returns 200 OK.
  • get_data_store_entryGet data store entryGETReturns one data store entry: its value, attributes, user ids, revision and state. Append @<revisionId> to entry_id to read a past revision.
  • get_ordered_data_store_entryGet ordered data store entryGETGets the specified entry.
  • get_scoped_data_store_entryGet scoped data store entryGETReturns one data store entry: its value, attributes, user ids, revision and state. Append @<revisionId> to entry_id to read a past revision.
  • increment_data_store_entryIncrement data store entryPOSTIncrements the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn't exist, creates an entry with the specified value. Incrementing specific revisions of the entry is **unsupported**.
  • increment_ordered_data_store_entryIncrement ordered data store entryPOSTIncrements the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn't exist, creates an entry with the specified value.
  • increment_scoped_data_store_entryIncrement scoped data store entryPOSTIncrements the value of the specified entry. Both the existing value and the increment amount must be integers. If the entry doesn't exist, creates an entry with the specified value. Incrementing specific revisions of the entry is **unsupported**.
  • list_data_store_entriesList data store entriesGETLists the keys of a data store, 10 per page by default (maxPageSize up to 256). Only path and id are filled; read a value with get_data_store_entry.
  • list_data_store_entry_revisionsList data store entry revisionsGETList revisions of the data store entry. This method returns partial data store entries. In particular, only the `path`, `id`, `createTime`, `revisionCreateTime`, `revisionId`, `etag`, and `state` fields are populated.
  • list_ordered_data_store_entriesList ordered data store entriesGETReturns a list of entries from an ordered data store.
  • list_scoped_data_store_entriesList scoped data store entriesGETLists the keys of a data store, 10 per page by default (maxPageSize up to 256). Only path and id are filled; read a value with get_scoped_data_store_entry.
  • list_scoped_data_store_entry_revisionsList scoped data store entry revisionsGETList revisions of the data store entry. This method returns partial data store entries. In particular, only the `path`, `id`, `createTime`, `revisionCreateTime`, `revisionId`, `etag`, and `state` fields are populated.
  • update_data_store_entryUpdate data store entryPATCHUpdates the value, attributes, and users of an entry. Updating specific revisions of the entry is **unsupported**.
  • update_ordered_data_store_entryUpdate ordered data store entryPATCHUpdates the value of an entry.
  • update_scoped_data_store_entryUpdate scoped data store entryPATCHUpdates the value, attributes, and users of an entry. Updating specific revisions of the entry is **unsupported**.

Item, 6 operations

  • add_memory_store_queue_itemAdd memory store queue itemPOSTCreates a new queue item. If `ttl` is set, the item will automatically be removed from the queue after the time interval specified. If a numerical `priority` is set, the item will be inserted into the queue based on the priority value.
  • create_sorted_map_itemCreate sorted map itemPOSTCreates the specified map item if it doesn't exist.
  • delete_sorted_map_itemDelete sorted map itemDELETEDeletes the specified item from the map.
  • get_sorted_map_itemGet sorted map itemGETGets and returns the value of the given key in the map.
  • list_sorted_map_itemsList sorted map itemsGETGets and returns items in the map with a given order and filter.
  • update_sorted_map_itemUpdate sorted map itemPATCHUpdates the specified map item.

Universe, 6 operations

  • generate_speech_assetGenerate speech assetPOSTGenerates an English speech audio asset from text. Returns an operation; pass its id to get_asset_operation to get the new asset once done.
  • get_universeGet universeGETGets the specified universe.
  • publish_messagePublish messagePOSTPublishes a message on a topic to every live server of the universe; game servers receive it through MessagingService:SubscribeAsync on that topic.
  • restart_serversRestart serversPOSTRestarts active servers for a specific universe. Defaults to only restarting servers running older versions, but can be configured to restart all servers regardless of version. Used for releasing experience updates.
  • translate_textTranslate textPOSTTranslates the provided text from one language to another.
  • update_universeUpdate universePATCHUpdates the specified universe. This method is guaranteed to return all updated fields. This method may additionally return the full resource.

User restriction, 6 operations

  • get_place_user_restrictionGet place user restrictionGETReturns the restriction (ban) of one user in one place: whether it is active, its start time, duration, private and displayed reasons.
  • get_user_restrictionGet user restrictionGETReturns the restriction (ban) of one user across the universe: whether it is active, its start time, duration, private and displayed reasons.
  • list_place_user_restrictionsList place user restrictionsGETList user restrictions for users that have ever been banned in either a universe or a specific place.
  • list_user_restrictionsList user restrictionsGETList user restrictions for users that have ever been banned in either a universe or a specific place.
  • update_place_user_restrictionUpdate place user restrictionPATCHBans or unbans a user from one place: send gameJoinRestriction with active, and optionally duration, privateReason, displayReason and excludeAltAccounts.
  • update_user_restrictionUpdate user restrictionPATCHBans or unbans a user from every place of the universe: send gameJoinRestriction with active, and optionally duration, privateReason, displayReason and excludeAltAccounts.

Creator store product, 3 operations

  • create_creator_store_productCreate creator store productPOSTAdd a Creator Store product. Only use this method if your product has never been distributed on the Creator Store; otherwise, use the `PATCH` method to update the product.
  • get_creator_store_productGet creator store productGETReturns a Creator Store product: the asset it sells (model, plugin, audio, decal, mesh part, video or font), its base price, whether it is published and purchasable, and its seller.
  • update_creator_store_productUpdate creator store productPATCHUpdates a Creator Store product already distributed on the Creator Store: its base price (USD) or whether it is published. With allowMissing=true a missing product is created.

Data store, 3 operations

  • delete_data_storeDelete data storeDELETESchedules the specified data store for permanent deletion. This operation assigns the data store an expiry time 30 days in the future, at which point permanent deletion begins.
  • list_data_storesList data storesGETReturns a list of data stores. Data stores scheduled for permanent deletion are omitted from the results by default (or when `showDeleted` is set to `false`). When this is the case, the operation will check up to 512 data stores.
  • undelete_data_storeUndelete data storePOSTRestores a data store scheduled for deletion by delete_data_store, if its 30-day expiry time has not passed yet.

Join request, 3 operations

  • accept_group_join_requestAccept group join requestPOSTAccepts a pending request to join the group: the requester becomes a member. Join request ids come from list_group_join_requests.
  • decline_group_join_requestDecline group join requestPOSTDeclines a pending request to join the group. Join request ids come from list_group_join_requests.
  • list_group_join_requestsList group join requestsGETList join requests under a group. Supports filtering.

Membership, 3 operations

  • assign_group_roleAssign group rolePOSTAssigns a specific role to a user within a group. If the user already holds the specified role, no action is taken.
  • list_group_membershipsList group membershipsGETList group members in a group. Supports filtering.
  • unassign_group_roleUnassign group rolePOSTUnassigns a specific role from a user within a group. If the user does not hold the specified role, no action is taken.

Operation, 3 operations

  • get_asset_operationGet asset operationGETReturns the result of an asset operation, such as the one generate_speech_asset returns: done, and once finished the created asset (assetId, display name, type) or an error.
  • get_memory_store_flush_operationGet memory store flush operationGETReturns the status of a memory store flush started by flush_memory_store: done is true once the flush has finished, error says why it failed.
  • get_user_thumbnail_operationGet user thumbnail operationGETReturns the status of a thumbnail generation started by generate_user_thumbnail: when done is true, response.imageUri holds the image URL.

Luau execution session task, 2 operations

  • create_luau_execution_taskCreate luau execution taskPOSTStarts running a Luau script against the latest version of the place and returns the task at once; read its state, output and error with get_luau_execution_task, and its logs with list_luau_execution_task_logs.
  • create_luau_execution_task_for_versionCreate luau execution task for versionPOSTStarts running a Luau script against the given place version and returns the task at once; read its state, output and error with get_luau_execution_task, and its logs with list_luau_execution_task_logs.

Place, 2 operations

  • get_placeGet placeGETGets the specified place.
  • update_placeUpdate placePATCHUpdates the specified place. To avoid overwriting changes, this endpoint responds with an HTTP 409 Conflict error if the place is open in an active Team Create session.

Role, 2 operations

  • get_group_roleGet group roleGETReturns one role of the group: its name, rank, member count and, when the caller may see them, its permissions.
  • list_group_rolesList group rolesGETList roles in a group. Roles can be public or private. The response includes private roles and their fields only when the acting user is permitted to view them. The endpoint does not provide a public-roles-only view.

User, 2 operations

  • generate_user_thumbnailGenerate user thumbnailGETGenerates the avatar thumbnail of a user and returns an operation. When done is true, response.imageUri holds the image URL; otherwise read it later with get_user_thumbnail_operation.
  • get_userGet userGETGets a user's basic and advanced information.

Asset quota, 1 operation

  • list_asset_quotasList asset quotasGETReturns a list of asset quotas.

Comment, 1 operation

  • list_group_forum_commentsList group forum commentsGETLists forum comments on a group's forum post. Supports filtering.

Data stores snapshot, 1 operation

  • snapshot_data_storesSnapshot data storesPOSTTakes a new snapshot of the data stores in an experience. After a snapshot, the next write to every key in the experience will create a versioned backup of the previous data, regardless of the time of the last write.

Forum category, 1 operation

  • list_group_forum_categoriesList group forum categoriesGETLists forum categories in the group. Supports filtering.

Group, 1 operation

  • get_groupGet groupGETGets the specified group.

Inventory item, 1 operation

  • list_inventory_itemsList inventory itemsGETList the inventory items in a user's inventory.

Items discard, 1 operation

  • discard_memory_store_queue_itemsDiscard memory store queue itemsPOSTRemoves items previously read from the front of the queue, using the readId that read_memory_store_queue_items returned.

Items read, 1 operation

  • read_memory_store_queue_itemsRead memory store queue itemsGETReturns the specified number of items at the front of the queue.

Log, 1 operation

  • list_luau_execution_task_logsList luau execution task logsGETLists log chunks generated by a `LuauExecutionSessionTask`.

Memory store flush, 1 operation

  • flush_memory_storeFlush memory storePOSTStarts flushing every memory store data structure of the universe (LIVE scope by default). Returns an operation; read its progress with get_memory_store_flush_operation.

Notification, 1 operation

  • send_user_notificationSend user notificationPOSTSends an experience notification to a user, rendered from a message template created in the Creator Dashboard (payload.messageId) with optional parameters and a join-experience call to action.

Post, 1 operation

  • list_group_forum_postsList group forum postsGETLists forum posts in the group's forum category. Supports filtering.

Subscription, 1 operation

  • get_subscriptionGet subscriptionGETGet the subscription. The `universe.subscription-product.subscription:read` scope only allows reading subscriptions of the user making the request. Because of this, the subscription ID must match the user ID of the user making the request.

Task, 1 operation

  • get_luau_execution_taskGet luau execution taskGETReturns a Luau execution task: its state (QUEUED, PROCESSING, CANCELLED, COMPLETE, FAILED), the script, and its output values or error once finished.

User restrictions list log, 1 operation

  • list_user_restriction_logsList user restriction logsGETList changes to UserRestriction resources within a given universe. This includes both universe-level and place-level restrictions. For universe-level restriction logs, the `place` field will be empty.

Use Roblox Open Cloud from Claude Code, Cursor or Codex

Connect Roblox Open Cloud in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Roblox Open Cloud operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Roblox Open Cloud

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Roblox Open Cloud once

    Add your Roblox Open Cloud connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Roblox Open Cloud integration FAQ

What can you do with the Roblox Open Cloud integration?

LiveContext exposes 76 operations on Roblox Open Cloud, covering entry, item, universe and user restriction.

Popular integrations

Browse the whole catalog