AgentStack
MCP verified MIT Self-run

Openai Ads Mcp

mcp-roast-labs-openai-ads-mcp · by Roast-Labs

OpenAI Ads MCP Server (ChatGPT Ads)

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add mcp-roast-labs-openai-ads-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Openai Ads Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

OpenAI Ads MCP Server (ChatGPT Ads)

An MCP (Model Context Protocol) server that exposes the ChatGPT Ads API (https://api.ads.openai.com/v1) as tools an LLM host can call. Runs as a plain Python process — no cloud platform required.

What it exposes

Tools map to the Advertiser API documented under Ads → API Reference:

| Area | Tools | | ----------- | ----- | | Ad account | get_ad_account | | Campaigns | list_campaigns, get_campaign | | Ad groups | list_ad_groups, get_ad_group | | Ads | list_ads, get_ad | | Insights | get_ad_account_insights, get_campaign_insights, get_ad_group_insights, get_ad_insights |

Only read/list/report tools are registered (GET-equivalent Ads calls). Mutating actions (create/update/activate/pause/archive/upload) are omitted for now. All exposed tools set read-only hints (readOnlyHint) for MCP clients.

Architecture

python -m openai_ads_mcp          stdio (Cursor, Claude Desktop, etc.)
python -m openai_ads_mcp --transport http   streamable HTTP (remote clients)
  └─ openai_ads_mcp/server.py     registers every tool
       ├─ coordinator.py          FastMCP singleton
       ├─ client.py               httpx wrapper + bearer auth
       └─ tools/                   resource modules
  • Single registration point. openai_ads_mcp/server.py imports all tool modules.
  • Two transports. Stdio for local IDE hosts; HTTP for remote MCP clients (e.g. via ngrok).

Authentication

  • This server → Ads API. Set OPENAI_ADS_API_KEY (header

Authorization: Bearer … per the authentication docs).

  • Caller → this server. Not enforced by default. Put auth (API gateway, reverse proxy,

VPN, etc.) in front of HTTP mode if you expose it publicly.

Secrets: keep Ads keys out of git — copy .env.example to .env and add your key there. Never commit real keys.

Quick start

Prerequisites

  • Python 3.11+
  • An OpenAI Ads API key

Install

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip
pip install -r requirements.txt
pip install -e .

Copy the example env file and add your key:

copy .env.example .env
# Edit .env and set OPENAI_ADS_API_KEY

Run (stdio — for Cursor and other IDE MCP hosts)

The process blocks with little or no visible output: MCP uses stdin/stdout for JSON-RPC. You should see a one-line notice on stderr; do not run the server interactively in a normal terminal expecting a prompt.

python -m openai_ads_mcp

Equivalent commands:

openai-ads-mcp
python -m openai_ads_mcp.server

Cursor MCP config — use your venv's python.exe as command, project root as cwd:

{
  "mcpServers": {
    "openai-ads": {
      "command": "C:\\path\\to\\chatgptads-mcp\\.venv\\Scripts\\python.exe",
      "args": ["-m", "openai_ads_mcp"],
      "cwd": "C:\\path\\to\\chatgptads-mcp"
    }
  }
}

Or set OPENAI_ADS_API_KEY in the env block instead of using .env.

Run (HTTP — for remote MCP clients)

python -m openai_ads_mcp --transport http --host 127.0.0.1 --port 8000

Point remote MCP clients at http://127.0.0.1:8000/mcp. To expose publicly, tunnel with ngrok or similar and add auth at the gateway layer.

Environment variables

| Variable | Required | Description | | -------- | -------- | ----------- | | OPENAI_ADS_API_KEY | Yes | Ads API key |

Project layout

requirements.txt
pyproject.toml
.env.example
openai_ads_mcp/
  __main__.py
  server.py
  coordinator.py
  client.py
  tools/
    ad_account.py
    campaigns.py
    ad_groups.py
    ads.py
    insights.py

See also capabilities.md for a full tool reference.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.