Skip to main content
Glama

update_card

DestructiveIdempotent

Update an existing card by its uid. For collections, prefer the add_*/remove_* delta fields (safe incremental edits: add_labels, remove_assignees, add_checklist_items, check_items, …); the plain collection fields (labels, assigned_to, checklists, cards_relations, links, attachments) REPLACE the prior state destructively and cannot be combined with their deltas. Use move_card to change list or position, and preview_description_update / update_description to edit the description.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesCard uid
typeNo
linksNoEach { url, description }; replaces the card's links
titleNo
labelsNoLabel names; unknown names are created on the project; replaces the card's labels
epic_idNo
due_dateNoISO-8601 date
add_linksNoAdd links: each { url, description? }; keeps existing links
add_labelsNoAdd labels by name (unknown names are created); keeps existing labels
checklistsNoEach { name, items: [{ description, checked }] }; items keep the supplied order; replaces the card's checklists
estimationNoComplexity estimate in story points (Fibonacci scale), not a time estimate
assigned_toNoAssignee user uids, discoverable via list_project_users; replaces the card's assignees
attachmentsNoEach { url, name }; the file is fetched from the url; replaces the card's attachments
check_itemsNoMark items done, matched by exact description within the named checklist
remove_linksNoRemove links by exact url; absent urls are no-ops
add_assigneesNoAdd assignees by user uid; keeps existing assignees
add_relationsNoAdd relations; keeps existing relations
remove_labelsNoRemove labels by name (case-insensitive); absent names are no-ops
uncheck_itemsNoMark items not done (same matching as check_items)
cards_relationsNoEach { type, target_card_id (a card uid on the same board) }; replaces the card's relations
remove_assigneesNoRemove assignees by user uid; absent uids are no-ops
remove_relationsNoRemove matching relations; absent ones are no-ops
add_checklist_itemsNoAppend items: each { checklist, description, checked? } — the named checklist is created if it does not exist
remove_checklist_itemsNoDelete items; absent items are no-ops

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The annotations already mark destructiveHint=true and readOnlyHint=false; the description goes further by enumerating which fields (labels, assigned_to, checklists, cards_relations, links, attachments) replace state destructively and by flagging the incompatibility with delta fields. It adds genuine behavioral context beyond the annotations, such as safe incremental edit semantics and exact-match/no-op removal behavior.

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

Conciseness5/5

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

Three sentences with the core purpose front-loaded ('Update an existing card by its uid'), followed by the highest-risk guidance and sibling routing. There is no filler, and the wording is dense but readable, earning its place for a 24-parameter tool.

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?

For a complex, destructive-capable mutation, the description covers the principal risk (replace vs delta), compatibility constraints, and sibling routing. Minor gap: it never explicitly states partial-update semantics (fields not provided are left unchanged), which is inferable but not stated, and there is no output schema describing the response.

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

Parameters4/5

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

With 88% schema coverage, the schema already documents most parameters, so the baseline is 3. The description adds an organizing semantic layer: it classifies collection fields into safe delta operations versus destructive replacement fields and states that they cannot be combined, which goes beyond what individual schema entries convey.

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: 'Update an existing card by its uid.' It distinguishes itself from siblings by naming move_card and the description-update tools, making it clear this tool handles card field updates rather than position or description edits.

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?

Explicitly instructs the agent to prefer add_*/remove_* delta fields for collections as 'safe incremental edits' and warns that plain collection fields 'REPLACE the prior state destructively and cannot be combined with their deltas.' It also names the alternatives move_card, preview_description_update, and update_description for other concerns, leaving no ambiguity about when to use this tool.

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