Skip to main content
Glama

Adako: Google Ads, Meta Ads & Linkedin Ads MCP

Google Ads campaign performance with period-over-period change

google_get_campaign_performance
Read-onlyIdempotent

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

Reports spend, impressions, clicks, CTR, conversions, conversion value, CPA and ROAS per campaign for a period, plus the change against the immediately preceding period of the same length. Use when: the user asks how campaigns performed, whether results improved, or what a campaign costs per conversion. 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 when: the user wants to know what exists rather than how it performed (google_list_campaigns), or wants search-query detail (google_analyze_search_terms). Pass either date_range (a preset) or start_date + end_date, never both. Periods are calendar days in the account's own timezone. Money is a decimal in the account currency. CPA is blank when there were no conversions and ROAS is blank when there was no spend — say so rather than printing zero. If you are unsure which account, campaign or period the user means, ask them — do not guess ids or dates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum campaigns to return (default 50).
end_dateNoLast day of the period (YYYY-MM-DD). Use with start_date.
raw_dataNoReturn compact JSON only (no markdown). Use when you will compute on the result.
date_rangeNoPreset range. Alternatively pass start_date and end_date (YYYY-MM-DD). Never both.
start_dateNoFirst day of the period (YYYY-MM-DD). Use with end_date.
customer_idNoGoogle Ads customer id (10 digits, dashes optional). Omit to use the primary account; list_connected_accounts shows the valid ids.
campaign_idsNoLimit the report to these campaign ids.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses cost ('free, not counted against tasks'), timezone semantics, currency semantics, and the important null-vs-zero behavior for CPA/ROAS with an instruction on how to report blanks. It also advises asking the user rather than guessing ids or dates. No contradiction with annotations.

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 a safety/cost banner, then use/don't-use routing, then parameter notes. Slightly long, but nearly every sentence carries operational value; only the emoji-banner line is arguably decorative overhead.

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 compensates by naming the returned metrics, the period-over-period comparison, and null-handling conventions. Combined with complete schema documentation, an agent has everything needed to call and interpret this tool correctly.

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 100%, so the baseline is 3, but the description adds value the schema does not: the date_range vs start_date+end_date mutual exclusivity is emphasized as a hard rule, and periods are defined as calendar days in the account's timezone with money as decimal in account currency. It does not explain limit, raw_data, or campaign_ids beyond what the schema says.

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?

States a specific verb and resource (reports campaign performance metrics) and enumerates the exact measures returned: spend, impressions, clicks, CTR, conversions, conversion value, CPA, ROAS, plus period-over-period change. It also explicitly distinguishes itself from generate_report_now, google_list_campaigns, and google_analyze_search_terms.

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?

Provides explicit 'Use when' triggers (performance questions, improvement checks, cost per conversion), explicit 'Do not use when' cases with named alternative tools, and a routing note to generate_report_now for report deliverables. No inference required.

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.