DeckFlow MCP should expose both product-level workflows and single-purpose file tools. The most important design choice is whether the final MCP server uses many narrow tools or fewer generic task tools with operation enums.
Recommended approach for agents: use a small set of workflow tools for Create, Revamp, and Translate, plus grouped tools for file conversion, extraction, merge/split, and optimization. This keeps the MCP surface readable while still covering the 23 public browser tools.
Common Task Model
Most DeckFlow operations should return a task object first, then let the agent poll status and fetch results.
| Proposed Tool | Description |
|---|
get_task | Get task status, progress, warnings, errors, and result metadata. |
list_tasks | List recent tasks for the authenticated user or workspace. |
cancel_task | Cancel a queued or running task when supported. |
get_task_result | Retrieve output files, previews, download URLs, and metadata for a completed task. |
Common Parameters To Define
| Parameter | Purpose | Required Decision |
|---|
task_id | Identifies an async job. | ID format, visibility scope, and expiration. |
status | Shows lifecycle state. | Enum such as queued, running, succeeded, failed, cancelled, expired. |
progress | Indicates completion. | Percent, stage name, ETA, or all three. |
result_urls | Provides generated files as temporary download links. | Signed URL lifetime and whether files also persist in workspace. |
warnings | Reports non-fatal issues. | Warning codes for missing fonts, layout changes, unsupported media, etc. |
error | Reports failure. | Error schema, retryability, user-facing message, and developer code. |
Create
| Proposed Tool | Description |
|---|
create_deck | Generate a deck from uploaded files, URLs, pasted text, Markdown, or a topic prompt. |
Expected inputs:
| Parameter | Description | Status |
|---|
source_type | Input type such as file, url, text, markdown, or topic. | Needs enum. |
source | File reference, URL, or text payload. | Needs file reference model. |
prompt | User instructions for structure, audience, tone, and emphasis. | Needs max length. |
output_format | PPTX, PDF, HTML, or image. | Needs enum and defaults. |
brand_profile_id | Optional Brand DNA profile to apply. | Needs Brand DNA model. |
theme_or_template_id | Optional template or design style. | Needs template catalog. |
slide_count | Desired number or range of slides. | Needs limits and defaults. |
aspect_ratio | Presentation ratio such as 16:9 or 4:3. | Needs enum. |
language | Output language. | Needs language code standard. |
preserve_complex_elements | Whether to preserve formulas, charts, images, and nested structures. | Needs default behavior. |
Revamp
| Proposed Tool | Description |
|---|
revamp_deck | Redesign an existing deck while preserving original text, data, and structure. |
Expected inputs:
| Parameter | Description | Status |
|---|
file | PPTX, Keynote, or PDF source deck. | Needs file reference model. |
style_mode | template or brand_dna. | Needs enum. |
template_id | Professional template to apply. | Needs template catalog. |
brand_profile_id | Brand DNA profile to apply. | Needs Brand DNA model. |
preserve_content | Whether original content must remain unchanged. | Should likely default to true. |
output_format | Result format. | Needs enum; likely same type or PPTX/PDF. |
batch_files | Optional multiple decks for batch revamp. | Needs max count and result packaging. |
Translate
| Proposed Tool | Description |
|---|
translate_deck | Translate decks and office documents while preserving layout and returning the same or selected output format. |
Expected inputs:
| Parameter | Description | Status |
|---|
file | PPTX, Keynote, PDF, Word, or Excel source file. | Needs file reference model. |
target_language | Target language. | Needs language code list. |
source_language | Optional source language. | Needs auto-detect behavior. |
glossary_id | Existing glossary to apply. | Needs glossary model. |
glossary_terms | Inline glossary terms for one task. | Needs schema and limits. |
preserve_layout | Preserve fonts, sizes, colors, animation, charts, SmartArt, tables, and image text. | Needs default and failure behavior. |
output_format | Same as input or explicit format. | Needs enum and defaults. |
formality | Tone/formality control if supported. | Needs enum or remove. |
The public tools page lists 13 converter tools. MCP can expose them as one grouped tool:
| Proposed Tool | Description |
|---|
convert_file | Convert one file or text-like source from a supported input format to a target format. |
Supported operation candidates:
| Operation | Input | Output |
|---|
html_to_png | HTML/HTM file or pasted HTML | PNG |
html_to_pptx | HTML/HTM file or pasted HTML | PPTX |
image_to_webp | Image | WebP |
keynote_to_html | Keynote | HTML |
keynote_to_image | Keynote | Images |
keynote_to_pdf | Keynote | PDF |
markdown_to_image | Markdown file or pasted Markdown | Image |
pdf_to_image | PDF | Images |
ppt_to_pptx | PPT/PPTX | PPTX |
powerpoint_to_pdf | PPT/PPTX | PDF |
powerpoint_to_image | PPT/PPTX | Images |
powerpoint_to_video | PPT/PPTX | MP4 |
word_to_pdf | DOC/DOCX | PDF |
Parameters to define:
| Parameter | Purpose |
|---|
operation | Converter operation enum. |
file | Uploaded file reference. |
content | Pasted HTML or Markdown when no file is used. |
output_format | Explicit output type when operation supports more than one. |
page_range | Optional page or slide range. |
render_width / render_height | HTML/image/video rendering size when relevant. |
scale | Image rendering density or pixel ratio. |
include_animations | Whether PPT to video should preserve basic animations. |
zip_outputs | Whether multi-file image outputs should be zipped. |
| Proposed Tool | Description |
|---|
extract_file_content | Extract OCR text, fonts, or PPTX text shapes from uploaded files. |
Supported operation candidates:
| Operation | Input | Output |
|---|
image_ocr | Image | Text or structured OCR result |
pptx_font_finder | PPTX | Font list |
pptx_text_extractor | PPTX | Structured text shapes |
Parameters to define:
| Parameter | Purpose |
|---|
operation | Extractor operation enum. |
file | Uploaded file reference. |
languages | OCR language hints. |
page_range | Slides or pages to inspect. |
include_coordinates | Return text box coordinates for OCR or PPTX text shapes. |
include_styles | Return font family, size, color, and style metadata when available. |
output_format | JSON, CSV, TXT, or ZIP if supported. |
| Proposed Tool | Description |
|---|
compose_files | Merge, split, or package presentation assets. |
Supported operation candidates:
| Operation | Input | Output |
|---|
pptx_merge | Multiple PPTX files | One PPTX |
pptx_split | One PPTX | ZIP of PPTX files |
html_player_pack | Multiple HTML files | Playable HTML package |
Parameters to define:
| Parameter | Purpose |
|---|
operation | Merge/split/package operation enum. |
files | Ordered file references. |
slide_ranges | Ranges to include or split by. |
preserve_styles | Whether to preserve source layout, fonts, and theme. |
canvas_width / canvas_height | HTML player canvas size. |
title | Optional HTML player title. |
description | Optional HTML player description. |
output_name | Desired output filename. |
| Proposed Tool | Description |
|---|
optimize_file | Compress, resize, or embed assets in files before delivery. |
Supported operation candidates:
| Operation | Input | Output |
|---|
file_compress | ZIP, PPTX, Keynote, DOCX, XLSX | Compressed file |
image_resize | Image | Resized image |
pptx_embed_fonts | PPTX plus font choices/files | PPTX |
video_compress | Video | Compressed video |
Parameters to define:
| Parameter | Purpose |
|---|
operation | Optimizer operation enum. |
file | Uploaded file reference. |
quality | Compression quality preset or numeric value. |
target_size_mb | Desired maximum output size. |
width / height | Image resize dimensions. |
lock_aspect_ratio | Preserve original image aspect ratio. |
font_files | Font files to embed into PPTX. |
font_names | Existing font names to embed or subset. |
video_codec | Codec selection if supported. |
video_bitrate | Bitrate target if supported. |
| Proposed Tool | Description |
|---|
get_current_user | Return authenticated user, workspace, plan, and usage details. |
get_deckflow_capabilities | Return supported tools, formats, limits, languages, templates, and feature flags. |
list_brand_profiles | List available Brand DNA profiles. |
list_templates | List templates available for Create or Revamp. |
list_glossaries | List translation glossaries. |
list_supported_languages | List supported language codes and names. |
These tools reduce hard-coded docs and help agents choose valid parameters at runtime.
File Size Limits From Current Public Pages
| Workflow / Tool | Current Public Limit |
|---|
| Translate product workflow | Up to 500 MB |
| HTML tools | 50 MB |
| Markdown to Image | 10 MB |
| Image OCR | 50 MB |
| Image to WebP / Image Resizer | 100 MB |
| Most deck/document/video tools | 300 MB |
Final MCP docs must clarify whether MCP uses the same limits as browser tools, API limits, or plan-specific limits.