Skip to main content
Glama
Ads MCP for Snapchat

Ads MCP for Snapchat

by Usame794

snap_creative_fatigue

Read-only

Detect creative fatigue by comparing each ad’s current and prior performance windows, then classify ads as fatigued, watch, healthy, stopped, or new.

Instructions

Which ads are tired? Compares each ad of a campaign or ad squad this window vs the one before: FATIGUED (ROAS down 30%+ with higher frequency or lower swipe rate), WATCH, HEALTHY, STOPPED, NEW (read-only). end_time must be hour-aligned with an offset; days defaults to 7.

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": {
      "entity": "<entity>",
      "id": "<id>",
      "end_time": "<end_time>"
    },
    "name": "snap_creative_fatigue"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
daysNo
entityYes
end_timeYese.g. 2026-10-27T00:00:00+00:00
min_spendNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the "(read-only)" note is redundant. What the description does add is genuinely useful: the exact FATIGUED threshold (ROAS down 30%+ combined with higher frequency or lower swipe rate) and the full label set produced. It omits how the prior window is sized, how the min_spend default affects which ads are evaluated, and any rate-limit or precision caveats.

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 description is front-loaded with the user-facing question, then the method, then the label definitions, then the input constraints — a sensible ordering with no filler sentences. Minor waste in restating the days default that the schema already declares, and the label clause is telegraphic enough to require a careful second read.

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 no output schema, the description correctly substitutes by enumerating every possible classification label, which is exactly what an agent needs to interpret results. Remaining incompleteness is around input semantics (min_spend threshold) and window construction rather than the tool's core behavior, which is fully specified.

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 description coverage is only 20%, so the description must carry weight; it does explain the hour-aligned, offset-bearing format of end_time (beyond the schema's bare example) and restates the days default of 7, which the schema already encodes. The two most consequential gaps remain: min_spend (default 50) is never explained, so the agent cannot tell whether low-spend ads are silently excluded, and id is not tied to the selected entity.

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?

The description opens with a concrete question ("Which ads are tired?") and states the operation precisely: comparing each ad of a campaign or ad squad across the current window versus the previous one, then classifying into FATIGUED/WATCH/HEALTHY/STOPPED/NEW. The verb+resource+scope are unambiguous. It does not name a sibling such as snap_creative_compare, so an agent must infer the boundary from behavior rather than being told.

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 strongly implied — reach for this when you want to know which creatives are degrading — and the "read-only" note signals it is safe to call diagnostically. However, there is no explicit when-to-use/when-not statement and no reference to a neighboring tool for plain side-by-side creative comparison, leaving the choice to the agent.

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