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.
Templates
Section titled “Templates”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).
Games & Prizes
Section titled “Games & Prizes”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.
Streams
Section titled “Streams”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 |
Connections
Section titled “Connections”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 |
Gallery
Section titled “Gallery”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.
Vouchers
Section titled “Vouchers”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.
Reports
Section titled “Reports”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.
Sessions
Section titled “Sessions”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.
Role Requirements Summary
Section titled “Role Requirements Summary”| 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).