OpenAI Ads MCP Server
Connect Claude, ChatGPT or any AI tool to your OpenAI Ads account. Ask what spent yesterday, why an ad was rejected, or who changed a budget last week — and create, update, pause and archive campaigns without opening the Ads Manager.
What is the OpenAI Ads MCP?
The Pipeboard OpenAI Ads MCP (Model Context Protocol) Server connects AI assistants like Claude and ChatGPT to the OpenAI Ads Advertiser API — the platform behind ads in ChatGPT. Instead of clicking through the Ads Manager for each answer or each change, you say what you want and the assistant does it against your live account.
It is built for advertisers who are early on a new platform and want to work in it without learning another dashboard first.
What you can do with it:
Getting started
- 1
Create an API key in OpenAI Ads
Go to ads.openai.com and create a key. A key belongs to one ad account, so make one per account you want to reach.
- 2
Paste it into Pipeboard, once
At pipeboard.co/connections/openai-ads. Pipeboard resolves which ad account the key belongs to, stores it encrypted, and never shows it again.
- 3
Point your AI tool at the server
Add the MCP URL below to Claude, ChatGPT or any MCP-compatible client. Authentication is your Pipeboard account — the server only ever reaches the ad accounts you connected.
MCP server URL
https://mcp.pipeboard.co/openai-ads-mcpThe tools
Forty tools across six areas. Your assistant picks the right one from the question — the names are here so you know what is reachable.
Accounts and discovery
- list_openai_ads_accounts
- get_openai_ads_account_info
Every connected account in one answer, each labelled with its own credential status — a dead key never blanks the rest of the listing.
Campaigns, ad groups and ads
- get_openai_ads_campaigns
- get_openai_ads_ad_groups
- get_openai_ads_ads
- create / update / set status / archive, for each of the three
- search_openai_ads_geo_targets
- upload_openai_ads_image
- create_openai_ads_ad_preview
Reads carry serving_issues, which accumulate up the hierarchy: a paused ad group under a paused campaign reports both, plus anything wrong with the account itself.
Reporting
- get_openai_ads_insights
- get_openai_ads_conversion_insights
Account, campaign, ad group or ad level, over fixed dates or relative windows. Attribution windows are explicit: a 30-day click and 1-day view window unless you say otherwise.
Conversions
- get_openai_ads_conversion_sources
- get_openai_ads_conversion_event_settings
- get_openai_ads_conversion_events
- create_openai_ads_conversion_source
- create_openai_ads_conversion_event_setting
A source receives events; an event setting decides what counts as a conversion and over what window. A campaign references a setting at creation and cannot be pointed at one made later.
Product feeds
- get_openai_ads_product_feeds
- get_openai_ads_product_feed_uploads
- update_openai_ads_product_feed_products
Update availability, title and price on products already in a feed without re-uploading the catalog. Uploads tell you how many rows landed and how many were dropped.
Account settings and diagnostics
- get_openai_ads_spend_limits
- create / update / delete spending limit windows
- set / delete the daily spending limit
- update_openai_ads_account_brand
- get_openai_ads_audit_logs
- get_openai_ads_ad_landing_page_crawl
- submit_feedback
The audit log answers who changed what and when. The landing-page crawl answers why an ad was rejected when the reason is the destination rather than the creative.
Things worth knowing first
OpenAI Ads is new, and a few of its rules surprise people who come from other platforms. The tools say all of this when it matters — it is here so it does not surprise you at all.
An unapproved account serves nothing
OpenAI does not deliver ads for an account in any status other than approved. An account at in_review or rejected reports zero impressions and zero spend with nothing broken. A missing favicon is the most common cause, and it blocks the whole account rather than one ad.
Conversion metrics are a separate report
Conversions, click-through conversions and view-through conversions are not in the main insights report. They come from the conversion insights tool. A conversion number that looks missing rather than zero is usually this.
Attribution windows have defaults that change the numbers
Omitting them chooses a 30-day click window, a 1-day view window, and rows dated by the ad interaction rather than the conversion. The two windows default independently, so setting one leaves the other alone.
Some fields cannot be changed after creation
A campaign's bidding type is fixed once it exists, as is the conversion event setting it reports against and the product feed it uses. An ad group inherits its campaign's feed and can only narrow it.
Archiving has its own tool
Setting a status to archived is refused; archive_openai_ads_campaign and its siblings exist so that a typo in a status change cannot retire something. Creates are safe to retry: each carries an idempotency key and OpenAI returns the object already created rather than a duplicate.
How we use your data
Your API key is encrypted at rest
It is stored encrypted and no tool ever returns it. Disconnecting removes the key and every connection it routed.
We do not train on your advertising data
Requests are proxied to the OpenAI Ads API with your key, and the response goes back to your assistant. We do not sell your data.
Only the accounts you connected
A tool call names the ad account it is for, and the server refuses an account you have no connection for — without revealing whether that account exists.
Frequently asked questions
What is an OpenAI Ads MCP server?
It is a Model Context Protocol server that connects an AI assistant to your OpenAI Ads (ChatGPT Ads) account. Instead of clicking through the Ads Manager, you ask a question — "which campaigns spent anything last week?" — or give an instruction — "pause the campaign called Spring" — and the assistant does it against your live account. The Pipeboard OpenAI Ads MCP is available at https://mcp.pipeboard.co/openai-ads-mcp and works with Claude, ChatGPT and any MCP-compatible client.
Do I need an OpenAI Ads API key?
Yes. OpenAI Ads is a bring-your-own-key integration: you create a key in the OpenAI Ads Manager at https://ads.openai.com and paste it once at pipeboard.co/connections/openai-ads. Pipeboard stores it encrypted and never shows it again — not in a tool response, not in a log. One key belongs to one ad account, so connect a key per account you want to reach.
Which Pipeboard plans include it?
OpenAI Ads is in early access on the paid plans — Pro, Premium and Enterprise. A Free-plan account can still see the connector and remove a key it already saved, but connecting is refused with an upgrade message rather than a silent failure.
Can it change my campaigns, or only read them?
It can do both, and the write tools are explicit about it. Creating, updating, pausing, activating and archiving campaigns, ad groups and ads are all available, as are conversion sources, event settings, account spending limits and the product feed delta. Every create carries an idempotency key so a retry does not duplicate, and archive lives in its own tool rather than hiding behind a status change, so a typo cannot archive something.
Why do all my metrics come back as zero?
Almost always because the ad account is not approved. OpenAI does not serve ads for an account in any status other than approved, so an account sitting at in_review or rejected reports zero impressions and zero spend with nothing actually broken. Every read tool returns review_status for that reason, and names the cause — a missing favicon is the most common one, and it blocks the entire account rather than one ad.
Is reporting the same as in other ad platforms?
Mostly, with two differences worth knowing. The field names differ between request and response: you ask for dotted names like campaign.spend and get back flat keys like campaign_spend. And conversion metrics are not in the main insights report — they come from a separate conversion insights tool, which is the usual reason a conversion number looks missing rather than zero.
What is not available?
A few surfaces are enabled by OpenAI per account rather than for everyone: the account spending limits need a key belonging to an ad account admin, and landing-page crawler evidence is enabled case by case. Product feeds can be listed and their products updated, but a feed itself is created in the Ads Manager and its catalog arrives by SFTP — the public API does not create one. Sending conversion events also runs on a separate OpenAI host with its own credential, which you create yourself.
Is my data used to train anything?
No. Pipeboard does not train on your advertising data and does not sell it. Requests are proxied to the OpenAI Ads API with your key and the responses go back to your AI assistant. Your API key is encrypted at rest and is never returned by any tool.
