getdeck
dodraft/getdeckgetdeck gives your AI agent a library of ready-made presentation slides. Agents such as Claude Code, Claude Desktop, ChatGPT, Gemini, Cursor, VS Code, Windsurf and Cline can search layouts and themes and fetch them while you work. Search works without a key. There are over 160 slide layouts in 17 categories (cover, chart and data, timeline, comparison, pricing, team, closing and more) and 41 themes. Each layout is a self-contained HTML page at 1920x1080, and any layout can be previewed in any theme. Every text slot has a character limit, so a title or a stat does not overflow its box. Searching layouts and themes needs no key. Fetching a full layout or theme needs a free API key from getdeck.dodraft.studio (sign in with Google). The Pro plan ($9.99 per month, 7-day free trial) lets the agent compose a whole deck: give it a topic, and it picks a theme and a slide order and returns a preview link you can open in the browser.
Score: 100/100
Handshake verified by our own probe.
Tools · 19
Search 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…
Search 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…
Return 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.
Return one theme in full: its complete CSS and design tokens.
Call 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, assembl…
Compose 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 …
Fill 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 al…
Validate 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: l…
Turn 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 signe…
Save 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 us…
List 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 and version. Team templates a…
Return one saved template: name, theme_id 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, …
Change a template the user already saved. Requires a Pro account; without one the call fails and nothing is changed. Pass the template id and any of: name, theme_id, slides (replaces all slides), or a…
List 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_…
Add text boxes 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 sl…
Change objects already on a slide, by id: position, size, rotation, text, text style, the image's alt text or picture, stacking order, and behind (true sends it behind the layout's own elements, false…
Remove 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 …
List 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 t…
Read 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, sl…
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://getdeck.co/api/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"getdeck": {
"url": "https://getdeck.co/api/mcp",
"transport": "http"
}
}
}