Skip to content
Agentmart
Submit a tool

Ainative Gtm MCP

Full Google Ads, Analytics & Tag Manager lifecycle MCP for AI agents — 57 tools.

Connector by AINative-Studio · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ainative-studio-ainative-gtm-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Full Google Ads, Analytics & Tag Manager lifecycle MCP for AI agents — 57 tools.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
16 read · 36 write · 3 delete · 2 not yet classified
Secrets
2 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 57

Read from the source code; the running server may list different tools.

Read 16 · Look things up without changing anything.

  • gads_audit_conversion_goals
  • gads_get_account_performance
  • gads_list_conversion_actions
  • gads_list_recommendation_subscriptions
  • gads_request_ad_review
  • gtm_audit_container
  • gtm_find_misfiring_conversion_tags
  • gtm_get_container
  • gtm_get_tag
  • gtm_get_trigger
  • gtm_get_workspace_status
  • gtm_list_accounts
Show 4 more tools
  • gtm_list_containers
  • gtm_list_tags
  • gtm_list_triggers
  • gtm_list_workspaces

Write 36 · Create, change, send or run things.

  • gads_add_audience_to_ad_group
  • gads_add_call_extension
  • gads_add_callout
  • gads_add_geo_target
  • gads_add_language_target
  • gads_add_negative_keyword
  • gads_add_negative_placement
  • gads_add_sitelink
  • gads_add_structured_snippet
  • gads_create_ad_group
  • gads_create_campaign
  • gads_create_conversion_action
Show 24 more tools
  • gads_create_html5_ad
  • gads_create_keyword
  • gads_create_pmax_campaign
  • gads_create_responsive_display_ad
  • gads_create_responsive_search_ad
  • gads_set_ad_group_bid
  • gads_set_ad_status
  • gads_set_bidding_strategy
  • gads_set_campaign_status
  • gads_set_conversion_goal_inclusion
  • gads_set_keyword_bid
  • gads_set_presence_only
  • gads_set_recommendation_subscription
  • gads_update_campaign_budget
  • gads_update_conversion_counting
  • gads_upload_click_conversion
  • gads_upload_image_asset
  • gads_upload_media_bundle
  • gtm_create_trigger
  • gtm_create_version
  • gtm_fix_conversion_tag_trigger
  • gtm_publish
  • gtm_update_tag
  • gtm_update_trigger

Delete 3 · Delete, drop, revoke or wipe things.

  • gads_remove_campaign_criterion
  • gads_remove_keyword
  • gtm_delete_tag

Not yet classified 2 · We could not tell from the name and description.

  • gads_pause_campaign
  • gads_search

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • GOOGLE_ADS_DEVELOPER_TOKEN
  • GTM_SERVICE_ACCOUNT_KEY_PATH

Other settings (environment variables or headers).

  • GOOGLE_ADS_CUSTOMER_ID

Files it touches

  • Any path the agent passes to its tools

Tools (57)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • gads_add_audience_to_ad_group

    Attach an audience segment (user_list resource) to an ad group. mode=OBSERVATION measures the audience without restricting reach; mode=TARGETING restricts serving to it. Refs #5764.

  • gads_add_call_extension

    Create a call asset (phone number) and attach it to a campaign so ads can show a call button. Refs #5764.

  • gads_add_callout

    Create a callout asset (short promotional phrase, e.g. "Free 7-Day Trial") and attach it to a campaign. Refs #5764.

  • gads_add_geo_target

    Add a geographic target (or exclusion) to a campaign, using PRESENCE-only targeting by default (people IN the location, not merely interested) — this is the India-fraud-safe setting. Pass negative:true to exclude a geo. Common geo IDs: 2840=US, 2826=UK, 2124=CA, 2036=AU, 2276=DE, 2356=India. Refs #5742.

  • gads_add_language_target

    Add a language target to a campaign so ads serve to users with that language setting. Common language constant ids: 1000=English, 1003=Spanish, 1001=German, 1002=French. Refs #5764.

  • gads_add_negative_keyword

    Add a negative keyword at the CAMPAIGN level (blocks the term across the campaign). Refs #5743.

  • gads_add_negative_placement

    Add a negative PLACEMENT (website URL or mobile app) exclusion to a campaign so ads never serve there. Use to block click-fraud / low-quality placements (e.g. qureka.com, omegleweb.io, junk Google Play apps).

  • gads_add_sitelink

    Create a sitelink asset (link text + final URL, optional 2 description lines) and attach it to a campaign. Refs #5764.

  • gads_add_structured_snippet

    Create a structured snippet asset (a header like "Services" or "Types" + up to 10 values) and attach it to a campaign. Refs #5764.

  • gads_audit_conversion_goals

    Audit all Google Ads conversion goals — find misconfigured counting types, inactive conversions, and conversions with no recent activity. Returns a prioritized fix list.

  • gads_create_ad_group

    Create an ad group inside a campaign. Refs #5740.

  • gads_create_campaign

    Create a NEW Google Ads campaign with its own dedicated budget. Handles the full create correctly: makes a non-shared CampaignBudget first, then the campaign referencing it, with network settings (Search Partners OFF, Display Expansion OFF) and MAXIMIZE_CONVERSIONS bidding. Defaults to PAUSED so you review before it serves. Refs #5739.

  • gads_create_conversion_action

    Create an offline conversion action (type UPLOAD_CLICKS) for importing real outcomes — e.g. "Signup (offline)" or "Paid Subscription (offline)" — keyed by gclid. Returns the conversion action id + resource name to use with gads_upload_click_conversion. Refs #5764.

  • gads_create_html5_ad

    Create an HTML5 display upload ad (DisplayUploadAd, HTML5_UPLOAD_AD) in a DISPLAY ad group from a previously-uploaded MEDIA_BUNDLE asset. This is the real animated HTML5 creative served via API — no manual UI upload. Note: the account must be eligible for HTML5 upload ads (enforced at create time; a policy error means it is not yet allowlisted). Refs #5744.

  • gads_create_keyword

    Add a keyword to an ad group. Use this to move high-performing keywords between campaigns.

