The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Google Ads + Meta Ads + GA4 MCP listing page.
Google Ads MCP, Meta Ads (Facebook/Instagram) MCP, and Google Analytics 4 in a single server for Claude, ChatGPT, Cursor, Windsurf & n8n — 250+ tools, hosted remote MCP, OAuth login, no API keys.
claude.ai, Claude Desktop, ChatGPT, Cursor: Settings › Connectors › Add custom connector, paste https://connector.get-ryze.ai/mcp, sign in with the Google or Facebook account that owns the ads. No API keys, no developer token, nothing to install. Screenshots for every client →
See how to run a full Google Ads and Meta Ads account audit using Claude with MCP — from data pull to automated audit report and presentation, in minutes instead of hours.
https://github.com/user-attachments/assets/2f931292-a3af-4010-a72e-38b8cf6e62ba
What you'll see: Connect your ad accounts → Claude analyzes campaign performance, budget efficiency, and targeting gaps across Google Ads & Meta Ads → generates a complete audit report with recommendations → builds a ready-to-share presentation. Try it free on Ryze AI →
One MCP server. Three platforms. 250+ tools. Manage all your advertising and analytics from ChatGPT, Claude, Cursor, n8n, Windsurf, and more. Powered by Ryze AI.
The Model Context Protocol (MCP) is the open standard that lets AI assistants like Claude and ChatGPT securely use external tools. This repo is a Google Ads MCP, a Meta Ads MCP, and a GA4 MCP in one server: it exposes the Google Ads API, Meta Marketing API, and Google Analytics 4 Data API as MCP tools, so you create campaigns, research keywords, upload creatives, build audiences, and pull performance reports by chatting with your AI assistant instead of clicking through three dashboards.
Marketers and agencies juggle Google Ads, Meta Ads, and GA4 daily — each with its own dashboard, API, and workflow. Existing MCP servers only cover one platform at a time, forcing you to install and configure multiple tools.
This server unifies everything:
| Problem | Solution |
|---|---|
| Separate MCP servers per platform | One server, all platforms |
| Complex local setup with API keys | Remote MCP — connect in 2 minutes |
| Read-only access (official Google MCP) | Full read + write across all platforms |
| No analytics integration | GA4 built-in for data-driven decisions |
| AI Assistant | Status | Setup Guide |
|---|---|---|
| ChatGPT | Supported | Setup Guide |
| Claude Desktop | Supported | Setup Guide |
| Claude Code | Supported | Setup Guide |
| Cursor | Supported | Setup Guide |
| Windsurf | Supported | Setup Guide |
| n8n | Supported | Setup Guide |
| Codex CLI | Supported | Config |
| Gemini CLI | Supported | Setup Guide |
| Cline | Supported | Setup Guide |
Remote OAuth servers are added as connectors, not in claude_desktop_config.json:
Ryze, URL https://connector.get-ryze.ai/mcp, click AddSee the full Claude Setup Guide for detailed instructions.
https://connector.get-ryze.ai/mcpGoogle Meta Ads GA4See the full ChatGPT Setup Guide.
Add to your MCP config (~/.cursor/mcp.json or ~/.codeium/windsurf/mcp_config.json):
Use the MCP Server Trigger node with Streamable HTTP:
https://connector.get-ryze.ai/mcpSee the full n8n Setup Guide or import the ready-made workflow template.
Your AI assistant communicates with this MCP server using the Model Context Protocol. The server handles authentication and routes requests to the appropriate Google Ads, Meta Ads, or GA4 API.
| Tool | Description |
|---|---|
list_accounts | List all accessible Google Ads accounts |
get_account_info | Get detailed account information |
get_account_hierarchy | View account hierarchy (MCC structure) |
list_campaigns | List all campaigns with status and metrics |
get_campaign | Get detailed campaign information |
create_search_campaign | Create a new Search campaign |
create_display_campaign | Create a new Display campaign |
create_shopping_campaign | Create a new Shopping campaign |
create_pmax_campaign | Create a Performance Max campaign |
create_demand_gen_campaign | Create a Demand Gen campaign |
create_app_campaign | Create an App campaign |
copy_campaign | Duplicate an existing campaign |
update_campaign | Update campaign settings |
pause_campaign | Pause a campaign |
resume_campaign | Resume a paused campaign |
delete_campaign | Delete a campaign |
| Tool | Description |
|---|---|
list_ad_groups | List ad groups in a campaign |
create_ad_group | Create a new ad group |
update_ad_group | Update ad group settings |
pause_ad_group | Pause an ad group |
enable_ad_group | Enable an ad group |
delete_ad_group | Delete an ad group |
list_ads | List ads in an ad group |
get_ad | Get ad details |
create_responsive_search_ad | Create a Responsive Search Ad |
create_responsive_display_ad | Create a Responsive Display Ad |
create_demand_gen_ad | Create a Demand Gen ad |
update_ad | Update an ad |
pause_ad | Pause an ad |
enable_ad | Enable an ad |
delete_ad | Delete an ad |
| Tool | Description |
|---|---|
list_keywords | List keywords in an ad group |
add_keywords | Add keywords to an ad group |
update_keyword_bid | Update keyword bids |
pause_keyword | Pause a keyword |
enable_keyword | Enable a keyword |
delete_keyword | Delete a keyword |
keyword_planner | Get keyword ideas with volume data |
add_negative_keywords | Add negative keywords |
add_campaign_negative_keyword | Add campaign-level negatives |
auto_suggest_negative_keywords | AI-suggested negative keywords |
get_search_terms_insights | Search terms report |
add_audience_targeting | Add audience targeting |
set_demographic_targeting | Set demographic targets |
add_campaign_location_targeting | Add location targeting |
search_geo_locations | Search for geo targets |
| Tool | Description |
|---|---|
list_budgets | List all budgets |
create_budget | Create a new budget |
update_budget | Update budget amount |
list_bidding_strategies | List bidding strategies |
create_portfolio_bidding_strategy | Create portfolio strategy |
set_bid_adjustments | Set bid adjustments |
get_bid_adjustment_performance | Bid adjustment performance |
| Tool | Description |
|---|---|
create_sitelink_extensions | Create sitelink extensions |
create_callout_extensions | Create callout extensions |
create_call_extensions | Create call extensions |
create_image_extensions | Create image extensions |
create_price_extensions | Create price extensions |
create_promotion_extensions | Create promotion extensions |
create_structured_snippet_extensions | Create structured snippets |
create_lead_form_extensions | Create lead form extensions |
list_extensions | List all extensions |
| Tool | Description |
|---|---|
get_campaign_overview | Campaign performance overview |
get_keyword_performance | Keyword performance metrics |
get_device_performance | Performance by device |
get_location_performance | Performance by location |
get_audience_performance | Audience performance |
get_ad_strength_and_review_status | Ad strength scores |
calculate_roas_by_ad | ROAS calculation per ad |
compare_ad_performance | Compare ad variants |
identify_optimization_opportunities | AI optimization suggestions |
run_gaql_query | Run custom GAQL queries |
| Tool | Description |
|---|---|
create_experiment | Create A/B test experiment |
schedule_experiment | Schedule experiment run |
promote_experiment | Promote winning variant |
create_conversion_action | Create conversion action |
upload_click_conversions | Upload offline conversions |
create_shared_set | Create shared keyword set |
create_label | Create organizational label |
create_custom_audience | Create custom audience |
create_remarketing_action | Create remarketing tag |
| Tool | Description |
|---|---|
meta_get_ad_accounts | List all Meta ad accounts |
meta_get_account_info | Get ad account details |
meta_get_campaigns | List all campaigns |
meta_get_campaign_details | Get campaign details |
meta_create_campaign | Create a new campaign |
meta_update_campaign | Update campaign settings |
meta_delete_campaign | Delete a campaign |
| Tool | Description |
|---|---|
meta_get_adsets | List ad sets |
meta_get_adset_details | Get ad set details |
meta_create_adset | Create an ad set |
meta_update_adset | Update ad set |
meta_delete_adset | Delete an ad set |
meta_get_ads | List ads |
meta_get_ad_details | Get ad details |
meta_create_ad | Create an ad |
meta_update_ad | Update an ad |
meta_delete_ad | Delete an ad |
| Tool | Description |
|---|---|
meta_get_ad_creatives | List ad creatives |
meta_create_ad_creative | Create ad creative |
meta_update_ad_creative | Update ad creative |
meta_delete_ad_creative | Delete ad creative |
meta_upload_ad_image | Upload ad image |
meta_upload_ad_video | Upload ad video |
meta_batch_upload_ad_images | Batch upload images |
meta_get_ad_image | Get image details |
meta_get_ad_previews | Preview ad creatives |
| Tool | Description |
|---|---|
meta_create_custom_audience | Create custom audience |
meta_create_lookalike_audience | Create lookalike audience |
meta_estimate_audience_size | Estimate audience reach |
meta_search_interests | Search interest targets |
meta_search_behaviors | Search behavior targets |
meta_search_demographics | Search demographic targets |
meta_search_geo_locations | Search geo locations |
meta_get_interest_suggestions | Interest suggestions |
| Tool | Description |
|---|---|
meta_get_insights | Get performance insights |
meta_get_page_insights | Page-level insights |
meta_get_page_posts | List page posts |
meta_get_promotable_posts | Get promotable posts |
meta_boost_page_post | Boost a page post |
| Tool | Description |
|---|---|
meta_get_lead_forms | List lead forms |
meta_get_lead_form_details | Lead form details |
meta_get_lead_form_leads | Get form submissions |
meta_create_lead_form | Create lead form |
meta_create_test_lead | Create test lead |
| Tool | Description |
|---|---|
meta_get_catalogs | List catalogs |
meta_get_catalog_products | List products |
meta_create_catalog_product | Create product |
meta_batch_update_catalog_products | Batch update products |
meta_create_catalog_product_feed | Create product feed |
meta_create_catalog_product_set | Create product set |
| Tool | Description |
|---|---|
meta_get_business_info | Get business details |
meta_get_business_users | List business users |
meta_get_business_pages | List business pages |
meta_get_business_ad_accounts | Business ad accounts |
meta_get_business_instagram_accounts | Instagram accounts |
meta_get_business_pixels | List pixels |
| Tool | Description |
|---|---|
ga_get_account_summaries | List all GA4 accounts and properties |
ga_get_property_details | Get property configuration |
ga_run_report | Run a standard report |
ga_run_pivot_report | Run a pivot table report |
ga_run_realtime_report | Run a realtime report |
ga_batch_run_reports | Run multiple reports at once |
ga_get_metadata | Get available dimensions and metrics |
ga_check_compatibility | Check dimension/metric compatibility |
ga_list_audiences | List configured audiences |
ga_list_key_events | List key events (conversions) |
ga_list_data_streams | List data streams |
ga_list_channel_groups | List channel groups |
ga_get_custom_dimensions_and_metrics | Custom dimensions/metrics |
ga_get_attribution_settings | Attribution model settings |
ga_get_enhanced_measurement_settings | Enhanced measurement config |
ga_get_data_retention_settings | Data retention settings |
ga_get_google_signals_settings | Google Signals status |
ga_list_bigquery_links | BigQuery export links |
ga_list_dv360_links | DV360 integration links |
ga_list_firebase_links | Firebase integration links |
ga_list_search_ads_links | Search Ads 360 links |
ga_list_property_annotations | Property annotations |
| Tool | Description |
|---|---|
research_google_search | Search Google for market research |
research_analyze_webpage | Analyze any webpage |
research_fetch_images_from_url | Extract images from URLs |
research_download_and_resize | Download and resize images |
research_search_stock_images | Search stock image libraries |
research_get_landing_pages | Analyze landing pages |
No. The MCP server handles authentication via OAuth. You'll be prompted to connect your Google and Meta accounts on first use.
Yes, the MCP server is free. You only pay for the AI assistant you use (ChatGPT, Claude, etc.) and any ad spend on the platforms.
Yes! See the n8n Setup Guide for Streamable HTTP integration, or import our ready-made workflow template.
Yes. The get_account_hierarchy and list_accounts tools support MCC structures, letting you manage multiple accounts from one connection.
Yes. Use run_gaql_query for Google Ads (GAQL) and meta_fetch for Meta Ads to run custom API queries.
The server respects Google and Meta API rate limits automatically. For high-volume operations, use batch tools like add_batch_campaign_operations and meta_batch_update_catalog_products.
Contributions are welcome! Please see our issue templates to report bugs or request features.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)If this project helps you manage ads more efficiently, please give it a star! It helps others discover it.
This project is licensed under the MIT License — see the LICENSE file for details.
Google Ads MCP · Meta Ads MCP · Facebook Ads MCP · GA4 MCP · Model Context Protocol
Built for marketers, agencies, and developers who want AI-powered ad management.
🚀 Get started with Ryze AI