Codex
Codex connects over HTTP with a bearer token, so no bridge and no Node.js setup is needed. The one thing that makes it different from Claude Code is where the token lives.
Codex stores only the name of an environment variable — config.toml gets
bearer_token_env_var, never the token itself. The variable has to exist in every shell that starts
Codex. A bare export dies with the terminal, and the failure then looks like a rejected key rather
than a missing variable.
Before you start
In AOV.ai Cart Drawer, open Settings → MCP connectors and add a connection. Choose the access level, then create a key. Copy the key when it is shown — it is shown once. See Authentication.
Add the server
Open a terminal on the machine where Codex is installed. This exports the token for this session, appends it to your shell profile so future terminals have it, and registers the server:
export AOV_CART_DRAWER_MCP_TOKEN="aov_mcp_YOUR_KEY"
echo 'export AOV_CART_DRAWER_MCP_TOKEN="aov_mcp_YOUR_KEY"' >> "${ZDOTDIR:-$HOME}/.zshrc"
codex mcp add aov-cart-drawer-your-store \
--url https://aov-cart-drawer.firebaseapp.com/mcp \
--bearer-token-env-var AOV_CART_DRAWER_MCP_TOKENReplace aov-cart-drawer-your-store with a name that includes your store, and aov_mcp_YOUR_KEY with
your key.
The profile line targets ~/.zshrc. On bash, add the same export line to ~/.bashrc instead.
Creating a new key means adding another line; the last export in the file wins.
If the server name already exists, remove the old entry first:
codex mcp remove aov-cart-drawer-your-storeCheck it worked
Restart the Codex CLI, or the Codex IDE extension. In a chat, type /mcp. You should see
aov-cart-drawer-your-store listed, with 12 or 13 tools for Read only, or 44 for
Read and write.
Then ask something only your store can answer:
Is my cart drawer working right now?
If the server is listed but the question comes back with a refusal, the address is right and the token is not — see Troubleshooting.
Related
- Authentication
- ChatGPT Desktop — same config file, different app
- Troubleshooting