Show 42 more tools
  • gads_create_pmax_campaign

    ONE-CALL Performance Max "campaign builder": creates a PERFORMANCE_MAX campaign + dedicated budget + an asset group with the required assets (3-15 headlines ≤30, 1 long headline ≤90, 2-5 descriptions ≤90, business name, and marketing/square/logo images by URL), then Google's AI auto-optimizes across Search/Display/YouTube/Gmail. Defaults PAUSED so you review first. This is the closest programmatic equivalent to Google's AI Campaign Builder. Refs #5764.

  • gads_create_responsive_display_ad

    Create a Responsive Display Ad in a DISPLAY ad group from uploaded image assets + text. Provide marketing image asset resource_names (landscape 1.91:1) and square (1:1), plus headlines, descriptions, business name, and final URL. Refs #5744.

  • gads_create_responsive_search_ad

    Create a Responsive Search Ad in an ad group. 3–15 headlines (≤30 chars), 2–4 descriptions (≤90 chars), and final URL(s). Validates lengths before sending. Refs #5741.

  • gads_get_account_performance

    Get top-level Google Ads account performance — impressions, clicks, cost, conversions for a date range. Quick health check for ad spend efficiency.

  • gads_list_conversion_actions

    List all Google Ads conversion actions for the account — name, ID, counting type, status, and category. Use this to audit which conversions are set up and how they are counted.

  • gads_list_recommendation_subscriptions

    List Google Ads auto-apply recommendation subscriptions (type + status). ENABLED means that recommendation type auto-applies without review — the mechanism that can silently raise budgets/bids. Use to audit what auto-applies.

  • gads_pause_campaign

    Pause a Google Ads campaign. Stops all ad serving immediately.

  • gads_remove_campaign_criterion

    Remove a campaign-level criterion (targeted location/geo, placement, or keyword) by its criterion ID. Use to stop targeting a geo that is bringing invalid traffic — e.g. remove a positively-targeted country. Note: you cannot add a NEGATIVE location for a geo that is positively targeted; remove the positive criterion instead.

  • gads_remove_keyword

    Remove (pause) a keyword from an ad group.

  • gads_request_ad_review

    Request re-review (appeal) of a disapproved or approved-limited ad via the API. Uses the AdGroupAd appeal (promote to review) mechanism. NOTE: only a subset of policy topics are API-appealable; MISLEADING_AD_DESIGN and some others must still be appealed in the UI — this tool returns a clear notAppealable result in that case rather than pretending it worked. Refs #5764.

  • gads_search

    Run a read-only GAQL query and return rows — for looking up campaign/budget/ad_group/criterion IDs without the google-ads MCP. SELECT queries only. Refs #5745.

  • gads_set_ad_group_bid

    Set the default max CPC bid (USD) on an existing ad group. Use to raise/lower delivery on a specific ad group under Manual CPC / Maximize Clicks. Refs #5764.

  • gads_set_ad_status

    Set an individual ad's status to ENABLED, PAUSED, or REMOVED (ad_group_ad). Use to pause a throttled/underperforming ad or remove a rejected one without touching the ad group. Refs #5764.

  • gads_set_bidding_strategy

    Change an existing campaign's bidding strategy (MAXIMIZE_CLICKS, MAXIMIZE_CONVERSIONS, TARGET_CPA, TARGET_ROAS, MANUAL_CPC). CRITICAL: switching a standard strategy with an empty payload is a silent no-op in the client — this tool forces a non-empty sub-field and READS BACK bidding_strategy_type to confirm the swap actually landed. Use MAXIMIZE_CLICKS with a cpcBidCeilingUsd to break a new-campaign cold-start (no conversion history). Refs #5764.

  • gads_set_campaign_status

    Set a Google Ads campaign status to ENABLED or PAUSED. Use ENABLED to (re)enable a paused campaign — this is the enable capability the server previously lacked (only pause existed), so agents no longer need the UI to resume a campaign. Refs #5444.

  • gads_set_conversion_goal_inclusion

    Control whether a conversion action counts toward the primary "Conversions" metric (and thus Smart Bidding). Set biddable=false to keep an action TRACKED but stop it optimizing bids — the fix for a PAGE_VIEW action inflating conversions. Operates on the customer-level conversion goal for the action category.

  • gads_set_keyword_bid

    Set the max CPC bid (USD) on a specific keyword (ad group criterion). Refs #5764.

  • gads_set_presence_only

    Set a campaign to PRESENCE-only geo targeting (target users physically IN the targeted locations, not those merely interested). This is the setting that prevents the India interest-traffic fraud. Refs #5742.

  • gads_set_recommendation_subscription

    Turn Google Ads auto-apply recommendations ON or OFF. Set enabled=false to PAUSE (stop auto-applying — recommendations are still suggested, just not applied automatically). Pass all=true to apply to every resolvable subscription (the fix for runaway auto-applied budget/bid changes). Subscriptions with an UNKNOWN type/resource name cannot be mutated by the API and are skipped and reported.

  • gads_update_campaign_budget

    Update the daily budget of a Google Ads campaign. Provide the campaign budget ID (from the campaign) and the new daily amount in dollars. Use to scale spend up or down.

  • gads_update_conversion_counting

    Update the counting type of a Google Ads conversion action. Common fix: change counting_type from MANY_PER_CLICK to ONE_PER_CLICK for purchase conversions to avoid inflated counts.

  • gads_upload_click_conversion

    Upload an OFFLINE click conversion keyed by gclid — the attribution backbone that ties a real signup/subscription back to the Google Ads click that drove it. Feeds Smart Bidding with real outcomes instead of pageviews. gclid is captured at signup. conversionDateTime must be after the click and in "yyyy-mm-dd hh:mm:ss+|-hh:mm" format. NOTE (2026): Google now routes NEW integrations to the Data Manager API — the legacy ConversionUploadService this calls is limited to existing users and returns a clear "use the Data Manager API" error for new accounts. If you get that error, the account needs the…

  • gads_upload_image_asset

    Upload an image file from local disk as a Google Ads image Asset (for Display banners / Responsive Display Ads). Returns the asset resource_name to reference in an ad. Refs #5744.

  • gads_upload_media_bundle

    Upload an HTML5 ad ZIP file from disk as a Google Ads MEDIA_BUNDLE asset (for HTML5 display upload ads). The zip must be self-contained (no external refs), define ad.size, include a clickTag, and be <150KB. Returns the asset resource_name. Refs #5744.

  • gtm_audit_container

    Comprehensive container audit — finds broken tags, duplicate tags, misfiring conversion tags, tags missing triggers, and tags firing too broadly. Returns a health score 0–100.

  • gtm_create_trigger

    Create a new trigger in a GTM workspace

  • gtm_create_version

    Create a container version from current workspace changes

  • gtm_delete_tag

    Delete a GTM tag from a workspace

  • gtm_find_misfiring_conversion_tags

    Find conversion/purchase tags that are firing too broadly (e.g. on All Pages instead of a specific event). This is the most common GTM billing/analytics issue.

  • gtm_fix_conversion_tag_trigger

    Fix a misfiring conversion tag by replacing its broad trigger (e.g. All Pages) with a specific Custom Event trigger. Creates the new trigger if needed.

  • gtm_get_container

    Get details of a specific GTM container

  • gtm_get_tag

    Get full configuration of a specific GTM tag

  • gtm_get_trigger

    Get full configuration of a specific GTM trigger

  • gtm_get_workspace_status

    Get pending (unsaved) changes in a workspace before publishing

  • gtm_list_accounts

    List all GTM accounts accessible to the service account

  • gtm_list_containers

    List all containers in a GTM account

  • gtm_list_tags

    List all tags in a GTM workspace

  • gtm_list_triggers

    List all triggers in a GTM workspace

  • gtm_list_workspaces

    List workspaces in a GTM container

  • gtm_publish

    Publish the current workspace — makes all changes live immediately

  • gtm_update_tag

    Update an existing GTM tag (e.g. fix its trigger, rename it, update parameters)

  • gtm_update_trigger

    Update an existing GTM trigger

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
31
Last commit
Sep 25, 2026 (1 month ago)
Last release
Aug 1, 2026 (2 months ago)
Last package publish
Sep 25, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.AINative-Studio/ainative-gtm-mcp
Version
0.4.2
Auth
API key
Packages
npm @ainative/gtm-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from AINative-Studio

Cite this page

Ainative Gtm MCP. Agent Mart. https://agentmart.dev/connectors/ainative-studio-ainative-gtm-mcp (last updated 2026-10-25)