Google Ads vs Meta Ads MCP

A side-by-side look at the Google Ads and Meta Ads MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Google Ads logoGoogle AdsMarketing · Local subprocess (stdio)Google Ads: 31 read tools with full Keyword Planner, 7 write tools that preview first.55GoodAuth: not declaredMeta Ads MCP logoMeta Ads MCPMarketing · Local subprocess (stdio)MCP server for Meta Marketing API v25.0 — 123 tools for Facebook & Instagram ad campaigns, audiences, creatives, insights, catalogs, and automated rules.68GreatAuth: api key required

Verdict: choose Google Ads for marketing work as a local process; choose Meta Ads MCP for marketing as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Google Ads logoChoose Google Ads when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_CLIENT_ID, GOOGLE_ADS_CLIENT_SECRET, GOOGLE_ADS_REFRESH_TOKEN, GOOGLE_ADS_LOGIN_CUSTOMER_ID.
  • You want tools like google_ads_list_accounts, google_ads_get_account_details, google_ads_run_gaql.
Explore Google Ads

Meta Ads MCP logoChoose Meta Ads MCP when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: META_ADS_ACCESS_TOKEN, META_AD_ACCOUNT_ID.
  • You want tools like list_campaigns, get_campaign, create_campaign.
Explore Meta Ads MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGoogle Ads logoGoogle AdsMeta Ads MCP logoMeta Ads MCP
CategoryMarketingMarketing
Quality signal55/100 · Good68/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredBYOK (pay the provider)
Required env varsGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_CLIENT_IDGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_REFRESH_TOKENGOOGLE_ADS_LOGIN_CUSTOMER_IDMETA_ADS_ACCESS_TOKENMETA_AD_ACCOUNT_ID
Verified ownerCommunity listingCommunity listing
GitHub stars191
Directory activity 1 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools45134

Tools & capabilities

Google Ads tools 45

  • google_ads_list_accountsList Google Ads customer accounts accessible with the current credentials.
  • google_ads_get_account_detailsGet detailed information for a specific Google Ads customer account.
  • google_ads_run_gaqlExecute a raw GAQL (Google Ads Query Language) query.
  • google_ads_get_insightsQuery Google Ads performance insights with intelligent query planning.
  • google_ads_get_campaignsList campaigns for a Google Ads account with status, budget, channel type, and bidding strategy.
  • google_ads_get_adgroupsList ad groups for a Google Ads account, optionally filtered by campaign.
  • google_ads_get_keyword_performanceGet keyword-level performance data from keyword_view resource.
  • google_ads_validate_queryValidate metric/dimension/resource compatibility BEFORE executing a query.
  • google_ads_health_checkRead-only connectivity check.
  • google_ads_get_account_hierarchyList accessible customers and, where possible, manager/client relationships from GAQL customer_client.
  • google_ads_get_conversion_actionsList conversion actions with status, type, category, primary/include-in-conversions flags, owner customer, and last activity dates when supported.
  • google_ads_get_change_eventsFetch recent change_event rows.
  • +33 more on the listing page

Meta Ads MCP tools 134

  • list_campaignsList campaigns in the ad account. Supports filtering by status and objective. Returns paginated results.
  • get_campaignGet details of a specific campaign by ID.
  • create_campaignCreate a new ad campaign. Defaults to PAUSED status. Requires name and objective. Budget can be set at campaign or ad set level.
  • update_campaignUpdate an existing campaign. Only provided fields will be modified.
  • delete_campaignDelete a campaign. This action is irreversible.
  • copy_campaignCopy an existing campaign. Creates a duplicate with optional name override. Copies structure including ad sets and ads.
  • get_campaign_adsetsGet all ad sets belonging to a specific campaign.
  • get_campaign_adsGet all ads belonging to a specific campaign.
  • get_campaign_leadsGet leads generated by a specific campaign. Requires leads_retrieval permission.
  • list_adsetsList ad sets in the ad account. Optionally filter by campaign or status.
  • get_adsetGet details of a specific ad set by ID.
  • create_adsetCreate a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status.
  • +122 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Google Ads

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "google-ads-6": {
      "command": "npx",
      "args": [
        "-y",
        "@getmcpads/google-ads-mcp-server"
      ],
      "env": {
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_GOOGLE_ADS_DEVELOPER_TOKEN_HERE",
        "GOOGLE_ADS_CLIENT_ID": "YOUR_GOOGLE_ADS_CLIENT_ID_HERE",
        "GOOGLE_ADS_CLIENT_SECRET": "YOUR_GOOGLE_ADS_CLIENT_SECRET_HERE",
        "GOOGLE_ADS_REFRESH_TOKEN": "YOUR_GOOGLE_ADS_REFRESH_TOKEN_HERE",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID_HERE"
      }
    }
  }
}

Meta Ads MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mikusnuz-meta-ads-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mikusnuz/meta-ads-mcp"
      ],
      "env": {
        "META_ADS_ACCESS_TOKEN": "YOUR_META_ADS_ACCESS_TOKEN_HERE",
        "META_AD_ACCOUNT_ID": "YOUR_META_AD_ACCOUNT_ID_HERE"
      }
    }
  }
}

Frequently asked questions

Google Ads is categorized under Marketing and uses a local stdio subprocess. Meta Ads MCP belongs to Marketing and uses a local stdio subprocess. Pick Google Ads for marketing work and Meta Ads MCP for marketing.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Google Ads has no declared pricing — check the project's own site. Meta Ads MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add google-ads-6 and mikusnuz-meta-ads-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Google Ads has a quality signal of 55/100 (Good) with 1 views, 0 installs and 1 GitHub stars. Meta Ads MCP has 68/100 (Great) with 2 views, 0 installs and 91 GitHub stars.