loading…
Search for a command to run...
loading…
Cross-platform ad management MCP server for Google Ads and Meta Ads. Campaign analytics, A/B testing with z-test, anomaly detection, and budget reallocation. 15
Cross-platform ad management MCP server for Google Ads and Meta Ads. Campaign analytics, A/B testing with z-test, anomaly detection, and budget reallocation. 15 tools, 60 tests.
CSV-first analytics & optimization for Google Ads + Meta Ads — inside Claude, Cursor, and any MCP client.
Export a CSV from Google Ads or Meta Ads Manager → import into AdOps → ask your AI assistant anything about your campaigns.
No OAuth. No developer tokens. No API approval queues. Your data stays on your machine.
Google Ads API and Meta Marketing API are powerful but gated: developer token approval takes days, Meta app review takes weeks, OAuth flows are fragile. For most advertisers those barriers never clear.
AdOps takes a different path. Every ad platform's dashboard already has a Download / Export button that produces a CSV of exactly what you care about: campaign performance, day-segmented metrics, spend, conversions, ROAS. AdOps reads that CSV and runs the same analysis you'd get from a $200/mo optimization suite — anomaly detection, budget allocation, A/B significance, forecasting, industry benchmarks — directly inside your AI assistant.
You stay in control of your data. You don't hand credentials to a third party. You don't wait 3 weeks for a review.
UnifiedCampaign / UnifiedMetrics modelnpm i adops-mcp-server
Add to your MCP client (Claude Desktop claude_desktop_config.json, Cursor, VS Code, Windsurf):
{
"mcpServers": {
"adops": {
"command": "node",
"args": ["path/to/node_modules/adops-mcp-server/dist/index.js"]
}
}
}
Restart your client. Then, inside Claude:
> Seed demo data so I can explore AdOps
(calls ad_demo_seed)
Or import your real data:
> Import ~/Downloads/google-ads-report.csv as a Google Ads CSV
(calls ad_csv_import with platform=google, csv_path=...)
ad_csv_importad_csv_importBoth exports work out-of-the-box with or without day segmentation. Without a Day column, you get one aggregated metric row per campaign. With Day segmentation, you get daily time-series data — which powers forecasting and anomaly detection properly.
| Tool | Description |
|---|---|
ad_demo_seed |
Seed a realistic cross-platform demo portfolio (8 campaigns, 30 days of metrics) to try AdOps before importing real data |
ad_csv_import |
Import a Google Ads or Meta Ads CSV export — every other tool operates on this data |
ads_export_recommendations |
Export budget_analyze recommendations as Google Ads Editor CSV, Meta Ads Manager CSV, JSON, or Markdown — one bulk-paste and your ad dashboard reflects the AI's plan |
platform_connect |
Register a data source connection manually (alternative to CSV import, for scripted workflows) |
campaign_list |
List and filter campaigns across all imported platforms |
campaign_create |
Add a campaign manually (useful for what-if planning) |
campaign_update |
Update campaign settings in local storage (budget, status, bidding, schedule) |
campaign_pause_resume |
Batch pause or resume up to 50 campaigns |
ads_report |
Generate unified cross-platform performance report |
budget_analyze |
Analyze budget allocation, produce scaling/pausing recommendations |
budget_reallocate |
Transfer budget between campaigns across platforms |
audience_insights |
Demographic / geographic / device breakdowns |
creative_specs |
Platform-specific image, video, and text requirements reference |
anomaly_detect |
Detect performance anomalies with configurable sensitivity |
ab_test_analyze |
Compare two campaigns with statistical significance testing |
competitor_benchmark |
Compare your metrics against industry averages (9 verticals) |
forecast_spend |
Forecast spend, conversions, ROAS for the next 7/14/30 days |
| Resource | Description |
|---|---|
ads://overview |
Cross-platform dashboard summary |
ads://campaigns |
All active campaigns with key metrics |
ads://budget |
Budget allocation across platforms |
ads://alerts |
Recent performance anomalies and warnings |
AdOps normalizes metrics across platforms:
| Metric | Formula | Notes |
|---|---|---|
| CTR | clicks / impressions × 100 | Click-through rate (%) |
| CPC | spend / clicks | Cost per click |
| CPM | spend / impressions × 1000 | Cost per 1000 impressions |
| ROAS | conversion_value / spend | Return on ad spend |
| CPA | spend / conversions | Cost per acquisition |
| Conversion Rate | conversions / clicks × 100 | % |
CSV column mapping:
| AdOps Field | Google Ads CSV | Meta Ads CSV |
|---|---|---|
spend |
Cost (USD equivalent auto-converted if micros) |
Amount spent (USD/EUR/...) |
impressions |
Impressions |
Impressions |
clicks |
Clicks |
Link clicks |
conversions |
Conversions |
Results (Purchases/Leads/etc.) |
conversion_value |
Conv. value |
Purchases conversion value |
reach |
— | Reach (Meta-only) |
quality_score |
Quality Score (if present) |
— (Google-only) |
European locale numbers (125,50 = 125.50) and semicolon-delimited CSVs are auto-detected.
AdOps is stateless from the network's point of view — no API keys, no OAuth. The only configuration is where it persists imported data:
| Variable | Description | Default |
|---|---|---|
ADOPS_DATA_DIR |
Directory for JSON persistence | ./data |
All other behavior is controlled via tool arguments.
| Tier | Price | Features |
|---|---|---|
| Free | $0 | 1 imported CSV per day, demo mode, all 17 tools read-only |
| Pro | $24/mo | Unlimited imports, full CRUD, all analytics tools |
| Agency | $59/mo | Multi-account, white-label reports, priority support |
Available via GitHub (self-hosted, free) or the MCPize marketplace (managed).
git clone https://github.com/enzoemir1/adops-mcp.git
cd adops-mcp
npm ci
npm run build
npm test # 91 tests across 10 suites
npm run inspect # Open MCP Inspector
91 tests covering:
.csv.gz and Excel .xlsx supportAdOps ships in Free mode — ad_demo_seed, ad_csv_import, platform_connect, campaign_list, campaign_create, campaign_update, campaign_pause_resume, ads_report, budget_reallocate, audience_insights, and creative_specs are open. The following tools require a Pro license:
ads_export_recommendations — bulk-edit CSV export for Google Ads Editor / Meta Ads Managerbudget_analyze — AI budget allocation analysis with action recommendationsanomaly_detect — statistical anomaly detectionab_test_analyze — A/B test z-test with significance + upliftforecast_spend — 7/14/30-day spend & ROAS forecastcompetitor_benchmark — industry benchmark comparisonBuy a Pro License (€24, lifetime, 3 machines): https://automatiabcn.lemonsqueezy.com/buy/1525c929-832c-4472-a88a-58edbfa4e87b
Or get the Indie MCP Stack Bundle (€69, all 4 servers).
export LEMONSQUEEZY_LICENSE_KEY=YOUR-KEY-HERE
Or in your MCP client config:
{
"mcpServers": {
"adops-mcp": {
"command": "npx",
"args": ["-y", "adops-mcp-server"],
"env": { "LEMONSQUEEZY_LICENSE_KEY": "YOUR-KEY-HERE" }
}
}
}
Validation is cached locally for 24 h — fully offline-capable after first run.
MIT License. See LICENSE for details.
Built by Automatia BCN.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"adops-mcp": {
"command": "npx",
"args": []
}
}
}