Roblox game assets for your agent: free kit plan, then GUI, icons, thumbnails, 3D props and music.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <spawnpop API key>. Optional: plan_kit works without a key; drafts and generation need one.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
No charge. Marks one draft per item copy as the reference its final is made from. Use the outputId shown by get_status.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
No charge. Marks one draft per item copy as the reference its final is made from. Use the outputId shown by get_status.
| Argument | Type | Description |
|---|---|---|
| approvals* | array | |
| projectId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"approvals"
],
"properties": {
"approvals": {
"type": "array",
"items": {
"type": "object",
"required": [
"itemId",
"outputId"
],
"properties": {
"copy": {
"type": "integer",
"default": 0,
"maximum": 49,
"minimum": 0
},
"itemId": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"outputId": {
"type": "string",
"maxLength": 64,
"minLength": 1
}
}
},
"maxItems": 40,
"minItems": 1
},
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1
}
}
}Costs 10 credits per draft image. Makes low-cost previews with an AI fit check so finals are only bought for what works. confirmCredits must equal the price (items x copies x variants); requestId makes a retry free.
| Argument | Type | Description |
|---|---|---|
| itemIds* | array | |
| variants | any | |
| projectId* | string | |
| requestId* | string | |
| confirmCredits* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"itemIds",
"confirmCredits",
"requestId"
],
"properties": {
"itemIds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"maxItems": 40,
"minItems": 1
},
"variants": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 4
}
],
"default": 1
},
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"requestId": {
"type": "string",
"pattern": "^[\\w-]+$",
"maxLength": 64,
"minLength": 8
},
"confirmCredits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Spends credits. confirmCredits must equal the price of the items; if the price changed nothing is charged and price_changed comes back. The same requestId returns the same jobs and charges nothing. itemIds may be "approved".
| Argument | Type | Description |
|---|---|---|
| itemIds* | any | |
| options | object | iconStyle: the game icon look when plan_kit listed styles.gameIcon. includePreview: add the optional preview sheet to "approved". |
| projectId* | string | |
| requestId* | string | |
| confirmCredits* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId",
"itemIds",
"confirmCredits",
"requestId"
],
"properties": {
"itemIds": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"maxItems": 40,
"minItems": 1
},
{
"type": "string",
"const": "approved"
}
]
},
"options": {
"type": "object",
"properties": {
"iconStyle": {
"enum": [
"avatar_3d",
"cartoon"
],
"type": "string"
},
"includePreview": {
"type": "boolean",
"description": "With itemIds \"approved\": also buy the optional themed preview sheet (its price is in plan_kit). Without it, \"approved\" never includes the preview."
}
},
"description": "iconStyle: the game icon look when plan_kit listed styles.gameIcon. includePreview: add the optional preview sheet to \"approved\"."
},
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"requestId": {
"type": "string",
"pattern": "^[\\w-]+$",
"maxLength": 64,
"minLength": 8
},
"confirmCredits": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}No charge. Finished files with one-hour signed download URLs, sizes, triangle counts and stud sizes, plus a ready next-step block for Roblox Studio MCP and Open Cloud.
| Argument | Type | Description |
|---|---|---|
| projectId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1
}
}
}No charge. One row per plan item, drafts with the AI fit verdict (fit, misfit, unjudged or pending; unjudged never blocks approve), approvals and balance. waitSeconds (0-25) returns as soon as something changes, so a call can come back earlier than that.
| Argument | Type | Description |
|---|---|---|
| projectId* | string | |
| waitSeconds | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"waitSeconds": {
"type": "integer",
"default": 0,
"maximum": 25,
"minimum": 0
}
}
}No charge. Your recent projects, newest first.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
}
}No charge. Turns a one-sentence game idea into a priced kit (GUI, icons, thumbnail, 3D props, music). With an API key the plan is saved as a project; without one you get the same plan and price plus a link for the user to connect.
| Argument | Type | Description |
|---|---|---|
| genre | string | |
| style | string | Art direction, e.g. "chunky pastel cartoon". |
| description* | string | The game idea in plain words. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"description"
],
"properties": {
"genre": {
"enum": [
"simulator",
"tycoon",
"tower_defense",
"obby",
"rng",
"horror",
"roleplay",
"fighting"
],
"type": "string"
},
"style": {
"type": "string",
"maxLength": 300,
"description": "Art direction, e.g. \"chunky pastel cartoon\"."
},
"description": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "The game idea in plain words."
}
}
}