OpenAI Ads MCP tools reference
The Bluegrass server exposes 65 tools, with full read and write. Below is every one of them, grouped by what it touches, so you know exactly what you can ask Claude or ChatGPT to do.
65 tools · read and write · curated tools plus the full API passthrough
Two layers: curated tools and the full passthrough
The server has two kinds of tools. The first is a curated set named bluegrass_*, built for the jobs people do most: pulling reports, managing campaigns, scheduling bids, and building audiences. These are the ones an assistant reaches for first.
The second is a complete passthrough of the OpenAI Ads API, named openai_*. Anything the API can do, from creating ad groups to posting conversions, is available as a tool. You never need to know the difference in conversation; you ask for an outcome and the assistant picks the tool. The full list below is just so you can see everything that's possible.
Accounts & connection
See your connected ad accounts
bluegrass_list_accountsList every OpenAI Ads account linked to your Bluegrass workspace, with its status and whether an API key is connected, so you know what you can act on.
Look up an account's details
bluegrass_get_accountPull the name, currency, timezone and connection state for any one of your connected ChatGPT Ads accounts.
Check an account is connected
bluegrass_account_connection_statusTest the stored API key for an account and confirm Bluegrass can reach OpenAI Ads before you run anything against it.
Reporting & analytics
Find your saved reports
bluegrass_list_reportsBrowse the analytics reports you've already built in Bluegrass, ready to run by name from Claude or ChatGPT.
Open a saved report
bluegrass_get_reportRetrieve one saved report and its full definition: the metrics, filters and breakdown it runs.
Run a performance report
bluegrass_run_reportRun a saved report and get the rows back, spend, clicks, CTR, CPC and conversions, sliced the way you asked for any date range or campaign.
Campaigns
List your campaigns
bluegrass_list_campaignsSee every campaign in an account from Bluegrass's synced view, with status, budget and structure at a glance.
Inspect a campaign
bluegrass_get_campaignOpen one campaign to see its ad groups, attached audiences and dayparting schedule in one place.
Sync the latest from OpenAI Ads
bluegrass_sync_campaignsPull the freshest campaigns and ad groups from your ChatGPT Ads account so reports and dayparting run on current data.
Target a campaign at an audience
bluegrass_set_campaign_audienceAttach a custom audience to a campaign as an include or exclude, so your bids reach the right people and skip the rest.
Put a campaign on a schedule
bluegrass_set_campaign_daypartingAssign a dayparting schedule to a campaign, or clear it, so its bids follow the hours that actually convert.
Dayparting & bids
List your dayparting schedules
bluegrass_dayparting_list_schedulesSee the day-and-hour bid schedules set up on an account, ready to apply to campaigns.
View a schedule's grid
bluegrass_dayparting_get_scheduleOpen one dayparting schedule and its full 7-day by 24-hour grid of bid multipliers.
See what's serving right now
bluegrass_dayparting_planGet the 'now serving' board: what every scheduled campaign is doing this hour, and exactly what enforcement would change.
Apply your dayparting plan
bluegrass_dayparting_applyApply the current dayparting plan, preview it as a dry run first or write the live bid adjustments to OpenAI Ads.
Start a schedule running
bluegrass_dayparting_startBegin enforcing a schedule: Bluegrass snapshots your baseline bids and starts adjusting them by the hour.
Stop a schedule
bluegrass_dayparting_stopStop enforcing a schedule and revert every ad group to its baseline bid, with the grid unlocked for editing.
Set an ad group's baseline bid
bluegrass_dayparting_set_baselineSet the baseline bid an ad group returns to, the reference point your dayparting multipliers move around.
Bid more for your best audiences
bluegrass_set_bid_multiplierSet a bid multiplier on an ad group so you pay more for the audiences that convert and pull back on the rest.
Audiences & Customer Match
Browse your custom audiences
bluegrass_list_audiencesList the custom audiences Bluegrass manages for an account, with their size and status.
Inspect an audience
bluegrass_get_audienceOpen one custom audience and its current version: how it was built and how many people it holds.
See who's in an audience
bluegrass_list_audience_membersPage through the members of an audience's current version to check what's actually been matched.
Build a Customer Match audience
bluegrass_create_audienceCreate a custom audience from a list of emails or phone numbers, ready to target or suppress on OpenAI Ads.
Archive an audience
bluegrass_archive_audienceRetire a custom audience you no longer need, keeping your list tidy without losing the history.
Everything the OpenAI Ads API can do (openai_*)
Below is the complete openai_* passthrough. Each OpenAI Ads API operation is exposed as its own tool, so anything the API supports, creating ad groups, writing ads, posting conversions, is available over the same connection, with the same OAuth-scoped access.
As OpenAI adds to the Ads API, these tools track it, so the surface keeps pace without you doing anything.
Campaigns, ad groups & ads
List campaigns from the API
openai_list_campaignsPull every campaign straight from the OpenAI Ads API, exactly as the platform returns it.
Launch a new campaign
openai_create_campaignCreate a brand-new ChatGPT Ads campaign, its name, objective, budget and bidding, from a single chat instruction.
Fetch a campaign
openai_get_campaignRead one campaign's full configuration directly from OpenAI Ads.
Edit a campaign
openai_update_campaignChange a campaign's budget, targeting, status and other settings through the live API.
Turn a campaign on
openai_activate_campaignSet a campaign live so it starts serving ads in ChatGPT.
Pause a campaign
openai_pause_campaignPause a campaign instantly, for example to stop an underperformer the moment your assistant spots it.
Archive a campaign
openai_archive_campaignArchive a campaign you're done with to keep the account focused on what's active.
List ad groups
openai_list_ad_groupsSee all the ad groups inside a campaign, straight from the API.
Create an ad group
openai_create_ad_groupAdd a new ad group to a campaign, with its own targeting and bid.
Fetch an ad group
openai_get_ad_groupRead one ad group's configuration from OpenAI Ads.
Edit an ad group
openai_update_ad_groupUpdate an ad group's bid, targeting or settings live.
Turn an ad group on
openai_activate_ad_groupActivate an ad group so its ads start serving.
Pause an ad group
openai_pause_ad_groupPause a single ad group without touching the rest of the campaign.
Archive an ad group
openai_archive_ad_groupRetire an ad group you no longer run.
List ads
openai_list_adsSee every ad in an ad group, as returned by the API.
Write and launch a new ad
openai_create_adCreate a new ad, headline, copy and creative, so your assistant can draft fresh variations and put them live to test.
Fetch an ad
openai_get_adRead one ad's content and settings from OpenAI Ads.
Refresh ad copy
openai_update_adEdit an existing ad's copy or creative, handy for seasonal refreshes and quick tweaks.
Turn an ad on
openai_activate_adSet an ad live so it enters rotation.
Pause an ad
openai_pause_adPause a tired or low-performing ad while you test something new.
Archive an ad
openai_archive_adRetire an ad you're finished with.
Reporting & insights
Account-level performance
openai_get_ad_account_insightsPull account-wide metrics from OpenAI Ads, broken down by hour, day or month.
Campaign performance
openai_get_campaign_insightsGet spend, clicks, CTR and more for a campaign, aggregated however you need.
Ad group performance
openai_get_ad_group_insightsDrill into a single ad group's metrics over any time range.
Ad-level performance
openai_get_ad_insightsSee how an individual ad is performing, down to the hour, perfect for spotting fatigue.
Audiences
List custom audiences from the API
openai_list_custom_audiencesRead every custom audience on the account directly from OpenAI Ads.
Create a custom audience
openai_create_custom_audienceCreate a custom audience through the native API for full control over its definition.
Fetch a custom audience
openai_get_custom_audienceRead one custom audience's details from the platform.
Upload a Customer Match list
openai_create_custom_audience_uploadCreate a custom audience from an uploaded file and kick off matching, the Customer Match upload path.
Archive a custom audience
openai_archive_custom_audienceRetire a custom audience on the account.
Conversions & measurement
Add a conversion pixel
openai_create_conversion_sourceCreate a conversion pixel so OpenAI Ads can measure what happens after a click.
Create a Conversions API key
openai_create_conversion_api_keyGenerate a Conversions API key to send server-side conversions back to OpenAI Ads.
Define a conversion event
openai_create_conversion_event_settingSet up a conversion event so the right actions count as conversions.
Review conversion events
openai_list_conversion_event_settingsList the conversion events configured on the account.
Read attributed conversions
openai_post_conversion_insightsPull attributed conversion totals to see which campaigns are actually driving results.
Ad account & utilities
Fetch account metadata
openai_get_ad_accountRead the ad account's core metadata: name, currency, timezone and status.
Update brand details
openai_update_ad_accountUpdate the ad account's brand metadata used across your ads.
Activate the account
openai_activate_ad_accountBring the whole ad account live.
Pause the account
openai_pause_ad_accountPause the entire ad account so every campaign stops serving at once.
Find geo targeting codes
openai_get_geo_lookupSearch DMA and region codes to target the right locations in OpenAI Ads.
Upload creative
openai_upload_imageUpload an image and get a file id to use as ad creative.
Questions, answered
How many tools are there?
Sixty-five. That is a curated set named bluegrass_* for the common jobs, plus a full passthrough of the OpenAI Ads API named openai_*.
Are all of them write tools?
No. Many are read-only, like reports and insights. The write tools, such as creating a campaign or setting a bid, run through the access you approved at sign-in.
Do I need to remember the tool names?
No. You ask in plain language and the assistant picks the tool. The names here are a reference so you know what is possible.
Will the list grow?
Yes. The curated tools expand as we add workflows, and the openai_* passthrough tracks the OpenAI Ads API as it changes.
Related guides
Reporting
Ask for spend, clicks, CTR, CPC and conversions in chat, sliced any way you want.
Read the guide →Dayparting
Plan and apply an OpenAI Ads dayparting schedule from chat, by hour and day.
Read the guide →Campaigns
List, launch, pause and edit campaigns, ad groups and ads from chat.
Read the guide →Put these tools to work
Connect the Bluegrass MCP server, sign in, and manage campaigns, bids, and audiences in chat.