Skip to main content
Glama

Create narrated presentation

create_presentation
Destructive

Generate a narrated presentation from an html-presentation/v1 document. BEFORE authoring, call get_presentation_spec and follow it exactly — slides without its narration markup publish SILENT. Returns a presentationId and the watch URL. Narration runs in the background and the inline player tracks it on its own, so reply to the user as soon as this returns and do not call get_presentation_status unless the user asks whether it is done.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoURL slug; defaults to a slugified title.
titleNoDisplay title for the watch page and listings. Omit to use the title parsed from the document.
assetsNoFiles the document references relative to itself — fonts, images, Lottie/Rive animations, sound-effect audio, video clips. The SERVER fetches each https url at create time and stores it in the bundle, so reference `assets/...` paths in your HTML and list the sources here instead of inlining base64. 10MB per asset, 30MB total.
dryRunNoSandbox: run every check a real create runs (format, slug and org conflicts, tier cap, credit preflight) and write nothing. The reply has status "validated" and the webUrl a real create would publish at. Use it to test an integration without touching the channel.
handleNoPublish under a specific channel handle you own.
voiceIdNoNarration voice. ElevenLabs: a bare id or cloud:<id>. Self-hosted Kokoro: kokoro:<id> (e.g. kokoro:af_heart); local:<id> is accepted as a synonym. Omit to use the voice saved on the account (bisque.cloud/account), falling back to the server default.
designMdNoDesign frontmatter mapped to theme tokens.
contextMdNoShared-with-viewer context.md.
indexHtmlYesFull html-presentation/v1 document (the presentation-format meta gate applies).
visibilityNounlisted (the default) is shareable by link and plays in chat-embedded players; private requires the owner to sign in, so an inline chat player shows a sign-in wall instead of playing — choose private only when the user asked for it.unlisted
speechSpeedNoNarration speed multiplier passed to the voice. Omit for the server default.
presentationIdNoStable id for idempotent re-creates; defaults to slug-<hash(userId:slug)>.
voiceStabilityNoVoice stability setting passed to the narration engine. Omit for the server default.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYesready = nothing needed narration; queued = narration runs in the background — poll get_presentation_status.
webUrlYesShareable watch URL (live once status is ready).
narrationYes
statusUrlYes
presentationIdYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changed
    • addedInput schema / properties / speechSpeed / description
      Added value: +"Narration speed multiplier passed to the voice. Omit for the server default."
    • addedInput schema / properties / title / description
      Added value: +"Display title for the watch page and listings. Omit to use the title parsed from the document."
    • addedInput schema / properties / voiceStability / description
      Added value: +"Voice stability setting passed to the narration engine. Omit for the server default."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond the annotations: narration runs in the background, the inline player tracks it independently, and polling get_presentation_status is unnecessary unless the user asks. It also warns that slides without the required narration markup publish silently, which is critical behavioral information. These details are not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly written in four sentences, with the most important workflow directive front-loaded. Every sentence provides actionable information and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 13-parameter schema, output schema, and annotations, the description covers the essential operational context: prerequisite spec call, background narration behavior, return values, and the polling caveat. Nothing critical an agent needs to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented. The description additionally explains the consequence of not following the spec in the indexHtml parameter (silent publishing), adding value beyond the raw schema. It does not cover every parameter, but it does not need to given the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a narrated presentation from an html-presentation/v1 document, which is a specific verb and resource. It also names the return values (presentationId and watch URL). However, it does not explicitly distinguish itself from the sibling publish_narrated_presentation, so it falls just short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit workflow guidance: call get_presentation_spec before authoring, follow its narration markup exactly, and do not call get_presentation_status unless the user asks about completion. It does not, however, state when to choose this tool over publish_narrated_presentation or mention alternatives explicitly, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Tools are grouped into clear resource families (artifacts, artifact threads, presentations, channels) and descriptions explicitly redirect between create_artifact and create_presentation. The main potential confusion is create_presentation vs publish_narrated_presentation, since both produce presentations but differ in narration source; the descriptions do clarify this.

Naming Consistency5/5

All tools use snake_case verb_noun naming with consistent families like get_artifact, get_artifact_thread, and get_presentation_spec. publish_narrated_presentation is longer but still follows the verb_noun pattern, and there are no mixed casing styles or erratic naming conventions.

Tool Count4/5

19 tools is above the typical 3-15 range, but the count is justified by four clear subdomains: artifacts, artifact threads, presentations, and channels. No tools are redundant, though the set is large enough to feel slightly heavy.

Completeness4/5

Artifacts have full CRUD plus sharing, and threads have create/read/list/reply/resolve. Presentations cover authoring spec, creation/publishing, status, analytics, and reading context, but there is no delete or explicit update endpoint for presentations and no exposed way to fetch mentionables; these are workable gaps rather than fatal ones.

Resources