← MCP server
Slidura exposes 42 MCP tools across eight areas. All tools require a valid API key
(account dropdown → API keys). Individual tools note the scope they require where it
differs from the default read scope.
Recommended agent loop
The recommended sequence for producing a finished deck:
list_templates — pick a template and note its catalog_id.get_catalog — read the annotated field brief and theme palette.create_build — open a draftable build (no credit spent yet).- (optional) create media assets (
create_chart, create_diagram, etc.) and use the returned @kind:<id> sentinels as field values. update_build_fill — write or revise the working fill (lenient validation; repeatable).start_build — validate, spend one credit, and enqueue. Raises with a checkout URL when the balance is zero.get_build_status — poll until status is "completed".get_build_result — receive a short-lived signed download URL for the .pptx.
One credit is spent per start_build call. If the build fails the credit is refunded automatically.
submit_build is a single-call shortcut (seeds + starts in one step) for agents that
do not need the draft-editing loop.
Templates and catalogs
| Tool | What it does | Scope |
|---|
list_templates | Your templates plus shared starter templates, each with catalog status. | read |
get_template | One template: versions and current catalog status. | read |
get_catalog | The annotated compact catalog — field keys, display names, descriptions, types, choices, and the deck’s design palette. The brief for filling a template. | read |
get_fill_schema | The fill document format expected by submit_build and start_build, with field/variable rules, @ref syntax, and examples. | read |
request_enrichment | Kick off a vision enrichment pass to propose human-friendly field names from slide images. | write |
get_enrichment_status | Poll enrichment progress (running, done, slide counts). When done, re-read with get_catalog. | read |
Builds and lifecycle
Builds follow a lifecycle: created → started → built/failed → archived.
| Tool | What it does | Scope |
|---|
create_build | Open a new created build, optionally seeding from a fill document or the catalog’s defaults. No credit spent. | build |
update_build_fill | Replace a created build’s working fill (lenient validation; call as many times as needed). | build |
start_build | Validate, spend one credit, and enqueue the build. | build |
get_build_status | Poll a build: status, lifecycle, slides_kept, output_available, error_message. | read |
get_build_result | Signed download URL for a finished build’s .pptx (short-lived). | read |
submit_build | Create and immediately start a build from a fill document in one call. Deducts one credit. | build |
list_builds | Your builds newest first; optional lifecycle filter (created|started|built|failed|archived). | read |
copy_build | Copy any build into a fresh created build — the resurrection path for archived builds. | build |
Ref search
| Tool | What it does | Scope |
|---|
search_refs | Search fillable assets (icons, images, charts, tables, arts, diagrams, code blocks) and get paste-ready @kind:<id> sentinels. Filter by kinds, pass a context (build or template id) to rank scoped items first. | read |
Charts
| Tool | What it does | Scope |
|---|
create_chart | Create a chart asset from JSON ({categories, series}), CSV, or TSV. Returns @chart:<id>. | write |
list_charts | Your charts with build refs. | read |
get_chart | A chart’s IR and @chart:<id> ref. | read |
Tables
| Tool | What it does | Scope |
|---|
create_table | Create a table asset from a list-of-lists, list-of-objects, or inline CSV/TSV/Markdown. Returns @table:<id>. | write |
list_tables | Your tables with build refs. | read |
get_table | A table’s IR and @table:<id> ref. | read |
Images
Images are uploaded directly from the agent to storage — bytes never transit this server.
| Tool | What it does | Scope |
|---|
request_image_upload | Reserve quota and receive a pre-signed PUT target. PUT the bytes directly to the returned URL. | write |
confirm_image | Validate the uploaded image and receive @image:<id>. | write |
list_images | Your images with build refs. | read |
get_image | An image’s metadata and @image:<id> ref. | read |
Icons
| Tool | What it does | Scope |
|---|
list_icon_packs | Your uploaded packs plus bundled packs, with glyph counts. | read |
get_icon_catalog | Full glyph catalog for a pack — name, description, usage hints, keywords. | read |
search_icons | Search a pack’s glyphs by name, keywords, or description. | read |
get_icon_ref | @icon:<pack>/<name> sentinel for a specific glyph. | read |
enrich_icon | Write back description, usage hint, and keywords for a glyph in your own pack. | write |
Diagrams
Diagrams are rendered asynchronously via the Mermaid render service.
| Tool | What it does | Scope |
|---|
create_diagram | Create and enqueue a Mermaid (or raw SVG) diagram render. Pass template_id to inherit the deck’s palette. Returns diagram_id. | write |
get_diagram_status | Poll render progress. | read |
get_diagram | A ready diagram’s @diagram:<id> ref and a signed PNG URL for vision preview. | read |
Code blocks
| Tool | What it does | Scope |
|---|
create_code_block | Create an animated code-block asset with syntax highlighting and optional reveal steps. Returns @code:<id>. | write |
list_code_blocks | Your code blocks with build refs. | read |
get_code_block | A code block’s IR and @code:<id> ref. | read |
Procedural arts
Arts are SmartArt-style diagrams generated from structured data, placed as native shapes.
| Tool | What it does | Scope |
|---|
list_art_layouts | All 35 art layouts: id, category, accepted structure types, item capacity, and the options schema. | read |
create_art | Create an art asset from a structured data payload (list, table, tree, or graph). Returns @art:<id>. | write |
get_art | An art’s spec and @art:<id> ref. | read |
Theme and account
| Tool | What it does | Scope |
|---|
get_account | Your user id, email, and current credit balance. | read |
get_template_theme | A template’s Mermaid theme config plus its design palette (colors, fonts) for styling self-rendered content to match the deck. | read |
set_template_theme | Set a template’s Mermaid theme. Accepts @theme: tokens that track the deck’s palette across re-brands. | write |