Skip to main content
Glama

Adako: Google Ads, Meta Ads & Linkedin Ads MCP

Meta campaign performance

meta_get_campaign_performance
Read-onlyIdempotent

🟢 READ-ONLY — runs immediately, changes nothing. Cost: free (not counted against tasks).

Campaign-level results for a window, next to the same-length window before it, with the KPI each campaign's objective is actually judged on: purchases and purchase ROAS for sales, leads and cost per lead for lead generation, link clicks and CPC for traffic, reach and CPM for awareness, engagements for engagement, installs for app promotion. Use when: the user asks how Meta is doing, which campaigns are worth more budget, or what changed week over week. Do not use it for a brief or a report to keep or forward: that is generate_report_now (monitoring router), which covers every connected account and saves a page. Do not use to inspect settings (meta_list_campaigns) or to find waste inside an ad set (meta_analyze_wasted_spend). Returns "not applicable" rather than a blank or a zero for ROAS on objectives that record no revenue — never present a missing ROAS as a bad ROAS. If the user's date wording is vague ("recently", "lately"), ask which window they mean instead of picking one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum campaigns in the table (default 25, ordered by spend).
end_dateNoLast day, YYYY-MM-DD, inclusive. Needs start_date.
raw_dataNoReturn compact JSON only (no markdown). Use when you will compute on the result.
date_rangeNoPreset window. The "last N days" ones end yesterday, so no partial day is mixed in. Either this or start_date + end_date, never both.
start_dateNoFirst day, YYYY-MM-DD. Needs end_date.
campaign_idNoReport on a single campaign.
ad_account_idNoMeta ad account id such as act_1234567890. Omit it to use the primary account; if several accounts are active and none is primary the call fails and lists the valid ids.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish read-only/idempotent safety, but the description adds real behavioral context beyond them: the call is free and not counted against tasks, ROAS returns 'not applicable' rather than zero on non-revenue objectives, and vague date wording should trigger a clarifying question. This is exactly the kind of quirk disclosure that prevents agent misjudgment.

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/free banner, then use/no-use guidance, then the return quirk and the ambiguity rule — every sentence carries routing or behavioral weight. The multi-clause KPI enumeration is long but justified by the objective-specific output contract; slightly padding-prone but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 explaining what comes back, and it does: window-over-window comparison plus per-objective KPI selection, and the 'not applicable' sentinel. Combined with the named alternatives and the date-input rule, an agent has everything needed to call and interpret this correctly.

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%, so each of the seven parameters is already documented including the date_range exclusivity rule. The description mentions windows and the objective/KPI mapping but adds no syntax or format detail beyond the schema, which matches the baseline 3 for a fully-covered schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource — campaign-level results for a window compared against the prior equal-length window — and enumerates the objective-specific KPIs returned. It also explicitly distinguishes itself from three named siblings (generate_report_now, meta_list_campaigns, meta_analyze_wasted_spend), so an agent can route correctly without opening any schema.

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

Usage Guidelines5/5

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

It states when to use it ('how Meta is doing', budget reallocation, week-over-week change) and when not to, naming the alternative tool for each exclusion. It even covers the ambiguous-input case, telling the agent to ask for the window rather than guessing.

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.