ShareMyPage

Overview

What a ShareMyPage deck is, creating one, editing slides, and working with layouts.

A slide deck (a "presentation" in the MCP tools) is a set of independently editable slides. Each slide is its own <section class="slide">, composed together with a theme's shared CSS and a presentation engine into one self-contained page, at its own shareable /s/ URL. The engine shows exactly one slide active at a time, with arrow-key navigation, an overview grid, a zoom control, and a progress bar, the same way any live viewer sees it.

Creating a presentation

create_presentation seeds a new deck from a theme's starter layouts: a cover slide, a content slide, and a closing slide.

create_presentation({
  title: "Q3 Board Update",
  folder: "Board decks"
})
  • theme picks the deck's CSS, fonts, and layout catalog. Omit it and the workspace's own brand theme is used if it has one (you're asked to choose when there are several); otherwise the built-in sharemypage theme is used.
  • folder files the presentation into a folder. Presentation folders are their own namespace, separate from page folders.
  • visibility accepts workspace (default), private, or public at creation time; a password can be added afterwards from the Share dialog. See Access and sharing for what each level means.
  • logoLightUrl / logoDarkUrl set this presentation's own logo, overriding the workspace default and the theme's own lockup.

The tool returns the deck id, its shareable URL, and the layout ids it was seeded with.

Slides

Once a deck exists, work slide by slide:

ToolWhat it does
list_slidesList every slide in order: index, slideId, title, size, and last-updated time.
get_slideRead one slide's HTML and title. Large embedded images are elided into a placeholder by default (pass assets: "inline" for the raw HTML).
add_slideAdd a slide, either from a full HTML fragment or from a layout id.
update_slide / patch_slideReplace a slide's content, or make a targeted edit, mirroring update_page / patch_page for pages.
move_slideReorder a slide within the deck.
duplicate_slide / delete_slideCopy or remove a slide.

add_slide refers to other slides by a slideId or a 1-based index from list_slides, and runs a non-blocking lint over the new slide's HTML, reporting anything that references a class the theme doesn't define.

Layouts

A theme ships a catalog of slide-layout blueprints: covers, content slides, timelines, comparisons, and more.

  • list_layouts returns each layout's id, name, and a one-line description (not its full HTML, to keep the response small).
  • get_layout returns one layout's complete <section class="slide"> HTML, ready to hand to add_slide, or to adapt.

A custom theme (from list_themes, workspace-scoped) derives its layouts from a base theme but carries the custom theme's own colors and logo.

There are two ways to author a slide's content:

  • Guided mode (get_design_guide): reuse the theme's layout catalog and design tokens, writing little to no custom CSS. Call this before hand-authoring slide HTML so it matches the theme's type scale, spacing, and colors.
  • Freeform mode (get_developer_guide): hand-author a slide's full HTML and its own scoped CSS, for a presentation that needs to look like a customer's own brand rather than the theme's. Freeform slides still render inside the same engine, under a small contract: one <section class="slide"> per slide, never restyle the engine's own classes, scope every custom CSS rule under one wrapper class so it can't leak into other slides, design to fit one fixed frame (no scrolling, no shrinking text to cram, split into another slide instead), and HTML plus CSS only (no <script>, since slides render server-side for export).

Check your work visually

screenshot_page renders a page or a presentation in a real headless browser and returns an image. For a presentation it shows the first slide by default; pass slide (a slideId or 1-based index) to check a different one.

Importing a PowerPoint

request_presentation_upload_url and import_uploaded_presentation import an existing .pptx file as a native deck, in two steps:

  1. request_presentation_upload_url returns a URL to PUT the raw .pptx bytes to directly (any file size), plus a token.
  2. import_uploaded_presentation takes that token and builds the deck.

The importer reads the file's text, tables, and images straight from it, nothing is invented, and matches them to the target theme's layouts. Two modes control how: reauthor (the default) has the model lay out the real content into the theme's layouts, grounded in the file so it can't fabricate facts; faithful is a plain, deterministic 1:1 reproduction with no model involved. A slide the importer can't reproduce faithfully (a dense logo wall, a custom diagram, a very dense table) is deferred, kept as a placeholder with a suggested fix, rather than faked.

See also

On this page