Skip to main content
Glama

Update Advertisement Keys

update_advertisement_keys
DestructiveIdempotent

Update only the allowed keys of an advertisement (found by advertisement_id or advertisement_uuid); any other key is refused and nothing is written. updates maps key -> new value. Allowed keys: - top-level: advertisement_title, advertisement_poster, advertisement_group, advertisement_note, advertisement_sort, advertisement_start_datetime, advertisement_end_datetime, advertisement_language, advertisement_country, advertisement_faqs (list of {summary, text}; null or [] clears), advertisement_tags (list of strings; null or [] clears) - options: any key from get_advertisement_variables, written bare (advertisement_slug) or with the prefix (advertisement_options.advertisement_slug). Options not named keep their current value.

Input Schema

NameRequiredDescriptionDefault
updatesYes
advertisement_idNo
advertisement_uuidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety bar is partly met; the description adds real value on top by disclosing that invalid keys cause a refusal with nothing written (all-or-nothing) and that unnamed options retain current values (merge semantics). It omits error/response shape, but the behavioral core for a partial-update mutation is well covered.

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 the governing rule ('only the allowed keys... any other key is refused'), then a compact bulleted key inventory that is genuinely necessary given the untyped `updates` object. No filler sentences, though the indented list is longer than the prose portion and could be tightened slightly.

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 destructive mutation with a free-form nested parameter and no output schema, the description covers the key space, clearing semantics, and refusal behavior well. Remaining holes are the identifier requirement (both optional in schema, no 'at least one' rule stated) and no hint of what a successful call returns or whether the full record is echoed.

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 0% and `updates` is an untyped free-form object, so the description carries the load — and it does, enumerating the allowed top-level keys, the option-key prefix convention, and null/[] clearing for faqs and tags. The gap is the identifiers: the schema marks both `advertisement_id` and `advertisement_uuid` optional, and the description never says which to prefer or what happens if neither is supplied.

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 (update an advertisement's allowed keys) and immediately clarifies the allowlist-only, refuse-otherwise semantics. It also names the two lookup identifiers. It does not, however, differentiate itself from the sibling `edit_advertisement`, leaving the reader to infer which mutation tool applies when.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: partial updates are the use case ('Options not named keep their current value'), and it routes the agent to `get_advertisement_variables` to discover valid option keys. There is no explicit when-to-use/when-not versus `edit_advertisement`, which is the most likely source of mis-selection among siblings.

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.