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
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.
About
Reviews
Write a reviewNo 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_goalsgads_get_account_performancegads_list_conversion_actionsgads_list_recommendation_subscriptionsgads_request_ad_reviewgtm_audit_containergtm_find_misfiring_conversion_tagsgtm_get_containergtm_get_taggtm_get_triggergtm_get_workspace_statusgtm_list_accounts
Show 4 more tools
gtm_list_containersgtm_list_tagsgtm_list_triggersgtm_list_workspaces
Write 36 · Create, change, send or run things.
gads_add_audience_to_ad_groupgads_add_call_extensiongads_add_calloutgads_add_geo_targetgads_add_language_targetgads_add_negative_keywordgads_add_negative_placementgads_add_sitelinkgads_add_structured_snippetgads_create_ad_groupgads_create_campaigngads_create_conversion_action
Show 24 more tools
gads_create_html5_adgads_create_keywordgads_create_pmax_campaigngads_create_responsive_display_adgads_create_responsive_search_adgads_set_ad_group_bidgads_set_ad_statusgads_set_bidding_strategygads_set_campaign_statusgads_set_conversion_goal_inclusiongads_set_keyword_bidgads_set_presence_onlygads_set_recommendation_subscriptiongads_update_campaign_budgetgads_update_conversion_countinggads_upload_click_conversiongads_upload_image_assetgads_upload_media_bundlegtm_create_triggergtm_create_versiongtm_fix_conversion_tag_triggergtm_publishgtm_update_taggtm_update_trigger
Delete 3 · Delete, drop, revoke or wipe things.
gads_remove_campaign_criteriongads_remove_keywordgtm_delete_tag
Not yet classified 2 · We could not tell from the name and description.
gads_pause_campaigngads_search
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
GOOGLE_ADS_DEVELOPER_TOKENGTM_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_groupAttach 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_extensionCreate a call asset (phone number) and attach it to a campaign so ads can show a call button. Refs #5764.
gads_add_calloutCreate a callout asset (short promotional phrase, e.g. "Free 7-Day Trial") and attach it to a campaign. Refs #5764.
gads_add_geo_targetAdd 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_targetAdd 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_keywordAdd a negative keyword at the CAMPAIGN level (blocks the term across the campaign). Refs #5743.
gads_add_negative_placementAdd 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_sitelinkCreate a sitelink asset (link text + final URL, optional 2 description lines) and attach it to a campaign. Refs #5764.
gads_add_structured_snippetCreate 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_goalsAudit 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_groupCreate an ad group inside a campaign. Refs #5740.
gads_create_campaignCreate 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_actionCreate 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_adCreate 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_keywordAdd a keyword to an ad group. Use this to move high-performing keywords between campaigns.
Show 42 more tools
gads_create_pmax_campaignONE-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_adCreate 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_adCreate 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_performanceGet top-level Google Ads account performance — impressions, clicks, cost, conversions for a date range. Quick health check for ad spend efficiency.
gads_list_conversion_actionsList 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_subscriptionsList 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_campaignPause a Google Ads campaign. Stops all ad serving immediately.
gads_remove_campaign_criterionRemove 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_keywordRemove (pause) a keyword from an ad group.
gads_request_ad_reviewRequest 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_searchRun 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_bidSet 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_statusSet 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_strategyChange 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_statusSet 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_inclusionControl 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_bidSet the max CPC bid (USD) on a specific keyword (ad group criterion). Refs #5764.
gads_set_presence_onlySet 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_subscriptionTurn 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_budgetUpdate 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_countingUpdate 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_conversionUpload 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_assetUpload 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_bundleUpload 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_containerComprehensive 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_triggerCreate a new trigger in a GTM workspace
gtm_create_versionCreate a container version from current workspace changes
gtm_delete_tagDelete a GTM tag from a workspace
gtm_find_misfiring_conversion_tagsFind 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_triggerFix 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_containerGet details of a specific GTM container
gtm_get_tagGet full configuration of a specific GTM tag
gtm_get_triggerGet full configuration of a specific GTM trigger
gtm_get_workspace_statusGet pending (unsaved) changes in a workspace before publishing
gtm_list_accountsList all GTM accounts accessible to the service account
gtm_list_containersList all containers in a GTM account
gtm_list_tagsList all tags in a GTM workspace
gtm_list_triggersList all triggers in a GTM workspace
gtm_list_workspacesList workspaces in a GTM container
gtm_publishPublish the current workspace — makes all changes live immediately
gtm_update_tagUpdate an existing GTM tag (e.g. fix its trigger, rename it, update parameters)
gtm_update_triggerUpdate 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
- 0.520score
Ainative Zerodb Memory MCP
AINative-Studio
ZeroDB agent-memory MCP — 18 tools: memory + write-back to Slack, Gmail, Calendar, GitHub.
ConnectorAFreshness: ALocal★ 1Claude Code +5 - 0.500score
Ainative Browser MCP
AINative-Studio
AI-powered browser automation MCP — 6 tools for web interaction, extraction, and validation.
ConnectorBFreshness: BLocal↓ 123/wkClaude Code +5 - 0.465score
Ainative Postgres MCP
AINative-Studio
Zero-config Postgres MCP with auto-provisioning — drop-in for server-postgres.
ConnectorBFreshness: BLocalClaude Code +5 - 0.465score
Ainative Prd MCP
AINative-Studio
PRD Generator MCP — generate, validate, and manage Product Requirement Documents.
ConnectorBFreshness: BLocalClaude Code +5 - 0.465score
Ainative Strapi MCP Server
AINative-Studio
Strapi CMS MCP — natural-language content management: create, manage, and publish content.
ConnectorBFreshness: BLocalClaude Code +5 - 0.465score
Ainative Opencode Memory MCP
AINative-Studio
Persistent cross-session memory for OpenCode and MCP coding agents, powered by ZeroDB.
ConnectorBFreshness: BLocalClaude Code +5
Cite this page
Ainative Gtm MCP. Agent Mart. https://agentmart.dev/connectors/ainative-studio-ainative-gtm-mcp (last updated 2026-10-25)