Skip to content

MCP Tools Reference

Every MCP tool maps to an org-scoped capability. Tools are deny-by-default: the API key must include the matching MCP scope, and the caller must meet the minimum organization role.

Scope: mcp:templates:read · Min role: viewer

Tool Description
list_templates List approved game templates with asset schemas (name, size, transparent, promptWrapper) and baseGameConfig
get_template Get one template by id, including controls and a config wiring hint

Optional input on list_templates: category (case-insensitive substring filter).

Read scope: mcp:games:read · Write scope: mcp:games:write · Min role: viewer (read) / editor (write)

Tool Scope Description
list_games read List org games; optional status filter (draft, published, archived)
get_game read Get a game with full flat config and active prizes
list_game_prizes read List active prizes for a game
create_game write Create a draft game from a template; flat config + optional prizes
update_game write Update fields; config is shallow-merged
set_game_status write Set status to draft, published, or archived
set_game_prizes write Sync the prize table (omit id to create; missing prizes are deleted; empty array clears all)

Prize chance percents must total exactly 100% per min_score tier.

Read scope: mcp:streams:read · Write scope: mcp:streams:write · Min role: viewer (read) / editor (write)

Tool Scope Description
list_streams read List streams for the organization
get_stream read Get a stream; optional include_games / include_connections
create_stream write Create a campaign journey (stream)
update_stream write Update stream fields

Read scope: mcp:connections:read · Write scope: mcp:connections:write · Min role: admin

Tool Scope Description
list_connections read List org integrations (Braze, Zapier, webhooks, …); no raw credentials
get_connection read Connection detail with has_credentials / credential_keys only
create_connection write Create an integration (e.g. Braze { api_key, rest_endpoint }, Zapier { webhook_url })
update_connection write Update name, description, or credentials where supported
delete_connection write Delete an org connection
list_stream_connections read List integrations linked to a stream
link_stream_connection write Attach a connection to a stream
update_stream_connection write Update a stream–connection link
unlink_stream_connection write Remove a stream–connection link

Read scope: mcp:gallery:read · Write scope: mcp:gallery:write · Min role: editor

Tool Scope Description
list_gallery_media read Paginated org gallery media with storage usage; optional source filter (upload, generated)
delete_gallery_media write Delete a gallery item by id; fails with 409 if still used as a thumbnail, logo, game asset, or prize image

List media and check storage usage before deleting. See Gallery for the dashboard workflow.

Read scope: mcp:vouchers:read · Write scope: mcp:vouchers:write · Min role: viewer (read) / editor (write)

Tool Scope Description
list_voucher_sets read List voucher sets with code stats and linked games
get_voucher_set read Get one set; optional include_vouchers for individual codes
create_voucher_set write Create an empty voucher set
add_vouchers_to_set write Bulk-add codes (uppercased; duplicates skipped; max 5,000 per call)
update_org_voucher_status write Set a code to available or claimed
delete_org_voucher write Delete a single available code (claimed/used codes cannot be deleted)
delete_voucher_set write Delete a set and cascade-delete its codes

After creating a set and importing codes, link it to prizes with set_game_prizes using prize_type: voucher_set and voucher_set_id. See Voucher System.

Scope: mcp:reports:read · Min role: analyst

Tool Description
get_org_analytics_summary Lightweight dashboard rollup (daily plays, totals, top game); max 90 days
get_org_report Detailed report JSON (same shape as the Reports API without CSV); max 365 days; table reports return up to 100 rows

get_org_report accepts report, start_date, end_date (YYYY-MM-DD), and optional game_id / stream_id. Report types: overview, games, streams, prizes, sessions, highscores, streamScoreboard, ctaLeads.

Scope: mcp:ai · Min role: editor

Tool Description
extract_brand Extract brand identity (colors, fonts, tone, logo cues) from a website URL
generate_funnel Suggest funnel stages / stream structure from a brand URL or brief
generate_image Generate a single game asset with Gemini; optional transparent PNG; stores in org gallery
generate_images Generate up to 8 assets in parallel; prefer this for multi-asset templates

For art generation, pass width, height, transparent, and prompt_wrapper from the template asset schema. For generate_images, set each item’s asset_key to the template asset.name, then wire returned URLs into game.config with update_game using those flat keys. When a template has more than 8 prompt-image assets, create the game with placeholders first, then generate in batches.

Scope: mcp:sessions:write · Min role: editor

Tool Description
create_play_session Mint a one-time play session token for a game_id or stream_id (same as the REST create-session API)

Optional inputs: external_ref, metadata, expires_in_minutes (max 7 days).

See Session Tokens for the player URL patterns and lifecycle.

Min role Tools
viewer Template, game/stream, and voucher read tools
analyst Report tools
editor Game/stream write, gallery, voucher write, AI, session minting
admin All connection tools

API keys inherit the organization’s membership model for role checks when used through MCP. Resource allowlists on the key still apply.

These same capabilities power the in-app Assistant (authenticated as your signed-in user, not an API key).