{
  "markdown": "<p align=\"center\">\n  <h1 align=\"center\">Adrex AI</h1>\n  <p align=\"center\">\n    <strong>Open-source MCP server for Google Ads &amp; Meta Ads</strong>\n  </p>\n  <p align=\"center\">\n    Manage your ad campaigns in plain English from Claude Code, Cursor, Codex, Gemini, or any MCP client.\n  </p>\n  <p align=\"center\">\n    <a href=\"https://www.npmjs.com/package/adrex-ai\"><img src=\"https://img.shields.io/npm/v/adrex-ai?color=8b5cf6\" alt=\"npm version\"></a>\n    <a href=\"https://www.npmjs.com/package/adrex-ai\"><img src=\"https://img.shields.io/npm/dm/adrex-ai?color=06b6d4\" alt=\"npm downloads\"></a>\n    <a href=\"LICENSE\"><img src=\"https://img.shields.io/npm/l/adrex-ai\" alt=\"MIT license\"></a>\n  </p>\n  <p align=\"center\">\n    <a href=\"#quick-start\">Quick Start</a> |\n    <a href=\"#tools\">62 Tools</a> |\n    <a href=\"https://adrex.ai\">Platform</a> |\n    <a href=\"https://discord.gg/adrex\">Discord</a>\n  </p>\n</p>\n\n---\n\n## What is Adrex AI?\n\nAdrex 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.\n\n> **Platforms:** Google Ads and Meta Ads (Facebook & Instagram) today — TikTok and LinkedIn coming soon.\n\n```\nYou: \"Show me my Google Ads performance for the last 7 days\"\nClaude: [calls google_ads_campaign_performance] → table with spend, clicks, CTR, ROAS\n\nYou: \"Pause the campaign with the lowest ROAS\"\nClaude: [calls google_ads_pause_campaign] → campaign paused, no more spend\n\nYou: \"Create a Meta campaign for our summer sale, $50/day budget\"\nClaude: [calls meta_ads_create_campaign] → campaign created PAUSED for your review\n```\n\nYou connect your ad accounts once in the [Adrex dashboard](https://adrex.ai) (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](#quick-start)): a **remote server with browser sign-in — no API key**, or this **npx server with an API key**.\n\n### Safety First\n\nThese tools operate on **real ad accounts** that spend **real money**:\n\n- All campaigns and ads are created **PAUSED** — no spend until you explicitly resume\n- Destructive and spend-starting actions return clear warnings\n- Read operations (metrics, lists) run freely without side effects\n\n## Quick Start\n\nFirst, sign up at **[adrex.ai](https://adrex.ai)** and connect your Google/Meta ad accounts in **Settings**. Then pick one of the two ways to connect.\n\n### Option A — Remote server (recommended, no API key)\n\nConnect 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:\n\n**Claude Code:**\n```bash\nclaude mcp add --transport http adrex-ai https://<your-adrex-server>/mcp\n```\n\n**Claude Desktop / Cursor / VS Code / other clients** (JSON) — or use the one-click **Add to Cursor / Add to VS Code** buttons in Settings:\n```json\n{\n  \"mcpServers\": {\n    \"adrex-ai\": { \"type\": \"http\", \"url\": \"https://<your-adrex-server>/mcp\" }\n  }\n}\n```\n\nAfter 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.\n\nYou can see and revoke every connected app in **Settings → Connect to your AI → Connected AI apps**.\n\n> **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 add` does nothing once the server is configured (`already exists in local config`) — instead run `/mcp` in Claude Code, pick `adrex-ai`, and clear authentication.\n\n### Option B — npx server with an API key\n\nPrefer 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`.\n\n**Claude Code:**\n```bash\nclaude mcp add -s user adrex-ai -e ADREX_API_KEY=your-api-key -- npx -y adrex-ai\n```\n\n**Gemini CLI:**\n```bash\ngemini mcp add adrex-ai -e ADREX_API_KEY=your-api-key -- npx -y adrex-ai\n```\n\n**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:\n\n```json\n{\n  \"mcpServers\": {\n    \"adrex-ai\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"adrex-ai\"],\n      \"env\": {\n        \"ADREX_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n**Codex** (`~/.codex/config.toml`) — note Codex uses TOML, not JSON:\n\n```toml\n[mcp_servers.adrex-ai]\ncommand = \"npx\"\nargs = [\"-y\", \"adrex-ai\"]\nenv = { ADREX_API_KEY = \"your-api-key\" }\n```\n\n**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.\n\nThat'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.\n\n> **Behind a corporate proxy?** v1.0.4+ automatically routes through `HTTP_PROXY` / `HTTPS_PROXY`.\n\n## Tools\n\n### Google Ads (34 tools)\n\n#### Campaigns\n| Tool | Description |\n|---|---|\n| `google_ads_list_accounts` | List all accessible Google Ads accounts |\n| `google_ads_list_campaigns` | List campaigns with performance metrics |\n| `google_ads_get_campaign` | Get detailed campaign info and metrics |\n| `google_ads_create_search_campaign` | Create a Search campaign (created PAUSED) |\n| `google_ads_update_campaign` | Update name, budget, or bidding strategy |\n| `google_ads_pause_campaign` | Pause a campaign |\n| `google_ads_resume_campaign` | Resume a paused campaign |\n| `google_ads_delete_campaign` | Permanently remove a campaign |\n\n#### Ad Groups\n| Tool | Description |\n|---|---|\n| `google_ads_list_ad_groups` | List ad groups with metrics |\n| `google_ads_create_ad_group` | Create an ad group with CPC bid |\n| `google_ads_update_ad_group` | Update name, bid, or status |\n| `google_ads_pause_ad_group` | Pause an ad group |\n| `google_ads_delete_ad_group` | Remove an ad group |\n\n#### Ads\n| Tool | Description |\n|---|---|\n| `google_ads_list_ads` | List ads with headlines, URLs, and metrics |\n| `google_ads_create_responsive_search_ad` | Create RSA with headlines & descriptions |\n| `google_ads_pause_ad` | Pause an ad |\n| `google_ads_enable_ad` | Enable a paused ad |\n| `google_ads_delete_ad` | Remove an ad |\n\n#### Keywords\n| Tool | Description |\n|---|---|\n| `google_ads_list_keywords` | List keywords with quality score and metrics |\n| `google_ads_add_keywords` | Add keywords (BROAD, PHRASE, EXACT) |\n| `google_ads_add_negative_keywords` | Add negative keywords to a campaign |\n| `google_ads_pause_keyword` | Pause a keyword |\n| `google_ads_remove_keyword` | Remove a keyword |\n\n#### Reporting\n| Tool | Description |\n|---|---|\n| `google_ads_campaign_performance` | Performance summary across all campaigns |\n| `google_ads_time_series` | Daily metrics over a date range |\n| `google_ads_breakdowns` | Breakdowns by device or network |\n| `google_ads_auction_insights` | Competitive auction metrics |\n| `google_ads_get_budget` | Campaign budget details |\n\n#### Analysis\n| Tool | Description |\n|---|---|\n| `google_ads_keyword_performance` | Rank keywords by return — which keywords made the most money |\n| `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 |\n| `google_ads_ad_performance` | Rank ads by return — which ad copy actually converts |\n| `google_ads_search_terms` | What people actually searched, what it cost, and which terms spent with nothing to show |\n| `google_ads_conversion_health` | Check conversion tracking is working before trusting any CPA or ROAS |\n| `google_ads_recent_changes` | Who changed what recently — most sudden shifts are something someone did |\n\n### Meta Ads (26 tools)\n\n#### Campaigns\n| Tool | Description |\n|---|---|\n| `meta_ads_list_accounts` | List all Meta ad accounts |\n| `meta_ads_list_campaigns` | List campaigns with metrics |\n| `meta_ads_get_campaign` | Get detailed campaign info |\n| `meta_ads_create_campaign` | Create a campaign (created PAUSED) |\n| `meta_ads_update_campaign` | Update name, budget, or status |\n| `meta_ads_pause_campaign` | Pause a campaign |\n| `meta_ads_resume_campaign` | Activate a paused campaign |\n| `meta_ads_delete_campaign` | Delete a campaign |\n\n#### Ad Sets\n| Tool | Description |\n|---|---|\n| `meta_ads_list_ad_sets` | List ad sets with targeting and metrics |\n| `meta_ads_create_ad_set` | Create ad set with targeting options |\n| `meta_ads_update_ad_set` | Update name, budget, or status |\n| `meta_ads_pause_ad_set` | Pause an ad set |\n| `meta_ads_delete_ad_set` | Delete an ad set |\n\n#### Ads\n| Tool | Description |\n|---|---|\n| `meta_ads_list_ads` | List ads with creative details and metrics |\n| `meta_ads_create_ad` | Create ad with copy, image, and CTA |\n| `meta_ads_pause_ad` | Pause an ad |\n| `meta_ads_enable_ad` | Activate a paused ad |\n| `meta_ads_delete_ad` | Delete an ad |\n\n#### Targeting & Audiences\n| Tool | Description |\n|---|---|\n| `meta_ads_search_interests` | Search targeting interests and behaviors |\n| `meta_ads_list_audiences` | List custom audiences |\n| `meta_ads_list_pages` | List your Facebook pages |\n| `meta_ads_update_targeting` | Update ad set targeting |\n\n#### Reporting\n| Tool | Description |\n|---|---|\n| `meta_ads_campaign_performance` | Performance summary across campaigns |\n| `meta_ads_time_series` | Daily performance time series |\n| `meta_ads_breakdowns` | Breakdowns by device, platform, age, gender |\n| `meta_ads_creative_performance` | Rank ads by return — which creative made money, and which spent for nothing |\n\n### Cross-Platform (2 tools)\n| Tool | Description |\n|---|---|\n| `account_review` | One call for \"how are we doing\" — every campaign across Google and Meta, with ranked findings |\n| `campaign_diagnosis` | Why performance moved: compares the window against the one before and attributes the change |\n\n## Use Cases\n\n**Performance Review**\n> \"How are my Google Ads campaigns performing this month? Show me the ones with ROAS below 2x.\"\n\n**Campaign Management**\n> \"Create a new Meta traffic campaign called 'Summer Sale 2026' with a $75/day budget targeting ages 25-45 in the US.\"\n\n**Keyword Optimization**\n> \"Show me keywords in my 'Brand Terms' ad group. Pause any with quality score below 5.\"\n\n**Budget Control**\n> \"Increase the budget on my top-performing campaign by 20% and pause the one that's losing money.\"\n\n## Want More?\n\nThe MCP server gives you full campaign management from chat. The [Adrex AI Platform](https://adrex.ai) adds:\n\n- **AI Campaign Agent** — autonomous optimization with guardrails and rollback\n- **Creative Studio** — AI-generated ad copy and images\n- **A/B Testing** — native platform experiments\n- **Competitor Intelligence** — track competitor ads across Google and Meta\n- **Budget Rules Engine** — automated rules with natural language parsing\n- **Visual Dashboard** — interactive charts, breakdowns, and time-series\n\n## Links\n\n- [Adrex AI Platform](https://adrex.ai)\n- [Documentation](https://docs.adrex.ai)\n- [Discord Community](https://discord.gg/adrex)\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n---\n\n<p align=\"center\">\n  Built by the team behind <a href=\"https://adrex.ai\">Adrex AI</a>\n</p>\n",
  "bytes": 11882,
  "sha": "f587996812aa22d0310ba6a02d3c1a8962de913bbc14a27f0d64682288416f7a",
  "repo_slug": "adrex-ai/adrex-ai",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_gauravapiscean_adrex_ai_a47168b0/readme"
}