Add SpringRoll to Codex in one command
Run this in the repository that contains your app. Codex probes the URL, sees that SpringRoll uses OAuth and opens your browser. Sign in and choose the SpringRoll workspace that should own the app.
Codex writes the entry to ~/.codex/config.toml. Start codex and run /mcp to confirm springroll is active. Any other remote server is added the same way: codex mcp add <name> --url <url>.
codex mcp add springroll --url https://springroll.dev/api/mcp
# if sign-in is still pending afterwards
codex mcp login springrollDeploy your app from Codex
Ask Codex to deploy the project. This prompt has it inspect the build, runtime, environment variables and storage, then show you the exact deployment proposal before it publishes anything.
Prepare this project for SpringRoll. Read the Company Blueprint, inspect my source and discover supported workloads and services. Check the build, workspace, owner and deployment workflow; show the exact deployment proposal for confirmation, then follow the build to its actual result.What happens when Codex deploys through SpringRoll
Codex calls springroll.deploy, which takes the source from a pushed repository or from the files in your folder, so git is optional. SpringRoll returns the app's URL and a placement receipt with the provider, plan, estimated cost and limits. Codex then follows springroll.deploy.status until the build is READY, and reads the build logs if it fails. Direct apps go straight to Production; Staged apps start in Development and need a person's approval for Production.
SpringRoll in config.toml
Each MCP server is a [mcp_servers.<name>] table in ~/.codex/config.toml. SpringRoll needs only its url, because sign-in is OAuth; there is no bearer token to store. A repository can carry the same table in .codex/config.toml, which Codex reads only for trusted projects, so a team shares the address while each person signs in as themselves.
The CLI, the IDE extension and the desktop app read the same file, so connecting SpringRoll once makes it available in all three.
[mcp_servers.springroll]
url = "https://springroll.dev/api/mcp"
# deployments can take a while to queue; give tool calls room
tool_timeout_sec = 120Scroll sideways to see all columns. With the table focused, use the arrow keys.
| Key | Applies to | What it does |
|---|---|---|
| url | Streamable HTTP | The server's endpoint. SpringRoll's is the only key it needs. |
| command, args, env, cwd | stdio | Start a local server and set its environment and working directory. |
| bearer_token_env_var, env_http_headers | Streamable HTTP | For servers that expect a token; read it from an environment variable, never the file. SpringRoll does not need either. |
| startup_timeout_sec | Both | How long Codex waits for the server to start. The default is 10. |
| tool_timeout_sec | Both | How long one tool call may run. The default is 60. |
| enabled, required | Both | Turn a server off without deleting it, or make startup fail when it is not ready. |
| enabled_tools, disabled_tools | Both | Allow or hide specific tools from a server. |
Signing in, switching workspace and signing out
SpringRoll issues a credential to one named membership, with only that person's permissions. To sign in again, for example to switch to another workspace, log out and log back in.
codex mcp logout springroll
codex mcp login springrollAdd SpringRoll from the Codex IDE extension
Open the gear menu, choose MCP servers, then Add server. Pick Streamable HTTP, name it springroll, enter https://springroll.dev/api/mcp, save, and choose Restart extension. The entry lands in the same config.toml the CLI uses, and the sign-in opens in your browser.
Check or remove SpringRoll
In the Codex terminal interface, /mcp lists the active servers; in the desktop app, type /mcp in the composer. From the shell:
codex mcp list
codex mcp get springroll
codex mcp remove springrollTroubleshooting SpringRoll in Codex
Run codex mcp list first, then match what you see.
- springroll never becomes ready: raise startup_timeout_sec in its table, and check that the machine can reach the URL.
- A deployment call times out in Codex: raise tool_timeout_sec. The build itself continues; ask Codex to follow springroll.deploy.status.
- The repository's .codex/config.toml is ignored: Codex reads project configuration only for trusted projects.
- You signed in to the wrong workspace: codex mcp logout springroll, then codex mcp login springroll and choose the right one.
- A deployment is refused with POLICY_BLOCKED: ask Codex to run springroll.policy.check, which names what must change.
- A build fails: ask Codex to read springroll.deploy.status with build logs, fix the cause and deploy again.
What this guide was checked against
Codex commands were checked against codex-cli 0.151.0 and the Codex MCP documentation on 6 November 2026. SpringRoll's behaviour comes from its live server card on the same day. Run codex mcp add --help to confirm what your installed version supports.
Frequently asked questions
Does SpringRoll need a token in Codex config.toml?
No. The table needs only the url. Codex discovers SpringRoll's OAuth sign-in and stores the credential itself.
Does the Codex IDE extension need its own SpringRoll setup?
No. The IDE extension, CLI and desktop app share config.toml, so one connection serves all three.
Can Codex and Claude Code both use SpringRoll?
Yes. Each client keeps its own configuration, so add SpringRoll to each one. Both act as the person who signed in.
Can Codex publish to Production without review?
Only on the Direct workflow, which a workspace administrator chooses. On the Staged workflow a configured reviewer approves Production, and an agent cannot record that approval.
