Codex MCP server for Shopify, Stripe and 100+ business tools
Add PopMCP to ~/.codex/config.toml and run one login command. Codex can then read real orders, payments, issues and analytics next to the repository it is working in. No API keys, and no server to run.
https://app.popmcp.com/mcpConnect Codex to PopMCP
Two ways to register the server: edit the config file, or let the CLI write it. Both end with the same PopMCP sign-in.
Add PopMCP in config.toml
Two lines in Codex's config file, then one command to sign in. The CLI, the IDE extension and the desktop app all read the same file.
Sign in at app.popmcp.com, connect the tools you want Codex to reach, and check each one shows as Verified.
Add this table to ~/.codex/config.toml. To scope it to one trusted project, put it in .codex/config.toml in that project instead.
~/.codex/config.toml[mcp_servers.popmcp] url = "https://app.popmcp.com/mcp"Run the login command. Codex opens the PopMCP consent screen in your browser and stores the token itself.
Terminalcodex mcp login popmcpOn the PopMCP consent screen, tick only the connectors Codex should reach, then authorize.
List the configured servers, or type /mcp inside Codex to see the active ones. Start with a read-only request.
Terminalcodex mcp list
Add PopMCP with one command
The same result without opening the file: the CLI writes the entry for you.
Sign in at app.popmcp.com, connect the tools you want Codex to reach, and check each one shows as Verified.
Run this in your terminal. There is no client ID or header to add.
Terminalcodex mcp add popmcp --url https://app.popmcp.com/mcpRun the login command and approve the PopMCP consent screen in your browser, ticking only the connectors Codex should reach.
Terminalcodex mcp login popmcpIn the IDE extension or the desktop app, the server list shows which servers are enabled and which still need OAuth. In the desktop app, select Authenticate if it asks.
The short answer
Codex supports the Model Context Protocol (MCP) over Streamable HTTP with OAuth: you register a remote MCP server in ~/.codex/config.toml, run codex mcp login, and Codex can call that server's tools. PopMCP is a hosted MCP server that puts 100+ business tools behind one URL, https://app.popmcp.com/mcp, so one entry reaches every tool you connect in PopMCP. The Codex CLI, the IDE extension and the ChatGPT desktop app share that configuration.
What to ask Codex
Codex calls PopMCP's tools, PopMCP reads your connected accounts, and the answer comes back in the chat. The tool names are the real ones Codex calls.
Before I write the migration, pull three recent Shopify orders so I can see the real field shapes.
PopMCP, 1 tool call

shopify_get_ordersThe three most recent orders, with line itemsread
The reply is drawn as bars on purpose: the figures come from your own accounts, so this page does not make any up.
More to paste into Codex
- Pull three recent Shopify orders so I can type the order model.
- Show me a HubSpot contact with every property we use.
- List the Stripe products and prices this checkout should offer.
- Find the Linear issues assigned to me in this cycle.
- Summarize what customers reported about checkout this week.
- Which error has the most occurrences since the last release?
- Which events does the signup funnel fire, in order?
- Is the new-checkout feature flag on, and for what share of users?
- How many sessions hit the pricing page last week?
- Confirm the webhook payload matches what Shopify actually sends.
- List the DNS records for the staging zone.
- Check the Postman collection still matches the endpoints this file calls.
You decide what Codex can reach
That is set in PopMCP, not in Codex. The sign-in ends on a consent screen that lists your connections.
- OAuth sign-in, no API keys
- Codex signs in to PopMCP with OAuth 2.1. There is nothing to paste, and your Shopify or Stripe credentials stay encrypted inside PopMCP.
- You pick the connectors
- The consent screen lists your connections. Codex reaches only the ones you tick.
- Read-only where you want it
- A workspace owner or admin sets each teammate to no access, read, or read and write, per connection.
- Every call is on the record
- Usage shows each request by user, connector and tool. Removing someone's access applies on the next request.
Where PopMCP works in Codex
Each row is one place Codex runs, and what its vendor says about adding a remote MCP server there.
| Where | Remote MCP | How it signs in |
|---|---|---|
| Codex CLITerminal | Supported | OAuth in the browser, with codex mcp login |
| Codex IDE extensionYour editor | Supported | Shares the CLI's config.toml and sign-in |
| ChatGPT desktop appDesktop | Supported | Shares the same config. Select Authenticate when asked |
| ChatGPT on the webchatgpt.com | Not available | Does not read Codex config files. Add PopMCP as a ChatGPT app instead |
Before you connect Codex
Four details from OpenAI's Codex docs worth knowing before you start.
- If the login fails, name the registration type
- codex mcp login takes --oauth-client-registration with cimd or dcr, and defaults to auto. PopMCP supports dynamic client registration, so if auto does not complete, run the login again with --oauth-client-registration dcr.
- Project configs need a trusted project
- A .codex/config.toml inside a repository is only read for projects you have marked as trusted. The file in your home directory applies everywhere.
- ChatGPT on the web is separate
- OpenAI says ChatGPT web does not read local Codex configuration files. To use PopMCP there, add it as a ChatGPT app in developer mode.
- Writes run when Codex calls them
- PopMCP does not hold a write for approval. Keep connections read-only until you need a write, and give a coding agent only the connectors the task needs.
Questions about Codex and PopMCP
Answered from OpenAI's documentation, checked on .
Does Codex support remote MCP servers?
Yes. OpenAI's Codex docs list Streamable HTTP servers and OAuth as supported. You register a server under mcp_servers in ~/.codex/config.toml with its url, then run codex mcp login.
How do I add an MCP server to Codex?
Add a [mcp_servers.popmcp] table with url = "https://app.popmcp.com/mcp" to ~/.codex/config.toml, or run codex mcp add popmcp --url https://app.popmcp.com/mcp. Then run codex mcp login popmcp and approve the consent screen.
Do the Codex CLI and the IDE extension share MCP servers?
Yes. OpenAI says the ChatGPT desktop app, the Codex CLI and the IDE extension share the same configuration, so PopMCP added once is available in all three.
Do I need an API key or a bearer token?
No. PopMCP signs Codex in with OAuth 2.1, and Codex stores the token itself. Leave bearer_token_env_var and http_headers out of the entry.
How do I check PopMCP is connected in Codex?
Run codex mcp list in a terminal, or type /mcp inside Codex to see the active servers. Then ask Codex to run list_connections to see which connectors it was granted.
Which of my tools can Codex reach?
Only the connectors you tick on the PopMCP consent screen. A workspace owner or admin can also set each teammate to no access, read, or read and write per connection.
Sources
3 references, checked 12 October 2026
Every step on this page comes from these sources. Community sources are labelled, and we used them only where the vendor has not documented a step.
- OpenAI Codex docs: Model Context ProtocolServers go under mcp_servers in ~/.codex/config.toml with a url, codex mcp add takes --url, codex mcp login runs OAuth, codex mcp list and /mcp show servers, and the desktop app, CLI and IDE extension share the configuration.learn.chatgpt.com
- Model Context Protocol: AuthorizationThe MCP OAuth 2.1 flow, with PKCE, protected resource metadata and dynamic client registration, that PopMCP implements.modelcontextprotocol.io
- PopMCP docs: CodexThe config.toml entry and the login and list commands PopMCP documents for Codex.docs.popmcp.com
Use the same URL everywhere
Every client adds the same PopMCP URL and signs in with OAuth.
Put 100+ business tools inside Codex
Connect your tools in PopMCP, add the PopMCP URL, and approve the sign-in. There is nothing to install.



