OpenAI Ads MCP vs Meta Ads MCP
A side-by-side look at the OpenAI Ads MCP and Meta Ads MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose OpenAI Ads MCP for marketing work as a local process; choose Meta Ads MCP for marketing as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose OpenAI Ads MCP when
- You need dedicated capabilities in the Marketing domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
OPENAI_ADS_API_KEY. - You want tools like
get_account, get_insights, create_campaign.
Choose Meta Ads MCP when
- You need dedicated capabilities in the Marketing domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
META_ADS_ACCESS_TOKEN, META_AD_ACCOUNT_ID. - You want tools like
list_campaigns, get_campaign, create_campaign.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Marketing | Marketing |
| Quality signal | 49/100 · Fair | 68/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | OPENAI_ADS_API_KEY | META_ADS_ACCESS_TOKENMETA_AD_ACCOUNT_ID |
| Verified owner | Community listing | Community listing |
| GitHub stars | 3 | 91 |
| Directory activity | 4 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 8 | 134 |
| Full listing | View OpenAI Ads MCP | View Meta Ads MCP |
Tools & capabilities
OpenAI Ads MCP tools 8
get_accountGets the ad account and confirms the API key works.get_insightsReads account, campaign, ad group, or ad insights with fields, filters, sort, segments, and cursor pagination.create_campaignCreates a paused campaign with a guarded lifetime budget, including conversion-optimized campaigns with one event setting.upload_creativeUploads an image URL or local image file and returns `file_id`.create_adCreates a paused ad. `chat_card` requires `target_url` and `file_id`.build_campaignCreates one paused campaign, one paused ad group, and paused ads in a guarded workflow.draft_context_hintsDeterministically drafts API-shaped `context_hints` with no hidden LLM call.send_conversionsSends conversion events to `https://bzr.openai.com/v1/events?pid=...` after local validation, with optional `validate_only`. Supports `obref` and mobile app lifecycle events.
Meta Ads MCP tools 134
list_campaignsList campaigns in the ad account. Supports filtering by status and objective. Returns paginated results.get_campaignGet details of a specific campaign by ID.create_campaignCreate a new ad campaign. Defaults to PAUSED status. Requires name and objective. Budget can be set at campaign or ad set level.update_campaignUpdate an existing campaign. Only provided fields will be modified.delete_campaignDelete a campaign. This action is irreversible.copy_campaignCopy an existing campaign. Creates a duplicate with optional name override. Copies structure including ad sets and ads.get_campaign_adsetsGet all ad sets belonging to a specific campaign.get_campaign_adsGet all ads belonging to a specific campaign.get_campaign_leadsGet leads generated by a specific campaign. Requires leads_retrieval permission.list_adsetsList ad sets in the ad account. Optionally filter by campaign or status.get_adsetGet details of a specific ad set by ID.create_adsetCreate a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status.- +122 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
OpenAI Ads MCP
{
"mcpServers": {
"openai-ads-mcp-2": {
"command": "uvx",
"args": [
"openai-ads-mcp"
],
"env": {
"OPENAI_ADS_API_KEY": "YOUR_OPENAI_ADS_API_KEY_HERE"
}
}
}
}
Meta Ads MCP
{
"mcpServers": {
"mikusnuz-meta-ads-mcp": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/meta-ads-mcp"
],
"env": {
"META_ADS_ACCESS_TOKEN": "YOUR_META_ADS_ACCESS_TOKEN_HERE",
"META_AD_ACCOUNT_ID": "YOUR_META_AD_ACCOUNT_ID_HERE"
}
}
}
}
Frequently asked questions
OpenAI Ads MCP is categorized under Marketing and uses a local stdio subprocess. Meta Ads MCP belongs to Marketing and uses a local stdio subprocess. Pick OpenAI Ads MCP for marketing work and Meta Ads MCP for marketing.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
OpenAI Ads MCP has no declared pricing — check the project's own site. Meta Ads MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add openai-ads-mcp-2 and mikusnuz-meta-ads-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, OpenAI Ads MCP has a quality signal of 49/100 (Fair) with 4 views, 0 installs and 3 GitHub stars. Meta Ads MCP has 68/100 (Great) with 2 views, 0 installs and 91 GitHub stars.