Skip to content
Get MCP AdsGet MCP Ads, home

Connect ChatGPT Ads to an AI assistant

Connect ChatGPT Ads to Claude, ChatGPT, Codex or any MCP client, what to ask it once it is connected, and the 55 tools behind the answers.

For you

What the answer looks like, and what to type to get it.

Campaigns, ad groups, ads and image creatives, native performance, conversion tracking, product feeds, existing audiences and delivery diagnostics. Saved business reviews and reporting exports.

Connect itLink to this section

  1. Open the dashboard and choose this platform.
  2. Open ChatGPT Ads in Sources. Copy the account's Ads Management API key from Ads Manager Settings and enter it in the connection form. The key is encrypted and is never returned to your assistant. This connection uses an advertising API key, not an OpenAI model API key.
  3. Tick the accounts to expose. Nothing is readable until you do.
  4. Paste the endpoint into your assistant, or use the shared one for every platform at once.

Read campaigns, creatives and resultsLink to this section

Read the selected account, then follow campaigns, ad groups and ads to the level you need. Ask for performance by account, campaign, ad group or ad with explicit dates. Reports preserve the account's currency and timezone, expose pagination and completeness, and retain the requested attribution convention. Missing rows are not converted into zero spend or zero conversions.

Open the creative gallery for native ad names, image assets and destinations. For delivery questions, request serving_issues on the campaign, ad group or ad. Native review status and delivery issues are separate from performance. The connector also reads conversion settings, pixels, events and insights, existing custom audiences, product feeds and audit logs.

Prepare and change adsLink to this section

Read openai_ads_get_write_context and openai_ads_get_write_schema before proposing a campaign. Supported objectives are impressions, clicks and conversions, with compatible fixed or automatic bidding. Create campaigns, groups and ads in pause, inspect the preview, and confirm the exact change. Activation is a separate action with its own preview and confirmation. Every write needs a paid plan and the selected account's permissions.

Upload PNG, JPEG or WebP images of at least 640 × 640 pixels, up to 5 MiB for binary uploads, or import a public HTTPS image URL. Chat-card image ads are supported. Product ads need an existing ingested product feed owned by the account. A business-agent campaign needs an existing native business_agent_id. Video and carousel ad creation are not supported.

Bulk changes use a separate native schema. Start with validation-only, review the proposal, then confirm the intended operation. A returned job ID only means the job was accepted: read its final status, every operation result and the affected entities. Preserve receipts after timeouts; never submit an uncertain change again.

Compare, save and exportLink to this section

Add the selected ChatGPT Ads account to a business client for saved reviews alongside other sources. Export its reports through the Data API or Google Sheets with the requested dates, currency, timezone and attribution. Keep source-specific conversion definitions separate when comparing platforms.

textChatGPT Ads on its own endpoint
https://mcp.getmcpads.com/openai-ads/mcp

What to askLink to this section

text
Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution.
Why is this ChatGPT ad not serving, and what creative does it use?
Prepare a campaign, ad group and image ad, keeping all three paused.
Upload this PNG, JPEG or WebP image and use it in my paused ad.
Read my conversion goals, product feeds and existing custom audiences.
Validate these bulk campaign changes, then show every operation's outcome.
Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets.

What answers each oneLink to this section

QuestionTools
Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution.openai_ads_get_account, openai_ads_get_campaigns, openai_ads_get_insights
Why is this ChatGPT ad not serving, and what creative does it use?openai_ads_get_ad, openai_ads_get_ad_group, openai_ads_get_campaign, openai_ads_list_ad_creatives
Prepare a campaign, ad group and image ad, keeping all three paused.openai_ads_get_write_context, openai_ads_get_write_schema, openai_ads_create_campaign, openai_ads_create_ad_group, openai_ads_create_ad
Upload this PNG, JPEG or WebP image and use it in my paused ad.openai_ads_upload_image, openai_ads_update_ad
Read my conversion goals, product feeds and existing custom audiences.openai_ads_get_conversion_settings, openai_ads_get_feeds, openai_ads_get_custom_audiences
Validate these bulk campaign changes, then show every operation's outcome.openai_ads_submit_bulk_job, openai_ads_get_bulk_job, openai_ads_get_bulk_job_operations
Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets.save_business_client, create_business_review, get_sheet_export_options, prepare_sheet_export, start_sheet_export

