What you can do
The structure is account → campaign → ad group → ad, the same shape as every other platform here. Claude can read all four levels, create campaigns, ad groups and chat card ads, change the status of any of them, and pull ad insights over a date range.
- Read the ad account, its campaigns, ad groups and ads
- Create and update campaigns, and create ad groups
- Create a chat card ad, the creative format ChatGPT shows inside a conversation
- Pause or enable a campaign, an ad group or a single ad
- Pull ad insights and compare them against the other channels
- Include ChatGPT Ads in the cross-platform reports alongside Google and Meta
Connect the account
ChatGPT Ads authenticates with an API key rather than an OAuth round trip, because that is how OpenAI Ads Manager grants API access. The key is checked against the live API before it is stored, so a typo is rejected there rather than becoming a connection that looks healthy and fails on first use. It is stored encrypted.
- Get the API key from OpenAI Ads Manager
In OpenAI Ads Manager open Settings and generate or copy the API key for the ad account. The key is tied to that account, so an agency with several client accounts needs one key per account.
- Paste it into Connections
Open the MCP Ads dashboard, choose ChatGPT Ads, and paste the key. MCP Ads calls the API with it immediately and shows the account it resolves to.
- Ask for something real
A read-only first prompt that touches the account, its campaigns and insights.
Try this firstShow my ChatGPT Ads account, list its campaigns with status, and give me ad insights for the last 14 days ranked by spend with impressions and clicks.
Representative tools
Generated from the live server registry. These are real tool names Claude can call today; the full list is in the reference.
openai_ads_get_accountopenai_ads_list_campaignsopenai_ads_ad_insightsopenai_ads_create_campaignopenai_ads_create_chat_card_adopenai_ads_set_campaign_statusSafety on this platform
There is no delete tool at any level. Status changes are the only way to stop something, and they are reversible in the same conversation. The API key is the whole credential, so treat it like a password: regenerate it in OpenAI Ads Manager if it is ever exposed, and reconnect with the new one.
Troubleshooting
- The key is rejected on paste: check for whitespace. Copying from the Ads Manager settings page often adds a trailing space or line break, and the key must be exact.
- The key is accepted but resolves to the wrong account: keys are per ad account. Generate the key from the account you want to connect, not from another one you happen to be signed in to.
- Insights are empty for a recent range: the API reports completed days, and a campaign paused for the whole range legitimately returns nothing. Widen the range or check the campaign status.
- A create call fails on a required field: chat card ads and ad groups have required settings the API enforces. The error names the field; give Claude the missing value rather than retrying.