Skip to main content
Glama

Add frame

add_frame

Add a labelled frame (a region such as Week 1 or Hooks) to a board. The frame is placed in free space like a new card and encloses no existing card. Costs no credits. 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
labelYesThe frame's label, up to 200 characters.
widthNoOptional width in pixels; defaults to 480.
heightNoOptional height in pixels; defaults to 360.
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/5.0
Behavior4/5

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

Annotations already declare the mutation/safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), but the description adds non-obvious behavior: no credit cost and the fact that the frame encloses nothing existing. The OAuth/API-key sign-in requirement with a concrete header format is genuinely useful preconditions context that structured fields do not carry.

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 is front-loaded in the first sentence, followed by behavioral notes then auth requirements, ordered by relevance. The auth block is verbose with a full URL, but it earns its place as a blocking prerequisite; nothing is redundant.

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 annotations, a fully covered input schema, and an output schema present, the description closes the remaining gaps: cost, placement semantics, and authentication. An agent has everything needed to decide and invoke without further reading.

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 100%, so all six parameters are already documented including defaults and the revision semantics. The description adds only marginal meaning beyond that ('placed in free space' echoes the position parameter's 'first free grid cell' description), so the baseline of 3 is appropriate.

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 a labelled frame') and disambiguates the concept with concrete examples ('a region such as Week 1 or Hooks'). It also clarifies the frame 'encloses no existing card', which separates it from grouping/arrangement siblings like group_cards without needing to open their schemas.

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

Usage Guidelines3/5

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

Usage context is only implied: 'placed in free space like a new card' suggests when auto-placement applies, but there is no explicit when-to-use-this-vs-group_cards or when-to-pass-position guidance. An agent can infer the scenario, but alternatives are never 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.