Decks

Space MCP tools in the Decks scope (decks). Reach these with a wks_live_ key over space-mcp or space-api.

Tools in the decks scope, callable over space-mcp (tools/call) or space-api (REST) with a wks_live_* key that grants decks.

add_deck_slide

Scope: decks:write

Add one slide to a deck, at position (1 = first; default last).

ParameterTypeRequiredDescription
deck_idstringyes
htmlstringyes
notesstring
positioninteger

create_deck

Scope: decks:write

Make a presentation deck with all its slides. Each slide is the HTML + CSS inside one 1280×720 box (no scripts, no forms); the deck's theme_css (CSS variables, shared classes) sits above every slide and fonts are Google Fonts with their weights. Pictures and videos must be files of this space's Assets, bound by id: <img data-wakato-asset="<asset id>" src="<url>">. Read get_deck_guide first, and look at the result with preview_deck before you say it is ready.

ParameterTypeRequiredDescription
titlestringyes
descriptionstringWhat the deck is for, in a sentence.
theme_cssstringCSS above every slide, e.g. :host{--ink:#17153a;--accent:#5b4cdb} .wk-slide{background:#fff} .title{font:800 72px 'Bricolage Grotesque'}
fontsstring[]Google Fonts families with weights, e.g. ["Bricolage Grotesque:wght@500;700;800", "Inter:wght@400;600"]. At most three.
transitionnone | fade | slide
slidesobject[]yes

delete_deck

Scope: decks:write

Delete a deck: it leaves the space and its links stop working. Send confirm_title with its exact title.

ParameterTypeRequiredDescription
deck_idstringyes
confirm_titlestringyes

edit_deck_slide_html

Scope: decks:write

Change one piece of a slide's html: find (exact text as it is now) → replace. The rest of the slide stays as it is. all: true changes every place it appears.

ParameterTypeRequiredDescription
slide_idstringyes
findstringyes
replacestringyes
allboolean

get_deck

Scope: decks:read

Read one deck as it is NOW: its look (theme_css, fonts, transition) and every slide with its slide_id, html, speaker notes and builds. Read it before changing anything: the person may have replaced pictures or changed words in the editor.

ParameterTypeRequiredDescription
deck_idstringyes

get_deck_guide

Scope: decks:read

How to make a presentation deck people want to show: who decides the look, how to work with the person, the 1280×720 frame, pictures and video from Assets, type sizes that read on a phone, builds and speaker notes. Read it before create_deck. Pass kind for one kind's playbook: pitch (Pitch to investors), proposal (Sales proposal), report (Report or update), workshop (Course, class or workshop).

ParameterTypeRequiredDescription
kindpitch | proposal | report | workshop

get_deck_views

Scope: decks:read

Who watched a deck: every person (by their own link, the email they gave, or the city of a public-link visitor), each visit with when it started, phone or computer, the slides in the order they went through with seconds on each, the video, where they stopped, whether they got to the end or downloaded the PDF, and who is watching right now.

ParameterTypeRequiredDescription
deck_idstringyes
viewer_idstring

list_decks

Scope: decks:read

List the space's presentation decks: title, how many slides, who made it, when it was changed, how it is shared, and its link in the editor.

ParameterTypeRequiredDescription
querystringWords in the title.
limitinteger

move_deck_slide

Scope: decks:write

Move one slide to a new place in its deck (to: 1 = first).

ParameterTypeRequiredDescription
slide_idstringyes
tointegeryes

preview_deck

Scope: decks:write

Look at a deck: one picture of every slide, numbered (or one slide at full size with slide_id), and for each slide whether its words run out of the 1280×720 frame or are too small to read on a phone. Fix what it finds and look again before you say a deck is ready.

ParameterTypeRequiredDescription
deck_idstringyes
slide_idstring

remove_deck_slide

Scope: decks:write

Take one slide out of a deck. It stays in the deck's history and can be put back from there.

ParameterTypeRequiredDescription
slide_idstringyes

share_deck

Scope: decks:run

Share a deck outside the space. people: [{name, email} or {contact_id}] each get a link of their own, so the person you work for sees who opened it, when and how far they got (get_deck_views). public_link: true turns on one link for anyone; ask_email makes it ask for an email first, check_email sends a code to that email. pdf lets them download it. Nothing is sent: write the email or message yourself. remove_people takes person_link_ids away.

ParameterTypeRequiredDescription
deck_idstringyes
peopleobject[]
remove_peoplestring[]
public_linkboolean
ask_emailboolean
check_emailboolean
pdfboolean

swap_deck_media

Scope: decks:write

Replace one Assets file with another wherever a deck uses it (or on one slide with slide_id): a picture for a picture, a video for a video. to_asset_id must be a file of this space's Assets.

ParameterTypeRequiredDescription
deck_idstringyes
from_asset_idstringyes
to_asset_idstringyes
slide_idstring

update_deck

Scope: decks:write

Change a deck's title, description or look (theme_css, fonts, transition). To change one slide use update_deck_slide or edit_deck_slide_html.

ParameterTypeRequiredDescription
deck_idstringyes
titlestring
descriptionstring
theme_cssstring
fontsstring[]
transitionnone | fade | slide

update_deck_slide

Scope: decks:write

Write one slide's html and/or its speaker notes again. Start from the html get_deck gave you now, never from memory: the person may have changed it.

ParameterTypeRequiredDescription
slide_idstringyes
htmlstring
notesstring

On this page