Add Sprites to Codex
Available on Anywhere Codex CLI runs — a ChatGPT plan that includes Codex, or an API key. You need a Sprites account with your channels already connected — the connector acts on that connection, so Codex never handles a platform credential.
Add the server
One command writes the entry into ~/.codex/config.toml for you.
Terminalcodex mcp add sprites --url https://mcp.sprites.ai/mcpOr write the config by hand
The same entry in ~/.codex/config.toml, or in .codex/config.toml inside a trusted project when you want the connector scoped to one repo.
~/.codex/config.toml[mcp_servers.sprites] url = "https://mcp.sprites.ai/mcp" auth = "oauth"Sign in
Codex opens a browser for the Sprites consent screen and stores the token locally. Sprites supports dynamic client registration and client ID metadata documents, so there is nothing to pre-register.
Terminalcodex mcp login spritesApprove changes by name
Codex renders results as text, so a pending change comes back written out rather than as a card you can click. Nothing is applied until you approve it, and the approval waits for you in Sprites — open it there and the same run continues.
Pending changeChangeDaily budget $40 → $65Gategate_7f2c…
Which Codex surface you are on
Only the surfaces below are documented here. Where we have not verified a path, the page says so rather than implying the setup is the same everywhere.
Codex CLIVerified
codex mcp add, or an [mcp_servers.sprites] block in ~/.codex/config.toml, then codex mcp login.
Project-scoped configVerified
.codex/config.toml inside a trusted project, for a connector that belongs to one repo.
What Codex can reach
All ten channels run through the one connector. Rows with a guide go deeper on that pairing; the rest are covered on the channel's own page.
| Channel | What Codex does with it | Guide |
|---|---|---|
| Google Ads | Account structure and performance available to a script you are writing rather than exported to a CSV first. | Set up → |
| Meta | Creative fatigue per ad, audience overlap, new hooks previewed in the real placement. | Set up → |
| Cost per lead by job function, ABM account lists, sponsored content that converts. | Set up → | |
| TikTok | Hook-level hold rates, the next creative batch, and rotation before the CPA moves. | Set up → |
| Performance per subreddit, community-native copy, and the tourist traffic to cut. | Set up → | |
| GA4 | Read the events back immediately after firing them, which is what makes instrumentation work verifiable. | Set up → |
| SEO | Query Search Console from the terminal the fix is being written in. | Set up → |
| AEO | Who gets cited by ChatGPT and Perplexity for your prompts, and the pages that change it. | Set up → |
| Shopify | Profit per product after ad cost, collection pages, and catalogue-true creative. | Set up → |
| GBP | Performance per location, the listings missing fields, and posts that keep the map pack. | Set up → |
Marketing workflows worth doing in Codex
Marketing work that belongs in a commit: Codex can read the landing page it is about to ship and brief Sprites on the campaign pointing at it, in one session.
Build reporting scripts against live data
Develop a script with the real account answering, so the shape it handles is the shape it will meet.
Validate analytics instrumentation
Fire an event, read what GA4 recorded, and close the loop in one session instead of across a deploy.
Create campaign QA utilities
A check that fails when a campaign breaks a naming rule or ships without a conversion action attached.
Investigate SEO templates from evidence
Start from the Search Console losses, end at the template change that explains them.
Permissions, approvals and authentication
You sign in with OAuth and the connector acts on your workspace. No API keys in a config file, no shared service account, and revoking the grant kills the very next call.
| Action | When it happens | What that covers |
|---|---|---|
| Read an account | On request | Spend, performance, search terms, rankings, catalogue |
| Draft a change | On request | Campaigns, creative, budgets, pages and posts |
| Apply a change | Only on your approval | Codex returns the change as text; the approval waits for you in Sprites |
| Spend money | Only on your approval | New campaigns start paused unless you say otherwise |
| Revoke access | Instantly | The next call after a revoke fails, not the one after that |
Codex MCP questions
Command line or config file?
Either. codex mcp add writes the entry for you; an [mcp_servers.sprites] block in ~/.codex/config.toml is the same thing written by hand.
How does authentication work?
codex mcp login opens a browser and stores the token locally. Codex supports dynamic client registration and client ID metadata documents, so there is nothing to pre-register.
Can it change my ad accounts on its own?
No. Reads happen on request; every write comes back as a change you approve first, and new campaigns start paused. Nothing is applied because a model decided it should be.
Config changes are not taking effect.
Codex reads config.toml at startup. Restart it after editing.
Is this the same as ChatGPT?
Same company, different client. ChatGPT takes a connector through developer mode in the web app; Codex takes one through a config file and a CLI command.
Point Codex at your ad accounts
One URL, one sign-in, and the next question you ask Codex about your marketing gets answered from the live account.