MCP server for Google Ads API integration with ad creative management capabilities
Critical gaps across both tools. run_gaql has a basic description but lacks parameter descriptions entirely, the 'query' and 'customer_id' parameters have no guidance on format, constraints, or examples. create_ad_creative has no visible schema or parameter documentation in the provided source. Neither tool documents output schemas. The server lacks error handling guidance, recovery paths, and security documentation. Descriptions are present but minimal (run_gaql: ~120 chars, acceptable; create_ad_creative: ~80 chars, borderline). No tool annotations, no pagination support, no idempotency guarantees. This is a D-grade implementation.
Create ad creative assets using Cloudinary for image management and optimization
Execute GAQL (Google Ads Query Language) queries against Google Ads API. Only SELECT queries are allowed; write operations (CREATE, UPDATE, DELETE, MUTATE, REMOVE, INSERT) are blocked.
create_ad_creative has no visible input schema or parameter documentation. Cannot verify parameter types, descriptions, or constraints.
run_gaql parameters (query, customer_id) lack descriptions. LLMs cannot infer format constraints, valid GAQL syntax, or customer_id format (numeric? string? prefix?).
No output schemas documented for either tool. Agents cannot plan downstream calls or extract required fields (e.g., does create_ad_creative return an asset_id?).
No error handling guidance. If run_gaql receives invalid GAQL or a non-existent customer_id, what error is returned? How should the agent recover?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
create_ad_creative description does not clarify what 'ad creative assets' means or what the tool returns. Is it an image URL? An asset ID? Metadata?