How to connect your ad accounts to Codex
Add your advertising accounts to Codex as a remote MCP server: one codex mcp add command, or four lines in config.toml, then OAuth sign-in.
Both readings are on this page.
For you
What the answer looks like, and what to type to get it.
Codex speaks the Model Context Protocol, so there is nothing to install. You paste one URL, sign in once, and your advertising accounts become tools it can call.
SetupLink to this section
codex mcp add get-mcp-ads --url https://mcp.getmcpads.com/mcp
codex mcp login get-mcp-adsOr write it yourself, in ~/:
[mcp_servers.get-mcp-ads]
url = "https://mcp.getmcpads.com/mcp"Then codex mcp login get-mcp-ads to walk the OAuth flow. A . in a project applies to that project only, and the directory has to be trusted.
Before it can answer anythingLink to this section
Connecting the client is one half. The other is connecting at least one advertising platform in the dashboard and ticking which accounts to expose. Both need you, not the assistant: one is a consent screen at Google or Meta, the other is a decision about which accounts a machine may read.
For your agent
The tool sequence, the parameters that matter, and what will be refused.
Both readings as Markdown: /guides/setup/codex.md
Setting up Codex against this gateway. The endpoint is https:/, and each source also has its own endpoint if a narrower tool list is wanted.
What the client does on its ownLink to this section
- It requests
https:/and receives a 401 with a/ mcp. getmcpads. com/ mcp WWW-Authenticateheader. - It reads the protected resource metadata named in that header.
- It registers itself through dynamic client registration. No key is issued or pasted.
- It opens the authorisation page with PKCE and waits for the person to approve.
- It calls
tools/listand receives the tools for the connected sources, plus four routing tools.
Checking it workedLink to this section
Call list_accounts. It answers without touching any advertising API, so it separates a connection problem from an account problem. An empty list means the platform is connected but nothing was ticked.