OpenAI Ads MCP · reference

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

The shape of it

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.

Curated · bluegrass_*

Accounts & connection

See your connected ad accounts

bluegrass_list_accounts

List 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_account

Pull the name, currency, timezone and connection state for any one of your connected ChatGPT Ads accounts.

Check an account is connected

bluegrass_account_connection_status

Test 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_reports

Browse the analytics reports you've already built in Bluegrass, ready to run by name from Claude or ChatGPT.

Open a saved report

bluegrass_get_report

Retrieve one saved report and its full definition: the metrics, filters and breakdown it runs.

Run a performance report

bluegrass_run_report

Run 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_campaigns

See every campaign in an account from Bluegrass's synced view, with status, budget and structure at a glance.

Inspect a campaign

bluegrass_get_campaign

Open one campaign to see its ad groups, attached audiences and dayparting schedule in one place.

Sync the latest from OpenAI Ads

bluegrass_sync_campaigns

Pull 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_audience

Attach 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_dayparting

Assign 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_schedules

See the day-and-hour bid schedules set up on an account, ready to apply to campaigns.

View a schedule's grid

bluegrass_dayparting_get_schedule

Open one dayparting schedule and its full 7-day by 24-hour grid of bid multipliers.

See what's serving right now

bluegrass_dayparting_plan

Get the 'now serving' board: what every scheduled campaign is doing this hour, and exactly what enforcement would change.

Apply your dayparting plan

bluegrass_dayparting_apply

Apply 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_start

Begin enforcing a schedule: Bluegrass snapshots your baseline bids and starts adjusting them by the hour.

Stop a schedule

bluegrass_dayparting_stop

Stop 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_baseline

Set 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_multiplier

Set 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_audiences

List the custom audiences Bluegrass manages for an account, with their size and status.

Inspect an audience

bluegrass_get_audience

Open 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_members

Page through the members of an audience's current version to check what's actually been matched.

Build a Customer Match audience

bluegrass_create_audience

Create a custom audience from a list of emails or phone numbers, ready to target or suppress on OpenAI Ads.

Archive an audience

bluegrass_archive_audience

Retire a custom audience you no longer need, keeping your list tidy without losing the history.

The full API, as tools

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.

Passthrough · openai_*

Campaigns, ad groups & ads

List campaigns from the API

openai_list_campaigns

Pull every campaign straight from the OpenAI Ads API, exactly as the platform returns it.

Launch a new campaign

openai_create_campaign

Create a brand-new ChatGPT Ads campaign, its name, objective, budget and bidding, from a single chat instruction.

Fetch a campaign

openai_get_campaign

Read one campaign's full configuration directly from OpenAI Ads.

Edit a campaign

openai_update_campaign

Change a campaign's budget, targeting, status and other settings through the live API.

Turn a campaign on

openai_activate_campaign

Set a campaign live so it starts serving ads in ChatGPT.

Pause a campaign

openai_pause_campaign

Pause a campaign instantly, for example to stop an underperformer the moment your assistant spots it.

Archive a campaign

openai_archive_campaign

Archive a campaign you're done with to keep the account focused on what's active.

List ad groups

openai_list_ad_groups

See all the ad groups inside a campaign, straight from the API.

Create an ad group

openai_create_ad_group

Add a new ad group to a campaign, with its own targeting and bid.

Fetch an ad group

openai_get_ad_group

Read one ad group's configuration from OpenAI Ads.

Edit an ad group

openai_update_ad_group

Update an ad group's bid, targeting or settings live.

Turn an ad group on

openai_activate_ad_group

Activate an ad group so its ads start serving.

Pause an ad group

openai_pause_ad_group

Pause a single ad group without touching the rest of the campaign.

Archive an ad group

openai_archive_ad_group

Retire an ad group you no longer run.

List ads

openai_list_ads

See every ad in an ad group, as returned by the API.

Write and launch a new ad

openai_create_ad

Create 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_ad

Read one ad's content and settings from OpenAI Ads.

Refresh ad copy

openai_update_ad

Edit an existing ad's copy or creative, handy for seasonal refreshes and quick tweaks.

Turn an ad on

openai_activate_ad

Set an ad live so it enters rotation.

Pause an ad

openai_pause_ad

Pause a tired or low-performing ad while you test something new.

Archive an ad

openai_archive_ad

Retire an ad you're finished with.

Reporting & insights

Account-level performance

openai_get_ad_account_insights

Pull account-wide metrics from OpenAI Ads, broken down by hour, day or month.

Campaign performance

openai_get_campaign_insights

Get spend, clicks, CTR and more for a campaign, aggregated however you need.

Ad group performance

openai_get_ad_group_insights

Drill into a single ad group's metrics over any time range.

Ad-level performance

openai_get_ad_insights

See how an individual ad is performing, down to the hour, perfect for spotting fatigue.

Audiences

List custom audiences from the API

openai_list_custom_audiences

Read every custom audience on the account directly from OpenAI Ads.

Create a custom audience

openai_create_custom_audience

Create a custom audience through the native API for full control over its definition.

Fetch a custom audience

openai_get_custom_audience

Read one custom audience's details from the platform.

Upload a Customer Match list

openai_create_custom_audience_upload

Create a custom audience from an uploaded file and kick off matching, the Customer Match upload path.

Archive a custom audience

openai_archive_custom_audience

Retire a custom audience on the account.

Conversions & measurement

Add a conversion pixel

openai_create_conversion_source

Create a conversion pixel so OpenAI Ads can measure what happens after a click.

Create a Conversions API key

openai_create_conversion_api_key

Generate a Conversions API key to send server-side conversions back to OpenAI Ads.

Define a conversion event

openai_create_conversion_event_setting

Set up a conversion event so the right actions count as conversions.

Review conversion events

openai_list_conversion_event_settings

List the conversion events configured on the account.

Read attributed conversions

openai_post_conversion_insights

Pull attributed conversion totals to see which campaigns are actually driving results.

Ad account & utilities

Fetch account metadata

openai_get_ad_account

Read the ad account's core metadata: name, currency, timezone and status.

Update brand details

openai_update_ad_account

Update the ad account's brand metadata used across your ads.

Activate the account

openai_activate_ad_account

Bring the whole ad account live.

Pause the account

openai_pause_ad_account

Pause the entire ad account so every campaign stops serving at once.

Find geo targeting codes

openai_get_geo_lookup

Search DMA and region codes to target the right locations in OpenAI Ads.

Upload creative

openai_upload_image

Upload an image and get a file id to use as ad creative.

FAQ

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.

Put these tools to work

Connect the Bluegrass MCP server, sign in, and manage campaigns, bids, and audiences in chat.