Skip to main content
Glama

Add media card

add_media_card

Add an image or video card to a board from a public https URL (an import_asset result, a finished generation's video_url, or an ad's video_url). Costs no credits. Returns the whole board and the new card. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic https URL of the image or video.
kindYes
titleNoOptional title, up to 200 characters.
widthNoOptional card width in pixels.
heightNoOptional card height in pixels.
sourceNoOptional provenance: where the media came from.
captionNoOptional caption, up to 2000 characters.
positionNoOptional { x, y } in board pixels. When omitted the server places the card in the first free grid cell.
revisionNoThe board revision this change is based on (from the last board you saw). Optional: when omitted the tool reads the current one first.
canvas_idYesThe board id, from list_canvases or create_canvas.

Output Schema

NameRequiredDescriptionDefault
cardYes
canvasYes
next_stepYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedOutput schema / properties / canvas / properties / updated_at
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / canvas / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "revision",
      -  "card_count",
      -  "updated_at",
      -  "link",
      -  "cards",
      -  "edges"
      -]New value: +[
      +  "id",
      +  "name",
      +  "revision",
      +  "card_count",
      +  "link",
      +  "cards",
      +  "edges"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / canvas / properties / edges / items / description
      Added value: +"A connection drawn from one card to the next: { id, source, target, label? }. data.role start_image means the source card's finished image is the target card's start frame."
    • addedOutput schema / properties / canvas / properties / edges / items / properties
      Added value: +{
      +  "id": {
      +    "type": "string"
      +  },
      +  "label": {
      +    "description": "Text drawn on the line, when it has one."
      +  },
      +  "source": {
      +    "description": "The card the connection starts from.",
      +    "type": "string"
      +  },
      +  "target": {
      +    "description": "The card it leads to.",
      +    "type": "string"
      +  }
      +}
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Goes well beyond the annotations: discloses zero credit cost, that the response is the whole board plus the new card, and the full auth path (OAuth via host prompt or an acd_live_ Bearer key). One meaningful gap remains for a mutation tool: idempotentHint=false is not surfaced, so nothing warns that a retry will create a duplicate card rather than being a no-op.

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?

Purpose, cost, and return shape are front-loaded in two short sentences, then the auth block. The auth paragraph is long and largely boilerplate, but it is genuinely necessary setup information rather than filler.

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

Completeness4/5

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

With an output schema present and 90% schema coverage, the description covers the two things structured data can't: authentication and credit cost. For a 10-parameter, nested-object mutation tool, the only missing piece an agent would want is what happens on a stale or missing 'revision'.

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

Parameters3/5

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

Schema description coverage is 90%, so the schema already documents url, title, caption, position, revision, and source. The description only adds the constraint that the URL must be public https and where it typically comes from; it adds nothing about the 'kind' enum, the optional 'source' provenance object, or revision conflict behavior.

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?

States a specific verb and resource ('Add an image or video card to a board') plus the accepted input form (public https URL), which cleanly separates it from add_text_card, add_generation_card, and add_frame. It even names the upstream producers of that URL (import_asset result, generation's video_url, ad's video_url), so an agent knows exactly which artifact this tool consumes.

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?

Clear about the condition for use — a public https URL from one of three named sources — and adds a cost signal ('Costs no credits') that helps an agent pick this over a paid generation route. It never states exclusions, e.g. that non-https or private URLs are rejected or when add_generation_card should be preferred over re-adding a generation's video_url.

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.