OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
OpenAI Ads API key from Ads Manager. Required only for Ads API tool calls; discovery, initialize, and tools/list work without it.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Draft deterministic context_hints for an ad group from product, audience, intent, and keywords.
Draft deterministic context_hints for an ad group from product, audience, intent, and keywords.
| Argument | Type | Description |
|---|---|---|
| intent | string | |
| product* | string | |
| audience | string | |
| keywords | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"product"
],
"properties": {
"intent": {
"type": "string"
},
"product": {
"type": "string"
},
"audience": {
"type": "string"
},
"keywords": {}
},
"additionalProperties": false
}Get the authenticated OpenAI Ads account. Use this first to verify that OPENAI_ADS_API_KEY works and to read account id, name, timezone, currency, and settings.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}Get one ad by id, including review_status and creative metadata.
| Argument | Type | Description |
|---|---|---|
| ad_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ad_id"
],
"properties": {
"ad_id": {
"type": "string"
}
},
"additionalProperties": false
}Get one ad group by id.
| Argument | Type | Description |
|---|---|---|
| ad_group_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ad_group_id"
],
"properties": {
"ad_group_id": {
"type": "string"
}
},
"additionalProperties": false
}Get one custom audience by id.
| Argument | Type | Description |
|---|---|---|
| audience_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"audience_id"
],
"properties": {
"audience_id": {
"type": "string"
}
},
"additionalProperties": false
}Get one campaign by id.
| Argument | Type | Description |
|---|---|---|
| campaign_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string"
}
},
"additionalProperties": false
}Get performance insights for account, campaign, ad group, or ad scope. Supports fields, filters, sort, product/country/device segments, time ranges, and cursor pagination.
| Argument | Type | Description |
|---|---|---|
| sort | any | |
| after | string | |
| limit | integer | |
| scope* | string | |
| before | string | |
| fields | any | |
| filters | any | |
| includes | any | |
| segments | any | |
| entity_id | string | |
| time_range | any | |
List ad groups for a campaign.
| Argument | Type | Description |
|---|---|---|
| after | string | |
| limit | integer | |
| order | string | |
| before | string | |
| campaign_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"campaign_id"
],
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc"
},
"before": {
"type": "string"
},
"campaign_id": {
"type": "string"
}
},
"additionalProperties": false
}List ads in an ad group.
| Argument | Type | Description |
|---|---|---|
| after | string | |
| limit | integer | |
| order | string | |
| before | string | |
| ad_group_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ad_group_id"
],
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc"
},
"before": {
"type": "string"
},
"ad_group_id": {
"type": "string"
}
},
"additionalProperties": false
}List custom audiences for the authenticated ad account.
| Argument | Type | Description |
|---|---|---|
| after | string | |
| limit | integer | |
| order | string | |
| before | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc"
},
"before": {
"type": "string"
}
},
"additionalProperties": false
}List campaigns in the authenticated ad account with cursor pagination.
| Argument | Type | Description |
|---|---|---|
| after | string | |
| limit | integer | |
| order | string | |
| before | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc"
},
"before": {
"type": "string"
}
},
"additionalProperties": false
}Manage conversion pixels, API keys, event settings, and conversion reporting.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| after | string | |
| limit | integer | |
| order | string | |
| action* | string | |
| before | string | |
| entity_ids | any | |
| event_type | string | |
| source_ids | any | |
| client_type | string | |
| time_ranges | any | |
Search geo targets for targeting.locations.include and return ids usable in campaign targeting.
| Argument | Type | Description |
|---|---|---|
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string"
}
},
"additionalProperties": false
}| response_format |
| string |
| time_granularity | string |
| aggregation_level | string |
| override_segment_group_order | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scope"
],
"properties": {
"sort": {},
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"scope": {
"enum": [
"account",
"campaign",
"ad_group",
"ad"
],
"type": "string"
},
"before": {
"type": "string"
},
"fields": {},
"filters": {},
"includes": {},
"segments": {},
"entity_id": {
"type": "string"
},
"time_range": {},
"response_format": {
"enum": [
"concise",
"detailed"
],
"type": "string",
"default": "concise"
},
"time_granularity": {
"enum": [
"hourly",
"daily",
"monthly",
"none"
],
"type": "string",
"default": "daily"
},
"aggregation_level": {
"enum": [
"ad_account",
"campaign",
"ad_group",
"ad"
],
"type": "string"
},
"override_segment_group_order": {}
},
"additionalProperties": false
}| aggregation_level |
| string |
| custom_event_name | string |
| attribution_window_days | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"action"
],
"properties": {
"name": {
"type": "string"
},
"after": {
"type": "string"
},
"limit": {
"type": "integer",
"default": 20
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc"
},
"action": {
"enum": [
"create_pixel",
"create_api_key",
"get_event_settings",
"set_event_settings",
"get_insights"
],
"type": "string"
},
"before": {
"type": "string"
},
"entity_ids": {},
"event_type": {
"type": "string"
},
"source_ids": {},
"client_type": {
"enum": [
"web"
],
"type": "string",
"default": "web"
},
"time_ranges": {},
"aggregation_level": {
"type": "string"
},
"custom_event_name": {
"type": "string"
},
"attribution_window_days": {
"type": "integer"
}
},
"additionalProperties": false
}