Skip to main content
Glama

Sellantica Amazon Ads

Approve a prepared MCP write request

approve_write_v1
DestructiveIdempotent

Approve a previously prepared write request for any registered write operation, after revalidating its immutable local snapshot. Call it only after you have shown the user the preview and the user has agreed to that exact change in the conversation. The confirmation phrase and confirm_token bind the approval to the previewed payload; they are returned as confirmation_phrase and confirm_token by the prepare_* tool's response and by get_write_request_v1, so they are not a secret the user has to type.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "profile_id": "<profile_id>",
      "profile_pk": "<profile_pk>",
      "request_id": "<request_id>",
      "confirmation": "<confirmation>",
      "confirm_token": "<confirm_token>"
    },
    "name": "approve_write_v1"
  }
}

Input Schema

NameRequiredDescriptionDefault
profile_idYesAmazon Ads profile id, from list_profiles.
profile_pkYesSellantica's internal profile primary key, from list_profiles (needed when profile_id is not unique).
request_idYesThe write request id returned by the prepare_* tool call (or by get_write_request_v1) that is being approved.
confirmationYesThe exact confirmation_phrase string returned by the prepare_* response for this request.
approval_noteNoOptional free-text note (at most 500 characters) recorded with the approval for audit purposes.
confirm_tokenYesThe exact confirm_token (equal to the request's request_hash) returned by the prepare_* response for this request; binds the approval to the exact previewed payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: the request's immutable local snapshot is revalidated at approval time, and confirmation/confirm_token bind the approval to the exact previewed payload. It also discloses that the tokens come from prepare_*/get_write_request_v1 rather than from the user, which is non-obvious. It does not say what happens if revalidation fails or what a successful approval returns.

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 tight sentences: the action first, the precondition second, the token mechanics third. Every sentence carries information an agent needs, and nothing is repeated from the schema.

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 a fully documented schema and no output schema, the description covers the critical parts: when to call, what is revalidated, and where the binding tokens come from. The main gap is that it never says approval is a separate step from execution or what state the request is in afterward, which matters for a destructive, idempotent tool.

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 100%, so the baseline is 3. The description's note that confirmation and confirm_token are returned by prepare_*/get_write_request_v1 adds useful provenance beyond the schema, but the other parameters (profile_id, profile_pk, request_id, approval_note) are left entirely to the schema.

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?

States a specific verb and resource ('approve a previously prepared write request for any registered write operation') and clarifies it operates on an existing request rather than creating one, which separates it from the many prepare_* siblings. It never names execute_write_v1, so the boundary between approving and actually executing is left implicit.

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 precondition: only call after showing the user the preview and after the user agrees to that exact change. It does not name the alternative tools (execute_write_v1, get_write_request_v1) or say what to do when approval is refused, so the routing guidance is strong but not complete.

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