Skip to main content
Glama

Make an AI short

ai_short_create

Costs the render price (quote.render_cents from ai_short_estimate): makes the project AND starts the render in one call. Pass that price as confirm_cents (the most you agree to; the actual charge is at most that). Pass an idempotency_key so a retry never buys twice.

Args: plan: the plan from ai_short_draft / ai_short_revise. confirm_cents: the price you showed the user, whole cents. idempotency_key: any unique string (1-200 printable chars). attachment_ids: the staged image ids the plan names (up to 8). origin: create (optional; marks it as started from the Create page).

Returns: {ok, project_id, job_id, kind: "render", poll_after_s: 15, cents}. Poll with wait_for_job, or studio_get_project. If the render is refused after the project was made, the answer carries project_id and a hint: call studio_render(project_id, confirm_cents), do NOT call ai_short_create again (that makes a second project).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plan": "<plan>",
      "confirm_cents": "<confirm_cents>"
    },
    "name": "ai_short_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
planYesThe `plan` from ai_short_draft / ai_short_revise.
originNo
confirm_centsYes
attachment_idsNoStaged image ids (up to 8) the short may show or use as references.
idempotency_keyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false; the description carries the real behavioral weight by disclosing that this spends money, that confirm_cents is a ceiling on the charge, that idempotency_key prevents double purchase on retry, and what the state looks like when the render is refused after project creation. It does not state which permission or balance is required to spend, which is the remaining gap.

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?

Front-loaded with the cost-and-two-effects fact, then a compact Args/Returns block that maps one-to-one onto the schema. Slightly redundant where attachment_ids is re-described after the schema already covers it, and the Returns section is dense, but no sentence is filler.

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?

With no output schema, the Returns block supplies the response shape (project_id, job_id, kind, poll_after_s, cents) and the follow-up path via wait_for_job or studio_get_project. Combined with the documented failure branch, an agent has everything needed to call it and recover correctly.

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

Parameters5/5

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

Schema description coverage is only 40%, but the description compensates for every parameter: plan's provenance, confirm_cents as the max agreed charge in whole cents, idempotency_key's uniqueness and 1-200 printable-character constraint (absent from the schema), attachment_ids as staged ids up to 8, and origin as the optional Create-page marker.

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

Purpose5/5

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

The first sentence names a specific compound action — it creates the project AND starts the render in one call — and ties it to the price from ai_short_estimate. That distinguishes it from ai_short_estimate (quote only), ai_short_draft (plan only) and studio_render (render only) without the agent needing to open any schema.

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

Usage Guidelines5/5

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

It states the precondition (obtain quote.render_cents from ai_short_estimate), the required hand-off from ai_short_draft/ai_short_revise for the plan, and an explicit negative rule: on a post-project render refusal call studio_render(project_id, confirm_cents) and do NOT call ai_short_create again because that makes a second project. Alternatives and the exclusion are both named.

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