What it can changeLink to this section

Create paused campaigns, ad groups and image ads; edit budgets, bids, targeting, schedules and creative content. Upload images, pause or archive entities, and prepare bulk changes. Activation is a separate confirmed action. Every write previews before confirmation and requires a paid plan.

For your agent

The tool sequence, the parameters that matter, and what will be refused.

Both readings as Markdown: /guides/sources/chatgpt-ads.md

Platform id
openai_ads
Tool prefix
openai_ads_
Account parameter
adAccountId
Dedicated endpoint
https://mcp.getmcpads.com/openai-ads/mcp
Tools
55, 25 of which write
Announced by default
openai_ads_list_ad_creatives
Metrics
11, see /docs/sources/chatgpt-ads/metrics
Dimensions
9, see /docs/sources/chatgpt-ads/dimensions

Scope requested from the platformLink to this section

ChatGPT Ads uses an account-scoped Ads Management API key, followed by explicit account selection. There is no OAuth scope request. Native permissions and feature eligibility apply; writes also require a paid plan, a saved preview and explicit confirmation.

Reaching a tool that is not announcedLink to this section

text
search_tools({ task: "..." })      find it
describe_tool({ name: "..." })     read its schema
run_tool({ name, args })           execute, with the same checks

What will refuse youLink to this section

  • An account not ticked by the owner. Call list_accounts and use a adAccountId from it.
  • A write on a plan without writes. The tool is absent from the list and refused if called anyway.
  • A write without confirm: true returns a preview and applies nothing. That is not an error.
  • A call to this platform on another platform's dedicated endpoint. The refusal names the URL that serves it.

Questions this source answersLink to this section

QuestionTools, in order
Show ChatGPT Ads performance by campaign for the last seven days, with currency and attribution.openai_ads_get_account then openai_ads_get_campaigns then openai_ads_get_insights
Why is this ChatGPT ad not serving, and what creative does it use?openai_ads_get_ad then openai_ads_get_ad_group then openai_ads_get_campaign then openai_ads_list_ad_creatives
Prepare a campaign, ad group and image ad, keeping all three paused.openai_ads_get_write_context then openai_ads_get_write_schema then openai_ads_create_campaign then openai_ads_create_ad_group then openai_ads_create_ad
Upload this PNG, JPEG or WebP image and use it in my paused ad.openai_ads_upload_image then openai_ads_update_ad
Read my conversion goals, product feeds and existing custom audiences.openai_ads_get_conversion_settings then openai_ads_get_feeds then openai_ads_get_custom_audiences
Validate these bulk campaign changes, then show every operation's outcome.openai_ads_submit_bulk_job then openai_ads_get_bulk_job then openai_ads_get_bulk_job_operations
Include ChatGPT Ads in my client's saved business review and export the daily report to Google Sheets.save_business_client then create_business_review then get_sheet_export_options then prepare_sheet_export then start_sheet_export

Native units and safe writesLink to this section

Read schemas before constructing nested requests. Reporting cost is in major account currency units; budgets and bids in native write bodies are integer micros. CTR and conversion-rate fields are fractions. Keep the account timezone, date window and attribution with every result; do not infer zero from empty reports.

For writes, keep the preview's confirmation token and a stable requestId. Read the durable mutation receipt and native entities after an uncertain response; do not retry a write automatically. Campaign, group and ad creation always stays paused. Bulk schemas differ from single-resource schemas, and partial bulk failure does not roll back successful operations.