Install
$ agentstack add mcp-roast-labs-openai-ads-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
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.pyimports 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.
- Author: Roast-Labs
- Source: Roast-Labs/openai-ads-mcp
- License: MIT
- Homepage: https://weareroast.com/roast-labs/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.