Skip to main content
Glama

Compile Carousel

carousels_compile
DestructiveIdempotent

Create or replace a carousel project from a slide document. Server owns chip layout, safezones, and exact export pixels.

Input Schema

NameRequiredDescriptionDefault
nameYes
styleNo
localeNo
slidesYes
platformYes
series_idNo
project_idNo
workspaceIdNo
clear_existingNo
idempotencyKeyYes

Output Schema

NameRequiredDescriptionDefault
frameYes
job_idNo
slidesYes
platformYes
revisionYes
warningsYes
project_idYes
slide_countYes
next_actionsYes
ai_image_run_idNo
mutationReceiptYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / slides / items / properties / visual / properties / creative_artifact_id
      Added value: +{
      +  "format": "uuid",
      +  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +  "type": "string"
      +}
    • addedInput schema / properties / slides / items / properties / visual / properties / crop
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "height": {
      +      "exclusiveMinimum": 0,
      +      "maximum": 1,
      +      "type": "number"
      +    },
      +    "left": {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "top": {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "width": {
      +      "exclusiveMinimum": 0,
      +      "maximum": 1,
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "left",
      +    "top",
      +    "width",
      +    "height"
      +  ],
      +  "type": "object"
      +}
    • changedInput schema / properties / slides / items / properties / visual / properties / kind / enum
      Previous value: -[
      -  "media_asset",
      -  "generate",
      -  "solid",
      -  "gradient",
      -  "html",
      -  "template"
      -]New value: +[
      +  "creative_source",
      +  "media_asset",
      +  "generate",
      +  "solid",
      +  "gradient",
      +  "html",
      +  "template"
      +]
  2. Added

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructive=true, idempotent=true, readOnly=false, and openWorld=false, so the safety profile is covered. The description adds genuinely useful ownership context ('Server owns chip layout, safezones, and exact export pixels'), telling the agent the server controls pixel-level layout. However it does not explain the create-vs-replace trigger, the role of idempotencyKey, or what clear_existing destroys.

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

Conciseness4/5

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

Two tightly written sentences with no filler, and the operation plus its scope are front-loaded. Nothing is wasted, though the extreme brevity is part of the completeness problem rather than a virtue here.

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

Completeness2/5

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

This is a complex mutation with 10 parameters, nested objects, and enum-driven visual kinds, and the description covers almost none of that surface. An output schema exists so return values needn't be explained, but the upsert trigger (project_id), clear_existing, idempotencyKey, and the required 'slides' structure are all undocumented.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters (project_id, clear_existing, style, locale, idempotencyKey, etc.), so the description carries the full burden and largely fails to. 'From a slide document' loosely gestures at the slides array and 'chip layout' at the style.chip object, but no parameter behavior, format, or required-vs-optional meaning is clarified.

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?

States a specific verb+resource ('Create or replace a carousel project from a slide document'), and 'create or replace' usefully signals upsert semantics. It does not name or distinguish itself from adjacent siblings like carousels_preview, carousels_clone, or carousels_patch_slide, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

No guidance on when to use this versus carousels_preview (validate first?), carousels_clone, or carousels_patch_slide (incremental edits). No prerequisites, no mention of when a replace is triggered vs a fresh create. The agent is left to infer routing from the verb alone.

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.

Resources