250+ finished slide layouts and 40+ themes your agent can search, fetch and build a deck from
Connect Remote server
claude mcp add --transport http getdeck https://getdeck.co/api/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"getdeck": {
"url": "https://getdeck.co/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"getdeck": {
"type": "http",
"url": "https://getdeck.co/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://getdeck.co/api/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 22 found in our last check
list_layoutsSearch or filter the layout catalog to find a specific layout. Returns metadata only, no HTML. Each entry has position (opener/middle/closer: its role in a deck), when_to_use and when_not_to_use: read them to check the layout fits the content before choosing it. Filter by positi…
list_themesSearch or filter the theme catalog. Returns metadata and key colors only, not the full CSS. With an API key, the user's own saved themes (My Themes, id "custom:...") come last with custom: true; their ids work anywhere a theme id does.
get_layoutReturn one layout as a ready-to-use, self-contained document: HTML, theme CSS, and its slot definitions. Call this once the user knows which layout they want, or with ids returned by suggest_deck.
get_themeReturn one theme in full: its complete CSS and design tokens.
get_starter_kitCall this when joining several fetched layouts into one deck file. Requests like "merge these into one file", "bundle it as a deck", or "make it one HTML" mean this tool. Returns the base CSS, assembly rules, spacing tokens, and a viewport snippet for standalone viewing.
suggest_deckCompose a deck and return a preview link the user can open in the browser right away. The user sees what the finished deck looks like without a single file being generated. Use this for requests like "make me a pitch deck", "I need a sales deck", "10 slides for an investor updat…
render_slideFill one layout with your text and get back a finished, self-contained HTML document (theme, base and contract CSS inlined) that renders correctly when opened. Use it instead of get_layout when you already know the text: you do not assemble CSS or edit the markup yourself. Input…
check_slotsValidate slot text against a layout before rendering. Nothing is rendered and no CSS is returned, so it is cheap: run it on every slide you wrote, fix what it reports, then call render_slide. Input: layout_id and slots (slot id to text), the same as render_slide. Returns { layou…
check_deckValidate the slide ORDER of a whole deck before you build it. check_slots looks at one slide's text; this looks at the sequence. Input: layout_ids, the layout of every slide in order. Returns { slide_count, ok, error_count, warning_count, issues[], unknown_layout_ids? }. Each is…
export_pptxTurn a deck into a downloadable .pptx file. Requests like "make it a PowerPoint", "PPT로 뽑아줘", or "export this deck" mean this tool. Takes the layout ids and the text for each slot, and returns a signed download link. Coordinates come from our measurements, so the file matches wh…
save_templateSave a deck as a named template in the user's My Templates so it can be reused later. Requires a Pro account; without one the call fails and nothing is saved. Use it after you have built a deck the user wants to keep, for example from suggest_deck. Input: name, optional theme_id…
list_templatesList the templates the user saved in My Templates, and those of the team they belong to: id, name, owner ("personal" or "team"), slide_count, theme_id, source, updated_at, version (the published version; also as published_version) and has_draft (the template has unpublished chan…
get_templateReturn one saved template: name, theme_id, palette? (the deck palette) and slides as [{id, layout, slots, objects, overrides?}], plus each slide's slot definitions with max_chars. Use it to fill the same structure with new text, then save with update_template or export with expo…
update_templateChange a template the user already saved. The change is saved to the template's draft: the share link, the presentation and export_pptx(template_id) keep showing the published version until you call publish_template. Requires a Pro account; without one the call fails and nothing…
publish_templatePublish a template's draft: the changes saved by update_template, add_objects, update_objects and remove_objects (or made in the web editor) become the published version, which is what the share link, the presentation, teammates and export_pptx(template_id) show. A new entry is…
list_template_versionsList a template's version history, newest first: version_number, published_at, published_by ("you", a teammate's email, or null), note and slide_count. A version is added each time the template is published (publish_template or the Publish button on the web); the 30 most recent…
list_mediaList the images the user uploaded to their media library on the web: id, name, width, height, aspect_ratio (width/height), bytes, mime and created_at, newest first, plus used_bytes. Pass an id to add_objects to place the picture on a slide. You cannot upload an image or fetch on…
add_objectsAdd text boxes, shapes and images on top of one slide of a saved template, up to 50 per call and 50 per slide. Requires a Pro account. Use this instead of update_template to place objects: it never touches slots, other slides or other objects. Each item is {type:"text", text, ..…
update_objectsChange objects already on a slide, by id: position, size, rotation, text, look (font, colour, fill, border, shadow, line), a shape's kind, the image's alt text or picture, stacking order, behind (true sends it behind the layout's own elements, false brings it back in front), gro…
remove_objectsRemove objects from a slide by id. Requires a Pro account. The slide, its slots and the other objects stay. Only objects can be removed here; slides and templates are deleted on the web. If any id is not on the slide, or one is locked (unlock it with update_objects first), nothi…
list_pending_reviewsList the review requests ("confirm" requests) in the user's team that are waiting on them: templates whose review is requested or needs a new look because the slides changed after an approval, where the user was picked as a reviewer or has not decided yet. Their own requests are…
get_template_feedbackRead the pin comments teammates left on a team template. By default only unresolved ones on slides the template still has; pass include_resolved to get every thread. Each thread has the comment id, slide_id and slide_number (null if the slide was deleted), slot (the text slot un…
Headers
| Name | Description |
|---|---|
AuthorizationRequired, secret | Bearer <api key>. Issue a key at https://getdeck.co/mypage after signing in. |
Details
| Endpoint | https://getdeck.co/api/mcp (Streamable HTTP) |
| First published | 5 Nov 2026 |
| Last updated | 5 Nov 2026 |
| Registry name | studio.dodraft/getdeck |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
