Generated from the operation catalog:
src/lib/ops/public-catalog.json in publicsummerengine at 0d85f61e2b and the summer-engine npm package 4.0.0 for engine and local operations. If something here is wrong, the operation’s definition is wrong.| Operation | What it does | Asks you first |
|---|---|---|
profile.claim_creator_name | Claim the person’s public creator name with their character, as Claim on the creator card does; a portrait drawn for them becomes their avatar. | Not by default |
profile.draw_creator_character | Draw a portrait of the fantasy character for the person’s creator card, as Draw again on the card does. | Not by default |
profile.get | Read the person’s public profile (username, bio, location, avatar, language, links), their Studio settings (emails, who sees new assets) and their creator name. | Never |
profile.set_settings | Change the person’s Studio settings, as Studio > Settings does: email notifications, usage alerts, product update emails, and whether new assets start public or private (private needs a paid plan). | Not by default |
profile.update | Change the person’s public profile, as Save on Studio > Settings > Profile does: username (also their profile address; a taken one gets a variation), bio, location, avatar, language, launch video. | Not by default |
profile.update_links | Set the links on the person’s public profile (website, socials), replacing the ones there, as Save on Studio > Settings > Profile does. | Not by default |
claim_creator_name
profile.claim_creator_name: Claim my creator name
Claim the person’s public creator name with their character, as Claim on the creator card does; a portrait drawn for them becomes their avatar. Everyone sees the name. Needs the owner’s approval. Next: profile.get.
| MCP | summer_call with "op": "profile.claim_creator_name" |
| CLI | summer profile claim-creator-name |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Publishes: makes something public or live. |
| Asks you first | No: Publish is on by default in Agent permissions. When it is off, your agent asks you first. |
| Input | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The creator name: 3 to 24 letters, numbers, - or \_. Length 3 to 25. |
character | ”moon-elf” | “orc” | “troll” | “dwarf” | “human” | “gnome” | “fae” | No | Default: the character they have. |
portraitUrl | string | No | A portrait from profile.draw_creator_character; without one the card shows their initials. Length 0 to 2000. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"name": {
"description": "The creator name: 3 to 24 letters, numbers, - or _.",
"type": "string",
"minLength": 3,
"maxLength": 25
},
"character": {
"description": "Default: the character they have.",
"type": "string",
"enum": [
"moon-elf",
"orc",
"troll",
"dwarf",
"human",
"gnome",
"fae"
]
},
"portraitUrl": {
"description": "A portrait from profile.draw_creator_character; without one the card shows their initials.",
"type": "string",
"maxLength": 2000
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"name"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"character": {
"type": "string"
},
"portraitUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"character",
"portraitUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.claim_creator_name",
"input": {
"name": "frogknight",
"character": "fae"
}
}
}
summer profile claim-creator-name --name frogknight --character fae
draw_creator_character
profile.draw_creator_character: Draw my creator character
Draw a portrait of the fantasy character for the person’s creator card, as Draw again on the card does. Spends the person’s credits. Returns the portrait, which profile.claim_creator_name can use. Next: profile.claim_creator_name.
| MCP | summer_call with "op": "profile.draw_creator_character" |
| CLI | summer profile draw-creator-character |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Spends your credits. |
| Asks you first | No: Spend credits is on by default in Agent permissions. When it is off, your agent asks you first. |
| Input | Type | Required | Description |
|---|---|---|---|
character | ”moon-elf” | “orc” | “troll” | “dwarf” | “human” | “gnome” | “fae” | Yes | The kind of character to draw. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"character": {
"description": "The kind of character to draw.",
"type": "string",
"enum": [
"moon-elf",
"orc",
"troll",
"dwarf",
"human",
"gnome",
"fae"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"character"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"portraitUrl": {
"type": "string"
},
"character": {
"type": "string"
}
},
"required": [
"portraitUrl",
"character"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.draw_creator_character",
"input": {
"character": "moon-elf"
}
}
}
summer profile draw-creator-character --character moon-elf
get
profile.get: Read my profile and settings
Read the person’s public profile (username, bio, location, avatar, language, links), their Studio settings (emails, who sees new assets) and their creator name. Next: profile.update or profile.set_settings.
| MCP | summer_call with "op": "profile.get" |
| CLI | summer profile get |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {}
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"bio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"language": {
"type": "string"
},
"launchVideo": {
"type": "boolean"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"website",
"twitter",
"github",
"discord",
"youtube",
"twitch",
"linkedin"
]
},
"url": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"label": {
"type": "string",
"maxLength": 60
}
},
"required": [
"platform",
"url"
],
"additionalProperties": false
}
},
"settings": {
"type": "object",
"properties": {
"emailNotifications": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"usageAlerts": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"productUpdates": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"newAssets": {
"type": "string"
}
},
"required": [
"emailNotifications",
"usageAlerts",
"productUpdates",
"newAssets"
],
"additionalProperties": false
},
"creator": {
"description": "The creator name they claimed, or null.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"character": {
"type": "string"
},
"portraitUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"character",
"portraitUrl"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"studioUrl": {
"type": "string"
}
},
"required": [
"username",
"bio",
"location",
"avatarUrl",
"language",
"launchVideo",
"links",
"settings",
"creator",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.get",
"input": {}
}
}
summer profile get
set_settings
profile.set_settings: Change my Studio settings
Change the person’s Studio settings, as Studio > Settings does: email notifications, usage alerts, product update emails, and whether new assets start public or private (private needs a paid plan). Next: profile.get.
| MCP | summer_call with "op": "profile.set_settings" |
| CLI | summer profile set-settings |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes your own drafts, files or settings. Nobody else sees it yet. |
| Asks you first | No: Make and build is on by default in Agent permissions. When it is off, your agent asks you first. |
| Input | Type | Required | Description |
|---|---|---|---|
emailNotifications | boolean | No | |
usageAlerts | boolean | No | |
productUpdates | boolean | No | Product update emails. |
newAssets | ”public” | “private” | No | Who sees the assets they make from now on. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"emailNotifications": {
"type": "boolean"
},
"usageAlerts": {
"type": "boolean"
},
"productUpdates": {
"description": "Product update emails.",
"type": "boolean"
},
"newAssets": {
"description": "Who sees the assets they make from now on.",
"type": "string",
"enum": [
"public",
"private"
]
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"saved": {
"type": "array",
"items": {
"type": "string"
}
},
"studioUrl": {
"type": "string"
}
},
"required": [
"saved",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.set_settings",
"input": {
"productUpdates": false
}
}
}
summer profile set-settings --no-product-updates
update
profile.update: Change my profile
Change the person’s public profile, as Save on Studio > Settings > Profile does: username (also their profile address; a taken one gets a variation), bio, location, avatar, language, launch video. Next: profile.get.
| MCP | summer_call with "op": "profile.update" |
| CLI | summer profile update |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes your own drafts, files or settings. Nobody else sees it yet. |
| Asks you first | No: Make and build is on by default in Agent permissions. When it is off, your agent asks you first. |
| Input | Type | Required | Description |
|---|---|---|---|
username | string | No | Length 1 to 60. |
bio | string | No | Length 0 to 500. |
location | string | No | Length 0 to 100. |
avatarUrl | string | No | An https link to a picture. Length 0 to 500. |
language | ”auto” | “en” | “zh” | “ja” | “es” | “de” | “pt” | No | auto follows the engine’s language. |
launchVideo | boolean | No | Play the launch video when Summer Engine starts. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"bio": {
"type": "string",
"maxLength": 500
},
"location": {
"type": "string",
"maxLength": 100
},
"avatarUrl": {
"description": "An https link to a picture.",
"type": "string",
"maxLength": 500
},
"language": {
"description": "auto follows the engine's language.",
"type": "string",
"enum": [
"auto",
"en",
"zh",
"ja",
"es",
"de",
"pt"
]
},
"launchVideo": {
"description": "Play the launch video when Summer Engine starts.",
"type": "boolean"
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"saved": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
},
"studioUrl": {
"type": "string"
}
},
"required": [
"saved",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.update",
"input": {
"bio": "I make cozy games about frogs."
}
}
}
summer profile update --bio 'I make cozy games about frogs.'
update_links
profile.update_links: Set my profile links
Set the links on the person’s public profile (website, socials), replacing the ones there, as Save on Studio > Settings > Profile does. Up to 10. Next: profile.get.
| MCP | summer_call with "op": "profile.update_links" |
| CLI | summer profile update-links |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. Needs your Summer sign-in. |
| Effect | Changes your own drafts, files or settings. Nobody else sees it yet. |
| Asks you first | No: Make and build is on by default in Agent permissions. When it is off, your agent asks you first. |
| Input | Type | Required | Description |
|---|---|---|---|
links | object[] | Yes | Every link the profile should show, in order; an empty list removes them all. Items 0 to 10. |
links[].platform | ”website” | “twitter” | “github” | “discord” | “youtube” | “twitch” | “linkedin” | Yes | |
links[].url | string | Yes | Length 1 to 500. |
links[].label | string | No | Length 0 to 60. |
dryRun | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
idempotencyKey | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"links": {
"description": "Every link the profile should show, in order; an empty list removes them all.",
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"website",
"twitter",
"github",
"discord",
"youtube",
"twitch",
"linkedin"
]
},
"url": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"label": {
"type": "string",
"maxLength": 60
}
},
"required": [
"platform",
"url"
]
}
},
"dryRun": {
"description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
"type": "boolean"
},
"idempotencyKey": {
"description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"links"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"website",
"twitter",
"github",
"discord",
"youtube",
"twitch",
"linkedin"
]
},
"url": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"label": {
"type": "string",
"maxLength": 60
}
},
"required": [
"platform",
"url"
],
"additionalProperties": false
}
},
"studioUrl": {
"type": "string"
}
},
"required": [
"links",
"studioUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "profile.update_links",
"input": {
"links": [
{
"platform": "website",
"url": "https://frogknight.games"
}
]
}
}
}
summer profile update-links --input '{"links":[{"platform":"website","url":"https://frogknight.games"}]}'

