Skip to main content
Glama

Arrange cards

arrange_cards

Lay chosen cards (or the whole board) out as a grid, a row or a column. 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
gapNoOptional spacing in pixels; defaults to 24.
idsNoCard ids to arrange; omitted means every card.
layoutYes
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
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

A3.7/5.0
Behavior4/5

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

Annotations declare non-readOnly/non-destructive, and the description adds genuinely new behavioral facts: zero credit cost and the exact OAuth/API-key auth path. It doesn't cover what happens on a stale revision or whether arrangement is reversible, so it stops short of 5.

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?

The core action leads, cost is stated in three words, and the auth block is isolated and clearly flagged. The auth sentence is long but it is load-bearing 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 80% parameter coverage, the description needn't explain returns. It covers purpose, cost, and auth, which are the main pre-call unknowns for a 5-parameter mutation tool; only revision/conflict behavior is left to the schema.

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 coverage is 80%, so the schema already explains ids, gap, revision and canvas_id. The description only echoes the ids/whole-board distinction ('chosen cards (or the whole board)'), adding no format or default detail beyond the schema — baseline 3.

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?

Specific verb+resource: 'Lay chosen cards (or the whole board) out as a grid, a row or a column' states both the operation and the three supported layouts. It does not name the adjacent siblings (move_cards, group_cards) that an agent might confuse it with, so it falls short of a 5.

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?

'Costs no credits' and 'or the whole board' hint at when this is cheap/appropriate, and the auth block tells the agent how to get access. But there is no explicit when-to-use-versus-move_cards/group_cards guidance and no exclusions.

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.