Search / io.github.trakkr-aisearch/openai-ads-mcp
OpenAI Ads MCP
R0· no sign-inOpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
v0.1.7 · active · repository · website · descriptor JSON · versions
Search / io.github.trakkr-aisearch/openai-ads-mcp
R0· no sign-inOpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
v0.1.7 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"openai-ads-mcp": {
"type": "http",
"url": "https://openai-ads-mcp.trakkr.ai/mcp",
"headers": {
"X-OpenAI-Ads-API-Key": "${X_OPENAI_ADS_API_KEY}"
}
}
}
}claude mcp add --transport http openai-ads-mcp https://openai-ads-mcp.trakkr.ai/mcp --header "X-OpenAI-Ads-API-Key: ${X_OPENAI_ADS_API_KEY}"[mcp_servers.openai-ads-mcp]
url = "https://openai-ads-mcp.trakkr.ai/mcp"
env_http_headers = { "X-OpenAI-Ads-API-Key" = "X_OPENAI_ADS_API_KEY" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"openai-ads-mcp": {
"type": "remote",
"url": "https://openai-ads-mcp.trakkr.ai/mcp",
"enabled": true,
"headers": {
"X-OpenAI-Ads-API-Key": "{env:X_OPENAI_ADS_API_KEY}"
}
}
}
}{
"mcpServers": {
"openai-ads-mcp": {
"type": "http",
"url": "https://openai-ads-mcp.trakkr.ai/mcp",
"headers": {
"X-OpenAI-Ads-API-Key": "${X_OPENAI_ADS_API_KEY}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=openai-ads-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb3BlbmFpLWFkcy1tY3AudHJha2tyLmFpL21jcCIsImhlYWRlcnMiOnsiWC1PcGVuQUktQWRzLUFQSS1LZXkiOiIke1hfT1BFTkFJX0FEU19BUElfS0VZfSJ9fQ%3D%3D"
}{
"servers": {
"openai-ads-mcp": {
"type": "http",
"url": "https://openai-ads-mcp.trakkr.ai/mcp",
"headers": {
"X-OpenAI-Ads-API-Key": "${X_OPENAI_ADS_API_KEY}"
}
}
}
}{
"mcpServers": {
"openai-ads-mcp": {
"httpUrl": "https://openai-ads-mcp.trakkr.ai/mcp",
"headers": {
"X-OpenAI-Ads-API-Key": "${X_OPENAI_ADS_API_KEY}"
}
}
}
}extensions:
"openai-ads-mcp":
enabled: true
name: "openai-ads-mcp"
type: streamable_http
uri: "https://openai-ads-mcp.trakkr.ai/mcp"
headers:
"X-OpenAI-Ads-API-Key": "${X_OPENAI_ADS_API_KEY}"
timeout: 300
Placeholders to fill from your own secret store: ${X_OPENAI_ADS_API_KEY}. The registry never accepts secret values.
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations13 of 13 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 1,508 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns1 advisory of lower severity or without a published fix: GHSA-5r4p-p66f-jhc7 in [email protected] (indirect, fixed in 4.13.11)deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 3 known advisories (GHSA-22jm-h49p-29qw, GHSA-6prh-2h8m-c8cw, GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.32.0 or laterdeps.resolvable[email protected], [email protected] resolved: 135 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-98% ~updated-91d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npm97 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-20
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-22jm-h49p-29qwMCP TypeScript SDK: Experimental tasks were not tied to the session that created them | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.32.0 |
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
| GHSA-6prh-2h8m-c8cwMCP TypeScript client SDK: HTTP client transports and OAuth requests followed cross-origin redirects and re-sent custom headers and request bodies | moderate | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.32.0 |
| GHSA-5r4p-p66f-jhc7Hono: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths | moderate | [email protected]indirect | fixed in 4.13.11 |
[email protected] PyPI36 dependencies, resolved · MCP SDK mcp 1.30.0 · advisories checked 2026-10-20
No known advisory affects this dependency graph.
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://openai-ads-mcp.trakkr.ai/mcp streamable-http | none | yes | 98% | 374 ms | 2025-11-25 | 2026-10-20 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
openai-ads-mcp | npm | 0.1.7 | npx | OPENAI_ADS_API_KEY |
openai-ads-mcp | pypi | 0.1.7 | uvx | OPENAI_ADS_API_KEY |
draft_context_hintsread-only | Draft deterministic context_hints for an ad group from product, audience, intent, and keywords. |
get_accountread-only | 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. |
get_adread-only | Get one ad by id, including review_status and creative metadata. |
get_ad_groupread-only | Get one ad group by id. |
get_audienceread-only | Get one custom audience by id. |
get_campaignread-only | Get one campaign by id. |
get_insightsread-only | Get performance insights for account, campaign, ad group, or ad scope. Supports fields, filters, sort, product/country/device segments, time ranges, and cursor pagination. |
list_ad_groupsread-only | List ad groups for a campaign. |
list_adsread-only | List ads in an ad group. |
list_audiencesread-only | List custom audiences for the authenticated ad account. |
list_campaignsread-only | List campaigns in the authenticated ad account with cursor pagination. |
manage_conversionsread-only | Manage conversion pixels, API keys, event settings, and conversion reporting. |
search_georead-only | Search geo targets for targeting.locations.include and return ids usable in campaign targeting. |
Schemas: list_tools.
{
"name": "io.github.trakkr-aisearch/openai-ads-mcp",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"tools": [
"get_account",
"list_campaigns",
"get_insights",
"build_campaign",
"draft_context_hints",
"upload_creative",
"send_conversions"
],
"keywords": [
"openai-ads",
"chatgpt-ads",
"openai ads mcp",
"chatgpt ads mcp",
"advertiser-api",
"mcp",
"marketing-automation"
],
"categories": [
"Marketing",
"Advertising",
"AI Visibility"
]
}
},
"title": "OpenAI Ads MCP",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://openai-ads-mcp.trakkr.ai/mcp",
"type": "streamable-http",
"headers": [
{
"name": "X-OpenAI-Ads-API-Key",
"isSecret": true,
"description": "OpenAI Ads API key from Ads Manager. Required only for Ads API tool calls; discovery, initialize, and tools/list work without it."
}
]
}
],
"version": "0.1.7",
"packages": [
{
"version": "0.1.7",
"transport": {
"type": "stdio"
},
"identifier": "openai-ads-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "OPENAI_ADS_API_KEY",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "OpenAI Ads API key from Ads Manager. Scoped to one ad account."
},
{
"name": "OPENAI_ADS_MCP_READONLY",
"format": "boolean",
"default": "1",
"description": "Set to 1 for first connection so write tools are hidden."
},
{
"name": "OPENAI_ADS_BUDGET_CEILING_USD",
"format": "number",
"default": "100",
"description": "Optional budget guard for spend-changing tools. Defaults to 100."
}
]
},
{
"version": "0.1.7",
"transport": {
"type": "stdio"
},
"identifier": "openai-ads-mcp",
"runtimeHint": "uvx",
"registryType": "pypi",
"environmentVariables": [
{
"name": "OPENAI_ADS_API_KEY",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "OpenAI Ads API key from Ads Manager. Scoped to one ad account."
},
{
"name": "OPENAI_ADS_MCP_READONLY",
"format": "boolean",
"default": "1",
"description": "Set to 1 for first connection so write tools are hidden."
},
{
"name": "OPENAI_ADS_BUDGET_CEILING_USD",
"format": "number",
"default": "100",
"description": "Optional budget guard for spend-changing tools. Defaults to 100."
}
]
}
],
"repository": {
"id": "1274750114",
"url": "https://github.com/trakkr-aisearch/openai-ads-mcp",
"source": "github"
},
"websiteUrl": "https://trakkr.ai/openai-ads-mcp",
"description": "OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions."
}