Product Uploader
Bulk-create Developer Products and Game Passes without leaving Studio. Type a list, press create, get a ready-to-require module of IDs back. Or skip the panel entirely: connect your AI over MCP and do it by chat.
01Installation
One click from the Creator Store - Studio picks it up and the toolbar button appears. No files to move, no setup.
02Sign in
First run asks you to sign in, two ways. Login with Roblox opens your browser for OAuth and the plugin polls until you finish. Or paste an Open Cloud API Key and skip the browser entirely. Either way the plugin remembers you across Studio sessions.
03Connect your AI
Product Uploader now works with AI assistants through MCP. Connect your AI once and it can manage your Roblox monetization for you: list, create, and edit Developer Products and Game Passes straight from a normal conversation. Supported clients: Claude Code, Claude Desktop, Cursor, and Gemini. ChatGPT support is planned.
- List your existing dev products and game passes, with their current prices and IDs.
- Bulk create new dev products and game passes.
- Update existing items - mainly prices - with a preview step, so nothing changes until you confirm.
- Just say "change these prices" without naming a game. The plugin tells the AI which experience you have open in Studio, so it works on the right one by default - or point it at any specific game on demand.
- Open the plugin and go to the new Connect your AI page.
- Pick your client: Claude Code, Claude Desktop, Cursor, or Gemini.
- Press Generate Connection and paste the command or config into your AI. Done.
Every edit is previewed before it applies. Your Roblox API key stays on the server and is never shared with the AI - the AI only ever sees a private token you can revoke or regenerate at any time. And it only ever touches your own experiences.
04Create in bulk
Pick Dev Products or Game Passes, then type one item per line: name, price, and an optional description. Regional pricing has its own toggle. Create fires the whole batch; the panel can also list what already exists in the universe.
Speed Boost, 50, Run faster
Double Coins, 100, 2x coins
Pet Dog, 20005Generated module
Export Module writes a ModuleScript named DevProducts (or GamePasses) into ReplicatedStorage. Entries merge with whatever the module already holds, sorted by name - re-exporting updates it in place instead of clobbering it.
-- Auto-generated by Product Creator
local DevProducts = {
["Double Coins"] = {
Id = 1234567890,
Price = 100,
Name = "Double Coins",
},
["Speed Boost"] = {
Id = 1234567891,
Price = 50,
Name = "Speed Boost",
},
}
return DevProductslocal MarketplaceService = game:GetService("MarketplaceService")
local DevProducts = require(game.ReplicatedStorage.DevProducts)
MarketplaceService:PromptProductPurchase(player, DevProducts["Speed Boost"].Id)06Server API
The plugin talks to a small server at chopskie.com/api/product-creator, which handles the OAuth handshake and calls Roblox Open Cloud. Authenticated endpoints take an x-session-id header.
07Field notes
Sessions last 30 days of inactivity and access tokens refresh themselves (Roblox tokens only live 15 minutes). Sessions are held in memory, so a server restart signs everyone out - just log in again.
50 items max per request. Creates are paced into a steady drip to stay under Roblox's rate limit; if Roblox pushes back with a 429 the pacer slows down and retries with backoff, honouring Retry-After.