Skip to main content
Glama

prepare_takedown

Idempotent

Prepare a copyright notice packet for an existing case and evidence without sending it. First create_quote(action='prepare', input={rights_holder_id, work_id, delegation_id, case_id, evidence_id, good_faith:true, accurate_and_authorized:true, infringement_explanation}). Optional destination must match a supported route. Returns readiness, missing fields or blockers; ready packets include packet_id and destination. Attest only claims supported by the rights holder's authority. Authenticate with the matching action scope. Reserves the quoted maximum from prepaid credits and returns operation_id; poll get_operation for results. Sandbox execution is simulated.

Input Schema

NameRequiredDescriptionDefault
quote_idYesUnexpired quote ID returned by create_quote for action="prepare" in this organization; all task input is stored in the quote.
idempotency_keyYesCaller-generated key, 8–128 letters, digits, underscores, dots, colons or hyphens. Reuse for retries of the same purchase or operation. Different input with the same organization-bound key returns a conflict.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Caller-generated key, 8–128 letters, digits, underscores, dots, colons or hyphens. Reuse for retries of the same purchase or operation. Different input with the same organization-bound key returns a conflict."
    • removedInput schema / properties / idempotency_key / maxLength
      Removed value: -4096
    • removedInput schema / properties / idempotency_key / minLength
      Removed value: -1
    • addedInput schema / properties / idempotency_key / pattern
      Added value: +"^[A-Za-z0-9_.:-]{8,128}$"
    • addedInput schema / properties / quote_id / description
      Added value: +"Unexpired quote ID returned by create_quote for action=\"prepare\" in this organization; all task input is stored in the quote."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (not read-only, idempotent, non-destructive), and the description adds substantial context beyond them: it reserves the quoted maximum from prepaid credits (a financial side effect), returns operation_id requiring polling via get_operation, requires a matching action scope for auth, demands attestation only within the rights holder's authority, and notes sandbox execution is simulated. This is rich disclosure of side effects and follow-up behavior.

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?

Front-loaded with purpose, then prerequisite, then return shape, then behavioral notes. Dense but each clause carries information. The nested inline create_quote payload is a bit heavy in one sentence, but nothing is redundant filler.

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?

No output schema exists, yet the description explains the return values (readiness, missing fields/blockers, packet_id and destination when ready) plus the async polling pattern and credit reservation. Auth scope, prerequisites, and sandbox behavior are all covered, leaving no material gap for invoking it correctly.

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% with detailed descriptions of both quote_id and idempotency_key, so the baseline is 3. The description adds meaning by explaining that all task input (rights_holder_id, work_id, delegation_id, case_id, evidence_id, attestations, explanation) is captured in the upstream quote, clarifying what the quote_id actually represents.

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 ('Prepare') plus resource ('copyright notice packet') and scope ('for an existing case and evidence without sending it'). The 'without sending it' clause cleanly distinguishes it from the sibling submit_takedown, so an agent can route correctly without opening schemas.

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?

Gives an explicit prerequisite sequence ('First create_quote(action="prepare", ...)') and a constraint ('Optional destination must match a supported route'), and the 'without sending' framing implies the sending alternative. It stops short of naming submit_takedown or stating when-not-to-use conditions, so it is clear but not fully routing-explicit.

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