Skip to main content
Glama

Remove Card External Link

kaiten_remove_card_external_link
Destructive

Permanently remove an external link from a card. Preflight checks that the card and link IDs match before deletion, preventing cross-card mistakes.

Instructions

Remove an external link from a card permanently. Unlike blockers (where DELETE is a soft release), this is a true hard-delete — the link disappears from kaiten_list_card_external_links afterwards. Preflight verifies the cardId+linkId pair matches before deletion, to prevent silent cross-card removal. linkId from kaiten_list_card_external_links.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardIdYesCard ID (parent, from kaiten_search_cards)
linkIdYesExternal link ID (from kaiten_list_card_external_links)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.7

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, but the description adds meaningful behavioral context beyond them: permanence ("permanently," "true hard-delete"), the observable post-condition (link disappears from kaiten_list_card_external_links), and a safety mechanism (preflight verifies cardId+linkId match to prevent silent cross-card removal). This substantially enriches what the annotations alone convey.

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 zero waste: the core action is front-loaded, and each subsequent sentence contributes distinct information (hard-delete semantics, post-condition and safety preflight, parameter provenance). No sentence repeats schema or annotation content.

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 simple 2-parameter destructive operation with rich annotations, the description covers the action, permanence, post-condition, safety behavior, and parameter sourcing. The only real gap is undocumented return/error behavior on success or mismatch, but the stated post-condition partially compensates despite the absence of an output schema.

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?

Schema coverage is 100%, so the individual parameter meanings are already documented. The description adds value by stating the relational invariant between the two parameters — that cardId and linkId must be a verified matching pair — and by reinforcing linkId's provenance from kaiten_list_card_external_links, which is not fully captured in the schema's per-parameter descriptions.

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 description states a specific verb and resource: "Remove an external link from a card permanently." It goes further and distinguishes this from the blocker-deletion path by calling it a "true hard-delete," which separates it from the closely related sibling kaiten_release_card_blocker even without opening that tool's schema.

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?

The description gives clear usage context by contrasting with blockers ("where DELETE is a soft release") and tells the agent where to source the linkId ("from kaiten_list_card_external_links"). It doesn't explicitly name the alternative tool for blocker release, but the conceptual distinction is unambiguous enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools