Adrex AI
MCP serverDev toolsadrex-ai gives your AI hands-on control of your Google Ads and Meta Ads campaigns. Once added, it can review performance, adjust budgets and bids, and create, pause, or resume campaigns when you ask. New Search campaigns are created paused, so no money is spent until you resume them.
Unavailable. This server has no hosted endpoint yet, so Ahel can't serve it.
Add to setup to save this item as a reference. Ahel cannot run it, and signing in will not install it.
What your AI can do with it
- List your Google Ads accounts and campaigns with spend, conversions, CPA, and ROAS
- Pull detailed metrics for a single campaign over any time window you choose
- Create new Search campaigns that stay paused until you approve them
- Update campaign names, budgets, and bidding strategies
- Pause, resume, or permanently delete campaigns
- Create ad groups and update their names, bids, and status
Getting started
- Save this item in Your setup as a reference.
- Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
- Check this page for availability before trying to install it through Ahel.
From the project's README
As published by adrex-ai/adrex-ai in README.md.
What is Adrex AI?
Adrex AI is an open-source MCP (Model Context Protocol) server that connects AI assistants to your Google Ads and Meta Ads accounts. Instead of navigating complex dashboards, you manage campaigns, reporting, keywords, and targeting through natural language — from Claude, Cursor, Codex, or any MCP client.
Platforms: Google Ads and Meta Ads (Facebook & Instagram) today — TikTok and LinkedIn coming soon.
You: "Show me my Google Ads performance for the last 7 days"
Claude: [calls google_ads_campaign_performance] → table with spend, clicks, CTR, ROAS
You: "Pause the campaign with the lowest ROAS"
Claude: [calls google_ads_pause_campaign] → campaign paused, no more spend
You: "Create a Meta campaign for our summer sale, $50/day budget"
Claude: [calls meta_ads_create_campaign] → campaign created PAUSED for your review
You connect your ad accounts once in the Adrex dashboard (secure OAuth — your tokens stay on our servers, never in the MCP client), then drive everything from your AI assistant. There are two ways to connect (see Quick Start): a remote server with browser sign-in — no API key, or this npx server with an API key.
Safety First
These tools operate on real ad accounts that spend real money:
- All campaigns and ads are created PAUSED — no spend until you explicitly resume
- Destructive and spend-starting actions return clear warnings
- Read operations (metrics, lists) run freely without side effects
Quick Start
First, sign up at adrex.ai and connect your Google/Meta ad accounts in Settings. Then pick one of the two ways to connect.
Option A — Remote server (recommended, no API key)
Connect over HTTP and authorize in your browser — nothing to copy or paste. Your client stores its own secure token. In the Adrex dashboard, Settings → Connect to your AI (MCP) shows a one-command connect with your server URL. It looks like:
Claude Code:
claude mcp add --transport http adrex-ai https://<your-adrex-server>/mcp
Claude Desktop / Cursor / VS Code / other clients (JSON) — or use the one-click Add to Cursor / Add to VS Code buttons in Settings:
{
"mcpServers": {
"adrex-ai": { "type": "http", "url": "https://<your-adrex-server>/mcp" }
}
}
After adding, your client opens a browser tab — sign in and click Authorize. The consent screen shows which Adrex account you're authorizing as; if a different account is already signed in on that browser, use Not you? Switch before approving.
You can see and revoke every connected app in Settings → Connect to your AI → Connected AI apps.
Connected the wrong account? Every tool will report "Not connected" even though your ad accounts are linked. Revoke the app in Settings, then re-authorize. Note that re-running
claude mcp adddoes nothing once the server is configured (already exists in local config) — instead run/mcpin Claude Code, pickadrex-ai, and clear authentication.
Option B — npx server with an API key
Prefer the classic stdio server? Generate an API key in Settings, then add it below. Adrex ships a standard stdio MCP server, so it works with any MCP client — every config points at npx -y adrex-ai with your ADREX_API_KEY.
Claude Code:
claude mcp add -s user adrex-ai -e ADREX_API_KEY=your-api-key -- npx -y adrex-ai
Gemini CLI:
gemini mcp add adrex-ai -e ADREX_API_KEY=your-api-key -- npx -y adrex-ai
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json), Cursor (~/.cursor/mcp.json global or .cursor/mcp.json per-project), Gemini CLI (~/.gemini/settings.json), or any client using the JSON mcpServers format:
{
"mcpServers": {
"adrex-ai": {
"command": "npx",
"args": ["-y", "adrex-ai"],
"env": {
"ADREX_API_KEY": "your-api-key"
}
}
}
}
Codex (~/.codex/config.toml) — note Codex uses TOML, not JSON:
[mcp_servers.adrex-ai]
command = "npx"
args = ["-y", "adrex-ai"]
env = { ADREX_API_KEY = "your-api-key" }
Any other MCP client (Cline, Windsurf, Zed, Continue, …): point it at command npx -y adrex-ai with env ADREX_API_KEY set to your key.
That's it — no SDK setup, no developer tokens, no OAuth juggling. The server forwards each request to the Adrex backend, which uses the ad-account credentials you connected in the dashboard.
Behind a corporate proxy? v1.0.4+ automatically routes through
HTTP_PROXY/HTTPS_PROXY.
Tools
Google Ads (35 tools)
Campaigns
| Tool | Description |
|---|---|
google_ads_list_accounts | List all accessible Google Ads accounts |
google_ads_list_campaigns | List campaigns with performance metrics |
google_ads_get_campaign | Get detailed campaign info and metrics |
google_ads_create_search_campaign | Create a Search campaign (created PAUSED) |
google_ads_update_campaign | Update name, budget, or bidding strategy |
google_ads_pause_campaign | Pause a campaign |
google_ads_resume_campaign | Resume a paused campaign |
google_ads_delete_campaign | Permanently remove a campaign |
Ad Groups
| Tool | Description |
|---|---|
google_ads_list_ad_groups | List ad groups with metrics |
google_ads_create_ad_group | Create an ad group with CPC bid |
google_ads_update_ad_group | Update name, bid, or status |
google_ads_pause_ad_group | Pause an ad group |
google_ads_delete_ad_group | Remove an ad group |
Ads
| Tool | Description |
|---|---|
google_ads_list_ads | List ads with headlines, URLs, and metrics |
google_ads_create_responsive_search_ad | Create RSA with headlines & descriptions |
google_ads_pause_ad | Pause an ad |
google_ads_enable_ad | Enable a paused ad |
google_ads_delete_ad | Remove an ad |
Keywords
| Tool | Description |
|---|---|
google_ads_list_keywords | List keywords with quality score and metrics |
google_ads_add_keywords | Add keywords (BROAD, PHRASE, EXACT) |
google_ads_add_negative_keywords | Add negative keywords to a campaign |
google_ads_pause_keyword | Pause a keyword |
google_ads_remove_keyword | Remove a keyword |
Reporting
| Tool | Description |
|---|---|
google_ads_campaign_performance | Performance summary across all campaigns |
google_ads_time_series | Daily metrics over a date range |
google_ads_breakdowns | Breakdowns by device or network |
google_ads_auction_insights | Competitive auction metrics |
google_ads_get_budget | Campaign budget details |
Analysis
| Tool | Description |
|---|---|
google_ads_keyword_performance | Rank keywords by return — which keywords made the most money |
google_ads_keyword_insights | Full keyword audit in one call: blocking negatives, wasted-spend themes, missing keywords, Quality Score premiums, budget vs Ad Rank caps, duplicates |
google_ads_ad_performance | Rank ads by return — which ad copy actually converts |
google_ads_search_terms | What people actually searched, what it cost, and which terms spent with nothing to show |
google_ads_conversion_health | Check conversion tracking is working before trusting any CPA or ROAS |
google_ads_conversion_funnel | Which keywords or campaigns produce the event the business is actually paid on, not just form fills — essential when offline conversions are imported |
google_ads_recent_changes | Who changed what recently — most sudden shifts are something someone did |
Meta Ads (26 tools)
Campaigns
| Tool | Description |
|---|---|
meta_ads_list_accounts | List all Meta ad accounts |
meta_ads_list_campaigns | List campaigns with metrics |
meta_ads_get_campaign | Get detailed campaign info |
meta_ads_create_campaign | Create a campaign (created PAUSED) |
meta_ads_update_campaign | Update name, budget, or status |
meta_ads_pause_campaign | Pause a campaign |
meta_ads_resume_campaign | Activate a paused campaign |
meta_ads_delete_campaign | Delete a campaign |
Ad Sets
| Tool | Description |
|---|---|
meta_ads_list_ad_sets | List ad sets with targeting and metrics |
meta_ads_create_ad_set | Create ad set with targeting options |
meta_ads_update_ad_set | Update name, budget, or status |
meta_ads_pause_ad_set | Pause an ad set |
meta_ads_delete_ad_set | Delete an ad set |
Ads
| Tool | Description |
|---|---|
meta_ads_list_ads | List ads with creative details and metrics |
meta_ads_create_ad | Create ad with copy, image, and CTA |
meta_ads_pause_ad | Pause an ad |
meta_ads_enable_ad | Activate a paused ad |
meta_ads_delete_ad | Delete an ad |
Targeting & Audiences
| Tool | Description |
|---|---|
meta_ads_search_interests | Search targeting interests and behaviors |
meta_ads_list_audiences | List custom audiences |
meta_ads_list_pages | List your Facebook pages |
meta_ads_update_targeting | Update ad set targeting |
Reporting
| Tool | Description |
|---|---|
meta_ads_campaign_performance | Performance summary across campaigns |
meta_ads_time_series | Daily performance time series |
meta_ads_breakdowns | Breakdowns by device, platform, age, gender |
meta_ads_creative_performance | Rank ads by return — which creative made money, and which spent for nothing |
Cross-Platform (3 tools)
| Tool | Description |
|---|---|
account_review | One call for "how are we doing". Leads with how much a month is at risk across Google and Meta, then splits it: money that bought nothing, spend well above the account's own CPA, and growth left on the table |
campaign_diagnosis | Why performance moved: compares the window against the one before and attributes the change |
list_connected_platforms | Which ad platforms are connected and ready to use |
Use Cases
Performance Review
"How are my Google Ads campaigns performing this month? Show me the ones with ROAS below 2x."
Campaign Management
"Create a new Meta traffic campaign called 'Summer Sale 2026' with a $75/day budget targeting ages 25-45 in the US."
Keyword Optimization
"Show me keywords in my 'Brand Terms' ad group. Pause any with quality score below 5."
Budget Control
"Increase the budget on my top-performing campaign by 20% and pause the one that's losing money."
Want More?
The MCP server gives you full campaign management from chat. The Adrex AI Platform adds:
- AI Campaign Agent — autonomous optimization with guardrails and rollback
- Creative Studio — AI-generated ad copy and images
- A/B Testing — native platform experiments
- Competitor Intelligence — track competitor ads across Google and Meta
- Budget Rules Engine — automated rules with natural language parsing
- Visual Dashboard — interactive charts, breakdowns, and time-series
Links
License
MIT License — see LICENSE for details.
Tools it gives your AI (54)
| Tool | What it does |
|---|---|
| google_ads_list_accounts | List all accessible Google Ads accounts |
| google_ads_list_campaigns | List all campaigns for a Google Ads account with spend, conversions, CPA and ROAS over a chosen window |
| google_ads_get_campaign | Get detailed metrics for one Google Ads campaign over a chosen window |
| google_ads_create_search_campaign | Create a new Google Ads Search campaign. Campaign is created PAUSED for safety — no money will be spent until you resume it. |
| google_ads_update_campaign | Update a Google Ads campaign's name, budget, or bidding strategy |
| google_ads_pause_campaign | Pause a Google Ads campaign — stops ad delivery immediately |
| google_ads_resume_campaign | Resume a paused Google Ads campaign — this will start spending your budget |
| google_ads_delete_campaign | Permanently remove a Google Ads campaign — this action is IRREVERSIBLE |
| google_ads_list_ad_groups | List all ad groups for a Google Ads campaign with performance metrics |
| google_ads_create_ad_group | Create a new ad group within a Google Ads campaign |
| google_ads_update_ad_group | Update a Google Ads ad group's name, bid, or status |
| google_ads_pause_ad_group | Pause a Google Ads ad group |
| google_ads_delete_ad_group | Permanently remove a Google Ads ad group — IRREVERSIBLE |
| google_ads_list_ads | List all ads in a Google Ads ad group with performance metrics |
| google_ads_create_responsive_search_ad | Create a Responsive Search Ad with multiple headlines and descriptions. Ad is created PAUSED for review. |
| google_ads_pause_ad | Pause a Google Ads ad |
| google_ads_enable_ad | Enable a paused Google Ads ad — it will start serving |
| google_ads_delete_ad | Permanently remove a Google Ads ad — IRREVERSIBLE |
| google_ads_list_keywords | List keywords in a Google Ads ad group with quality score and performance metrics |
| google_ads_add_keywords | Add keywords to a Google Ads ad group with specified match types |
| google_ads_add_negative_keywords | Add negative keywords to a Google Ads campaign to exclude irrelevant searches |
| google_ads_pause_keyword | Pause a keyword in a Google Ads ad group |
| google_ads_remove_keyword | Permanently remove a keyword from a Google Ads ad group — IRREVERSIBLE |
| google_ads_campaign_performance | Get performance summary across all Google Ads campaigns with spend, clicks, conversions, and ROAS |
| google_ads_time_series | Get daily performance time series for a Google Ads campaign |
| google_ads_breakdowns | Get campaign breakdowns by device or network for a Google Ads campaign |
| google_ads_auction_insights | Get competitive auction insights showing how you compare against other advertisers |
| google_ads_get_budget | Get budget details for a Google Ads campaign |
| meta_ads_list_accounts | List all accessible Meta (Facebook) ad accounts |
| meta_ads_list_campaigns | List all campaigns for a Meta ad account with spend, conversions, CPA and ROAS over a chosen window |
| meta_ads_get_campaign | Get detailed metrics for one Meta campaign over a chosen window |
| meta_ads_create_campaign | Create a new Meta Ads campaign. Created PAUSED for safety — no money spent until you activate it. |
| meta_ads_update_campaign | Update a Meta campaign's name, budget, or status |
| meta_ads_pause_campaign | Pause a Meta campaign — stops ad delivery immediately |
| meta_ads_resume_campaign | Activate a paused Meta campaign — this will start spending your budget |
| meta_ads_delete_campaign | Permanently delete a Meta campaign — IRREVERSIBLE |
| meta_ads_list_ad_sets | List all ad sets for a Meta campaign with targeting and metrics |
| meta_ads_create_ad_set | Create a new ad set in a Meta campaign with targeting options |
| meta_ads_update_ad_set | Update a Meta ad set's name, budget, or status |
| meta_ads_pause_ad_set | Pause a Meta ad set |
| meta_ads_delete_ad_set | Permanently delete a Meta ad set — IRREVERSIBLE |
| meta_ads_list_ads | List all ads in a Meta ad set with creative details and metrics |
| meta_ads_create_ad | Create a new Meta ad with creative (image, copy, link). Ad is created PAUSED for review. |
| meta_ads_pause_ad | Pause a Meta ad |
| meta_ads_enable_ad | Activate a paused Meta ad — it will start serving |
| meta_ads_delete_ad | Permanently delete a Meta ad — IRREVERSIBLE |
| meta_ads_search_interests | Search Meta's targeting interests and behaviors for audience building |
| meta_ads_list_audiences | List custom audiences for a Meta ad account |
| meta_ads_list_pages | List Facebook pages you manage (needed for creating ads) |
| meta_ads_update_targeting | Update targeting settings on a Meta ad set (age, gender, countries, interests) |
| meta_ads_campaign_performance | Get performance summary across all Meta campaigns with spend, clicks, and conversions |
| meta_ads_time_series | Get daily performance time series for a Meta campaign |
| meta_ads_breakdowns | Get campaign breakdowns by device, platform, placement, age, or gender |
| list_connected_platforms | Check which ad platforms are configured and ready to use |
Signals
- GitHub stars
- 3
- Last commit
- Sep 2026
- Weekly downloads
- 100
- Weekly_downloads
- 253 weekly_downloads
- Tools captured
- 54
Ahel review
S4low
published under gauravapiscean's namespace; repository belongs to adrex-ai
Automated review, not a security audit. Ruleset v1.
Advanced
- Delivery
- adrex-ai MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-gauravapiscean-adrex-ai- Source
- github.com/adrex-ai/adrex-ai