getdeck
160+ finished slide layouts and 41 themes your agent can search, fetch and build a deck from
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen get_theme
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"getdeck": {
"url": "https://getdeck.dodraft.studio/api/mcp"
}
}
}Puntos de conexión remotos
https://getdeck.dodraft.studio/api/mcpstreamable-httphttps://getdeck.co/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (7)
🟢list_layouts(category, query, limit, since)
Search or filter the layout catalog to find a specific layout. Returns metadata only, no HTML. Also the tool for "what is new", "any new layouts?", "what got added since last month" - pass `since` and it returns only what landed after that date. If the user asked for a whole deck rather than one slide, call suggest_deck first instead of this.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string"
},
"query": {
"type": "string"
},
"limit": {
"default": 30,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 150
},
"since": {
"description": "ISO date (YYYY-MM-DD). Only layouts added after it. Use for \"what is new\" questions; if the user gave no date, a month back is a sensible default.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_themes(mood, scheme)
Search or filter the theme catalog. Returns metadata and key colors only, not the full CSS.
Esquema de entrada
{
"type": "object",
"properties": {
"mood": {
"type": "string"
},
"scheme": {
"type": "string",
"enum": [
"light",
"dark"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_layout(id, theme_id, lang)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"theme_id": {
"type": "string"
},
"lang": {
"default": "ko",
"description": "Language for slot hints and usage notes. Pass the language the user is writing in.",
"type": "string",
"enum": [
"ko",
"en"
]
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_theme(id)
Return one theme in full: its complete CSS and design tokens.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_starter_kit
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, assembly rules, spacing tokens, and a viewport snippet for standalone viewing.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡suggest_deck(purpose, slide_count, tone, deck_id, theme_id, ...)
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 "make me a pitch deck", "I need a sales deck", "10 slides for an investor update", "put together a product overview", or "show me a deck outline" - anything where the user has a topic but has not picked layouts yet. ALSO use it when the user already has layouts in hand - "이 레이아웃들 모아서 프리뷰 만들어줘", "combine these layouts into a preview", "추천 프리뷰 만들어줘", "show these together as a deck" - pass them as layout_ids and it returns ONE deck preview link for the whole set. Never answer that kind of request with a list of individual layout links: one deck preview is the deliverable. Returns one theme + a slide order + the preview link, plus a `clarify` question to put to the user so the composition and theme are their call, not a guess. Always pass the preview link through to the user verbatim, ask clarify.question with its options, and wait for the answer - then call this tool again with deck_id / theme_id as clarify.answer_with says. Do not start generating files while a clarify question is unanswered. Once it is settled, fetch each layout id with get_layout, then call get_starter_kit to join them into one deck.
Esquema de entrada
{
"type": "object",
"properties": {
"purpose": {
"type": "string",
"description": "The user's topic or goal, in their own words. e.g. \"startup pitch deck\", \"quarterly business review\""
},
"slide_count": {
"default": 10,
"description": "How many slides. If the user did not say, use the default of 10 rather than asking.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 30
},
"tone": {
"description": "Desired mood. e.g. \"minimal\", \"bold\", \"warm\". Omit if the user did not mention one.",
"type": "string"
},
"deck_id": {
"description": "The composition the user picked from a previous call's clarify.options. Skips topic matching.",
"type": "string"
},
"theme_id": {
"description": "The theme the user picked from a previous call's clarify.options. Pass deck_id along with it.",
"type": "string"
},
"layout_ids": {
"description": "Layout ids the user or you already picked, in slide order. Skips topic matching and slide_count: the preview link is built from exactly these layouts.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"purpose"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢export_pptx(theme, slides)
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 signed download link. Coordinates come from our measurements, so the file matches what the gallery shows — but the boxes are fixed, so text longer than slots[].max_chars will be clipped.
Esquema de entrada
{
"type": "object",
"properties": {
"theme": {
"description": "Theme id. Only measured themes work; omit to use the default.",
"type": "string"
},
"slides": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "object",
"properties": {
"layout": {
"type": "string"
},
"slots": {
"description": "Slot id to text. Ids and their max_chars come from get_layout.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"layout"
]
},
"description": "Up to 25 slides, in order."
}
},
"required": [
"slides"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia