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 |
|---|---|---|
jams.enter | Ask the person to enter one of their games in an open Summer Games Jam, or to refresh its entry after the page or builds changed. | Always |
jams.list | List the Summer Games Jams open for entries: slug, theme, closing time, prize and rules. | Never |
jams.withdraw | Take a game’s entry off a Summer Games Jam page. | Not by default |
enter
jams.enter: Enter a game jam
Ask the person to enter one of their games in an open Summer Games Jam, or to refresh its entry after the page or builds changed. Entering agrees to the jam rules and terms. Answers a link for them to confirm. Next: jobs.wait.
| MCP | summer_call with "op": "jams.enter" |
| CLI | summer jams enter |
| 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 | Always. You approve it in Studio; an agent can never skip this. |
| 3.x names | summer_store_enter_jam |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
jamSlug | string | Yes | A jam slug from jams.list, e.g. light. |
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": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"jamSlug": {
"description": "A jam slug from jams.list, e.g. light.",
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$"
},
"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": [
"gameId",
"jamSlug"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"jamSlug": {
"type": "string"
},
"entry": {
"type": "object",
"properties": {
"entered": {
"type": "boolean"
},
"submittedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasCover": {
"type": "boolean"
},
"builds": {
"description": "Uploads the entry shows.",
"type": "number"
},
"playable": {
"description": "Players can play it in the browser from the jam page.",
"type": "boolean"
},
"hidden": {
"description": "Summer staff hid it from the jam page.",
"type": "boolean"
}
},
"required": [
"entered",
"submittedAt",
"updatedAt",
"title",
"hasCover",
"builds",
"playable",
"hidden"
],
"additionalProperties": false
},
"jamUrl": {
"type": "string"
}
},
"required": [
"gameId",
"jamSlug",
"entry",
"jamUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "jams.enter",
"input": {
"gameId": "g_123",
"jamSlug": "light"
}
}
}
summer jams enter --game-id g_123 --jam-slug light
list
jams.list: List open game jams
List the Summer Games Jams open for entries: slug, theme, closing time, prize and rules. With gameId, also that game’s entry in each. Next: jams.enter.
| MCP | summer_call with "op": "jams.list" |
| CLI | summer jams list |
| 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. |
| 3.x names | summer_store_jams |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | No | From games.list. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
}
}
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"theme": {
"type": "string"
},
"about": {
"type": "string"
},
"status": {
"description": "open, or judging once submissions closed (late entries still count).",
"type": "string"
},
"submissionsCloseAt": {
"type": "string"
},
"closes": {
"type": "string"
},
"prize": {
"type": "string"
},
"rulesUrl": {
"type": "string"
},
"jamUrl": {
"type": "string"
},
"entry": {
"description": "With gameId: that game's entry in this jam.",
"type": "object",
"properties": {
"entered": {
"type": "boolean"
},
"submittedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasCover": {
"type": "boolean"
},
"builds": {
"description": "Uploads the entry shows.",
"type": "number"
},
"playable": {
"description": "Players can play it in the browser from the jam page.",
"type": "boolean"
},
"hidden": {
"description": "Summer staff hid it from the jam page.",
"type": "boolean"
}
},
"required": [
"entered",
"submittedAt",
"updatedAt",
"title",
"hasCover",
"builds",
"playable",
"hidden"
],
"additionalProperties": false
}
},
"required": [
"slug",
"title",
"theme",
"about",
"status",
"submissionsCloseAt",
"closes",
"prize",
"rulesUrl",
"jamUrl"
],
"additionalProperties": false
}
},
"nextCursor": {
"type": "null"
}
},
"required": [
"items",
"nextCursor"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "jams.list",
"input": {}
}
}
summer jams list
withdraw
jams.withdraw: Withdraw from a game jam
Take a game’s entry off a Summer Games Jam page. The game itself does not change, and it can enter again while the jam takes entries. Next: jams.list.
| MCP | summer_call with "op": "jams.withdraw" |
| CLI | summer jams withdraw |
| 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. |
| 3.x names | summer_store_enter_jam#withdraw |
| Input | Type | Required | Description |
|---|---|---|---|
gameId | string | Yes | From games.list. |
jamSlug | string | Yes | A jam slug from jams.list, e.g. light. |
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": {
"gameId": {
"description": "From games.list.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$"
},
"jamSlug": {
"description": "A jam slug from jams.list, e.g. light.",
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$"
},
"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": [
"gameId",
"jamSlug"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"gameId": {
"type": "string"
},
"jamSlug": {
"type": "string"
},
"entry": {
"type": "object",
"properties": {
"entered": {
"type": "boolean"
},
"submittedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasCover": {
"type": "boolean"
},
"builds": {
"description": "Uploads the entry shows.",
"type": "number"
},
"playable": {
"description": "Players can play it in the browser from the jam page.",
"type": "boolean"
},
"hidden": {
"description": "Summer staff hid it from the jam page.",
"type": "boolean"
}
},
"required": [
"entered",
"submittedAt",
"updatedAt",
"title",
"hasCover",
"builds",
"playable",
"hidden"
],
"additionalProperties": false
},
"jamUrl": {
"type": "string"
}
},
"required": [
"gameId",
"jamSlug",
"entry",
"jamUrl"
],
"additionalProperties": false
}
{
"name": "summer_call",
"arguments": {
"op": "jams.withdraw",
"input": {
"gameId": "g_123",
"jamSlug": "light"
}
}
}
summer jams withdraw --game-id g_123 --jam-slug light

