MCP server for Google Ads Transparency Center - free competitive ad intelligence. Provides programmatic access to Google Ads Transparency Center data for competitive intelligence, ad creative research, and market analysis without requiring API keys.
This server has solid tool naming and clear descriptions. All 5 tools follow verb_noun conventions (search_, get_, compare_). Input schemas are properly typed with JSON Schema. However, there are gaps in output schema documentation and parameter descriptions lack sufficient detail about constraints and formats. Error handling is basic. Tool descriptions are well-structured (100-200 chars, hitting the target range) but could include more guidance on when to use vs. similar tools. Parameters mostly have descriptions but lack constraints (min/max, regex patterns, examples). Annotation hints are present but underdocumented. The server implements pattern:tool, pattern:tool-description, and pattern:constrained-input partially, but misses pattern:response-shaper, pattern:tool-chain awareness, and pattern:recovery-guide.
Compare an advertiser's ad presence across multiple regions. Use this tool to: See where an advertiser is running ads, Compare ad volumes across regions, Understand geographic ad strategy, Analyze regional variations in ad formats. Returns ad presence breakdown by region including format distribution.
Get complete information about a specific ad creative from Google Ads Transparency Center. Use this tool to: Get full ad copy and media URLs, See targeting information (when available), Get impression/spend ranges for political ads, Deep dive into a specific ad creative. Returns full content, media URLs, targeting info, and run dates.
Get all ad creatives from an advertiser. Use this tool to fetch all ads running by a specific advertiser. Can filter by ad format (text, image, video) and apply a limit. Returns a list of ad creatives with headlines, descriptions, media URLs, and run dates.
Get comprehensive profile information for an advertiser. Use this tool to: Get advertiser name and verification status, See breakdown of ad count by format (text, image, video), Find which platforms the advertiser is using, Get the total number of active ads. Returns advertiser name, verification status, ad counts by format, platforms, and regions where active.
Search for advertisers by domain or brand name in Google Ads Transparency Center. Use this tool to find advertisers by searching for their domain, company name, or brand. Returns a list of matching advertisers with basic info including verification status and ad counts.
Output schemas not documented. Tool descriptions explain what is returned in prose (e.g., 'Returns a list of matching advertisers with basic info') but actual JSON response structure is not formally defined. LLMs cannot plan downstream tool calls or extract specific fields without knowing the response schema.
Parameter constraints not specified. 'limit' parameters accept numeric values but lack min/max bounds. 'region' accepts strings but constraint list is incomplete (only examples given). 'format' enum is present but other parameters lack enums or regex patterns. LLMs may pass invalid values (e.g., negative limit, non-existent region codes).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
Error responses not documented. Code shows basic error handling (try/catch returning JSON with 'success: false' and 'error' field) but no guidance on retryability, user action, or recovery steps. LLMs receive raw error text and cannot determine whether to retry, ask user, or abort.
Tool chaining IDs missing from descriptions. Response formats return IDs (advertiserId, creativeId) but tool descriptions do not explicitly state which IDs are returned and which downstream tools accept them. Agents must infer the mapping.
Pagination support unclear. 'limit' parameter is accepted by some tools but no 'offset', 'page', or 'next_cursor' is mentioned. If results exceed limit, agents cannot fetch remaining data. Description should clarify pagination behavior.
Tool annotations present but sparse. All tools have readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false. These are correct but no documentation explains what each hint means or when an agent should consider them.