Skip to main content
Glama

Apogee: Bulk Ad Launcher for Meta, TikTok & Snapchat

Latest ad set and ad of a campaign

get_latest_in_campaign
Read-onlyIdempotent

The newest ad set and ad of a campaign, to copy their settings into a new launch. The most recently created ad set and ad of a campaign (ids, names, creation times): "copy the latest ad set and ad of campaign X". Use them as prepare_launch copy_adset_from / copy_ad_from (get_templates shows what each one holds; changes go in adset_settings / ad_settings).

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": {
      "ad_account_id": "<ad_account_id>",
      "campaign_id": "<campaign_id>"
    },
    "name": "get_latest_in_campaign"
  }
}

Input Schema

NameRequiredDescriptionDefault
campaign_idYesA campaign (list_campaigns)
ad_account_idYesMeta ad account id (act_…), from list_ad_accounts

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 readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond them by disclosing the shape of the result (ids, names, creation times) despite there being no output schema, and by pointing at the downstream tools that consume the values. It does not say what happens for an empty campaign or whether 'latest' means creation time vs. updated time beyond the parenthetical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening two sentences restate the same fact twice ('newest ad set and ad of a campaign' then 'most recently created ad set and ad of a campaign'), which costs space without adding information. The downstream chaining guidance is useful and comes early enough, but the duplication and the nested parentheticals make it denser than needed.

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 two-parameter read tool with no output schema, the description covers purpose, returned fields, and the follow-on tools that consume the result — the critical things an agent needs to act. The remaining gap is edge-case behavior when the campaign has no ad sets or ads.

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 100% and only two parameters exist, both with patterns and pointers to list_campaigns / list_ad_accounts in the schema itself. The description only echoes campaign_id through the example phrase 'campaign X' and adds no format or constraint detail, so the baseline of 3 applies.

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 states a specific verb and resource: it returns the most recently created ad set and ad of a given campaign, plus their ids, names and creation times. That is enough to distinguish it from the bulk listers (get_adsets, list_ads, get_ads), though it never names those siblings explicitly as the alternative.

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?

Usage context is concrete: copy the latest ad set/ad settings into a new launch, then feed the results into prepare_launch via copy_adset_from / copy_ad_from, with get_templates explaining field contents and adset_settings / ad_settings carrying changes. It gives a clear workflow but no explicit when-not condition or fallback (e.g. what to do if the campaign has no ads).

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.