Coverage
What the REST API covers today, what it never will, and what is still to come.
The MCP server exposes 85 tools. The REST API covers 30 of them. This page is generated from the same map a CI check reads, so it cannot drift: a new tool fails the build until it is either built here or listed below.
Covered
| Tool | REST operation |
|---|---|
gads_approve_action | approveAction |
gads_get_account_overview | getAccountOverview |
gads_get_audit_report | getAuditReport |
gads_get_connection_status | getConnection |
gads_get_optimization_plan | getOptimizationPlan |
gads_get_search_terms | listSearchTerms |
gads_get_sync_status | getSyncStatus |
gads_list_action_history | listHistory |
gads_list_ad_accounts | listAdAccounts |
gads_list_ad_groups | listAdGroups |
gads_list_ads | listAds |
gads_list_audit_runs | listAuditRuns |
gads_list_campaigns | listCampaigns |
gads_list_keywords | listKeywords |
gads_list_pending_actions | listActions |
gads_propose_add_keywords | addKeywords |
gads_propose_add_negative_keywords | addNegativeKeywords |
gads_propose_budget_change | proposeBudgetChange |
gads_propose_campaign_status | proposeCampaignStatus |
gads_propose_campaign_target | proposeCampaignTarget |
gads_propose_keyword_status | proposeKeywordStatus |
gads_propose_rename_ad_group | proposeRenameAdGroup |
gads_propose_rename_campaign | proposeRenameCampaign |
gads_reject_action | rejectAction |
gads_revert_action | revertAction |
gads_score_keywords | scoreKeywords |
gads_set_optimization_targets | setOptimizationTargets |
gads_suggest_keywords | suggestKeywords |
gads_trigger_audit | triggerAudit |
gads_trigger_sync | triggerSync |
Not planned
Structural — these cannot be REST endpoints.
| Tool | Why |
|---|---|
gads_discover_search_term_silos | LLM clustering — same reasoning as ideateKeywordSilos |
gads_explain_policy | explains the safe-apply policy in prose for a model; the API returns policy_reasons on every proposal instead |
gads_fetch_url | general web fetch — an agent capability, not a resource of this API |
gads_get_connect_url | returns a URL a human must open in a browser — Google's OAuth consent screen cannot be completed by a machine |
gads_ideate_keyword_silos | LLM generation — non-deterministic output, belongs behind an agent run |
gads_read_attachment | chat attachment plumbing with no REST analogue |
gads_search_audience_ideas | LLM-assisted ideation over Google's audience taxonomy |
Still to come
Deliberately out of v1. Each entry says what it is waiting on.
| Tool | Waiting on |
|---|---|
gads_discover_ad_accounts | account import flow — admin-tier lifecycle surface, after v1 |
gads_dismiss_recommendation | needs the plan feed's fingerprints published in the REST plan response |
gads_generate_free_audit | free-audit funnel is a marketing surface, not part of the operator API |
gads_get_asset_performance | asset-level reporting — after the asset write surface |
gads_get_change_history | Google-side changes are already in GET /history |
gads_get_competitive_pressure | auction-insights shape still moving |
gads_get_conversion_actions | needs a stable conversion-action shape before publishing |
gads_get_experiments | after the experiments write surface |
gads_get_free_audit | free-audit funnel is a marketing surface, not part of the operator API |
gads_get_funnel | PostHog-dependent; needs the funnel surface first |
gads_get_intraday_pulse | today-so-far vs recent hours; every /api/v1 metrics response is documented as ending yesterday, so publishing a partial-day number needs a freshness field on the envelope first |
gads_get_segment_performance | device/geo/schedule segments — after the segment write surface |
gads_get_tracking_health | PostHog-dependent; needs the funnel surface first |
gads_import_ad_account | account import flow — admin-tier lifecycle surface, after v1 |
gads_list_audiences | after the audience write surface |
gads_list_projects | workspace-tier resource; v1 exposes accounts, not projects |
gads_propose_account_tracking | account-level tracking config — admin surface, after v1 |
gads_propose_ad_group_status | phase 2 write set |
gads_propose_ad_schedule | segment-modifier surface lands as a group, after v1 |
gads_propose_ad_status | phase 2 write set |
gads_propose_ai_max_experiment | AI Max surface lands as a group, after v1 |
gads_propose_ai_max_setting | AI Max surface lands as a group, after v1 |
gads_propose_ai_max_text_guidelines | AI Max surface lands as a group, after v1 |
gads_propose_attach_audience | audience surface lands as a group, after v1 |
gads_propose_brand_exclusion | AI Max surface lands as a group, after v1 |
gads_propose_campaign_bid_strategy | always review-tier — resets Smart Bidding's learning period; wants a dedicated confirmation flow |
gads_propose_change_keyword_match_type | phase 2 write set |
gads_propose_clone_ad_group | structural create — needs a larger schema and a QA story |
gads_propose_clone_campaign | structural create — needs a larger schema and a QA story |
gads_propose_create_ad_group | structural create — needs a larger schema and a QA story |
gads_propose_create_assets | creative write — after the asset surface |
gads_propose_create_campaign | structural create — needs a larger schema and a QA story |
gads_propose_create_custom_audience | audience surface lands as a group, after v1 |
gads_propose_create_experiment | experiments surface lands as a group, after v1 |
gads_propose_create_rsa | creative write — high-risk, needs its own schema and review |
gads_propose_detach_asset | creative write — after the asset surface |
gads_propose_detach_audience | audience surface lands as a group, after v1 |
gads_propose_device_bid_modifier | segment-modifier surface lands as a group, after v1 |
gads_propose_end_experiment | experiments surface lands as a group, after v1 |
gads_propose_geo_target | segment-modifier surface lands as a group, after v1 |
gads_propose_keyword_bid | phase 2 write set |
gads_propose_promote_experiment | experiments surface lands as a group, after v1 |
gads_propose_remove_negative_keyword | phase 2 write set |
gads_propose_replace_ad | creative write — high-risk, needs its own schema and review |
gads_run_gaql_query | raw GAQL passthrough needs its own injection review before it is public |
gads_share_free_audit | free-audit funnel is a marketing surface, not part of the operator API |
gads_undismiss_recommendation | pairs with dismissRecommendation — lands with it |
gads_update_project_brief | workspace-tier resource; after the projects surface lands |
Need one of these sooner? The MCP server already exposes all of them.