Skip to main content
Glama

Record an ad platform offer claim

ads_offer_update
Idempotent

[writes flayr data · write scope] Records the claim of one offer row (claimId = a row id from ads_offers_list): status, the date it was claimed, and notes. Owners and admins of the brand only. A record only: it never creates, turns on or funds an ad. (Wraps PATCH /api/v2/ads/offers/{claimId}.)

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": {
      "claimId": "<claimId>"
    },
    "name": "ads_offer_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
notesNo
statusNo
brandIdNoA brand id (GET /api/v2/brands). Required for an account-wide key.
claimIdYes
claimedAtNoYYYY-MM-DD (or ISO timestamp); null clears it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false), the description adds the write scope, the data domain, an explicit authorization tier (owner/admin), and a negative capability statement that bounds the blast radius. The PATCH wrapper disclosure also implies partial-update semantics, which is exactly the kind of context annotations cannot carry.

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 bracket tag front-loads write scope and required scope, followed by purpose, permission, scope limitation, and endpoint provenance in a tight four-sentence block. Dense but every clause carries information; nothing is padding.

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 mutation tool with no output schema and 40% parameter coverage, the description covers the important agent-facing questions: who may call it, where claimId comes from, and how far its effects reach. The remaining gap is what the response looks like and how status/claimedAt interact, which the description does not address.

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 only 40%, and the description partially compensates by explaining claimId's provenance, the one required parameter. However, the meaning of the status enum values (e.g. "earned" vs "claimed" vs "ineligible") and the interaction between status and claimedAt are left undocumented in both places. brandId and claimedAt are already described in the schema, so the description adds nothing there.

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?

"Records the claim of one offer row" gives a specific verb and resource, and it names the enumeration fields (status, claimed date, notes). The clause "A record only: it never creates, turns on or funds an ad" separates it from creation/funding siblings, though it does not explicitly separate it from the close-named ads_offer_update vs offers_capture vs offers_update family. The title's framing as "record a claim" is slightly narrower than the schema's enum, which permits not_claimed/expired/ineligible.

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?

"claimId = a row id from ads_offers_list" tells the agent exactly where to obtain the required input, which is real routing guidance. "Owners and admins of the brand only" states a prerequisite. It stops short of naming an alternative tool for the non-claim cases it excludes, so the agent must infer where creation/funding lives.

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