Skip to main content
Glama

Get an ad campaign

ads_campaign_get
Read-onlyIdempotent

[read-only] One ad campaign by its Flayr id, with its ad sets and ads, including each ad's network review status, reason when available, and last sync time. Do not invent a rejection reason when the network supplies none. (Wraps GET /api/v2/ads/campaigns/{id}.)

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": {
      "id": "<id>"
    },
    "name": "ads_campaign_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
brandIdNoA brand id (GET /api/v2/brands) or "personal"; default: the key owner's active brand. A brand-bound key is always pinned to its brand; any other value is 403.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so the safety profile is covered. The description adds value beyond that: it discloses the nested payload shape, the presence of a reason that may be absent, a last-sync timestamp, and an explicit anti-fabrication guardrail for missing rejection reasons. It does not cover pagination or payload size, which keeps it from a 5.

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 read-only marker and the core resource, then the returned fields, then the guardrail. Two sentences plus an endpoint parenthetical with no filler. The GET path wrapper is mild redundancy with readOnlyHint but still aids mapping to the underlying API.

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 carries the burden of describing the return value, and it does so concretely: campaign with ad sets, ads, per-ad review status, optional reason, and sync time. Combined with annotations this is enough to call the tool correctly; only pagination/size behavior for large campaigns is unaddressed.

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 50%: brandId is fully documented in the schema (default, 'personal', 403 on pinning), while id has no schema description. The description partially compensates by qualifying id as the 'Flayr id', which usefully tells the agent this is not a network-side campaign id. That is the only added parameter meaning, so baseline 3 fits.

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 ('One ad campaign by its Flayr id') and enumerates what comes back (ad sets, ads, network review status, reason, last sync time). The singular framing implicitly contrasts with ads_campaigns_list, but that sibling is never named, so the differentiation is inferential rather than explicit.

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 by 'by its Flayr id' — you call it when you already have an id and need the full nested detail — but no alternative is named and no prerequisites are stated. The embedded constraint 'Do not invent a rejection reason when the network supplies none' is a useful output-interpretation rule, though it is not when-to-use guidance.

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