muze-mcp
# muze-mcp
Muze CMO MCP server — Meta and Google Ads intelligence for Claude and other AI assistants.
17 tools: analyze ad performance, generate creative concepts, track competitors, and manage ads — all from chat.
## Installation
```bash
pip install muze-mcp
```
Get your API key at [app.muzecmo.com/settings/api-keys](https://app.muzecmo.com/settings/api-keys).
## Claude Desktop setup
Add to `~/.claude.json`:
```json
{
"mcpServers": {
"muze-cmo": {
"command": "muze-mcp",
"env": {
"MUZE_API_KEY": "mz_live_YOUR_KEY_HERE"
}
}
}
}
```
Restart Claude Desktop — all 17 tools appear immediately.
## Claude.ai Custom Connector
1. Open Claude.ai → Settings → Connectors → Add custom connector
2. Enter `https://backend.muzecmo.com/mcp`
3. Paste your `mz_live_` key when prompted
4. Done
## Available tools
| Tool | What it does |
|------|-------------|
| `get_my_accounts` | Resolve Meta account ID and Google customer ID (call first) |
| `get_meta_performance` | Meta Ads spend, CTR, ROAS, conversions |
| `get_google_performance` | Google Ads spend, CTR, ROAS, conversions |
| `list_campaigns` | List campaigns with IDs and budget |
| `analyze_campaign_ads` | AI analysis of all ads in a campaign |
| `analyze_single_ad` | AI analysis of one ad |
| `get_account_analysis` | Fetch stored account-level AI analysis |
| `analyze_account_ads` | Re-run full account AI analysis (confirm required) |
| `generate_ad_from_url` | Generate ad concept from a product URL |
| `list_products` | List products for creative generation |
| `generate_ad_concepts` | Generate concepts for an existing product |
| `list_competitors` | List tracked competitor brands |
| `get_competitor_ads` | View competitor ad library |
| `scrape_competitor_ads` | Start async competitor scrape |
| `get_scrape_status` | Poll scrape job status |
| `pause_ad` | Pause a live Meta ad (confirm required) |
| `resume_ad` | Resume a paused Meta ad (confirm required) |
## Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| `MUZE_API_KEY` | Yes | Your `mz_live_` API key |
| `MUZE_BASE_URL` | No | Override API URL (default: `https://backend.muzecmo.com/api/v1`) |
| `MUZE_DEFAULT_ACCOUNT_ID` | No | Skip `get_my_accounts` if you always use one Meta account |
| `MUZE_DEFAULT_CUSTOMER_ID` | No | Skip `get_my_accounts` if you always use one Google account |
TDQS
Scored across 17 tools
Most tools have distinct purposes, but there is some overlap between the three 'analyze_' tools (account, campaign, single ad) which could cause confusion about when to use each. The 'get_account_analysis' tool is clearly differentiated as a read-only alternative to 'analyze_account_ads'. Other tools like 'pause_ad' and 'resume_ad' are clearly distinct actions.
All tools follow a consistent verb_noun naming pattern with snake_case throughout. The pattern is clear: action verbs like 'analyze', 'generate', 'get', 'list', 'pause', 'resume', 'scrape' followed by specific nouns describing the target resource. There are no deviations in naming conventions.
With 17 tools, the count is slightly high but reasonable for the advertising analytics domain. The server covers multiple areas (analysis, generation, performance tracking, competitor research, account management), and most tools appear to serve specific purposes. A few tools could potentially be consolidated, but overall the scope justifies the tool count.
The tool surface covers the advertising analytics domain well with analysis tools, performance tracking, competitor research, ad management, and creative generation. Minor gaps exist: there's no tool to update ads or campaigns, and no direct way to create new campaigns or products. However, the existing tools support core workflows effectively, and agents can work with the provided capabilities.