Skip to main content
Codex speaks MCP and shares one configuration across its CLI, IDE extension, and desktop app. Set UniversalBench up once and it works everywhere.

Setup

1

Get your personal MCP URL

Sign up at universalbench.dev and copy your URL from the dashboard. It looks like https://universalbench-mcp.penantiaglobal.workers.dev/u/ubk_...
2

Open MCP servers in Codex

In the Codex app, go to Settings then MCP servers, and click Add server. (In the CLI you can instead run codex mcp add, or edit ~/.codex/config.toml directly.)
3

Fill in the form

  • Name: universalbench
  • Type: select Streamable HTTP
  • URL: paste your full URL including the /u/ubk_... key
  • Bearer token env var: leave this empty
  • Headers: leave empty
Do not put your API key in the “Bearer token env var” field. That field expects the name of an environment variable, not a key. If you paste your key there, Codex will look for an environment variable with that name, fail to find it, and the server will not start with an error like Environment variable ubk_... is not set. Your key belongs only in the URL.
4

Save and start a new thread

Save the server. Then start a new Codex thread. Tools from a newly added MCP server do not appear in a thread that was already open. The new thread loads ub_read, ub_write, and ub_ai.

The three tools

What you can do now

In a new thread, ask Codex something that needs execution:
Use UniversalBench to run python that prints the sum of the first 1000 integers.
Codex calls ub_write with its code capability and returns the result, without dumping the work into your context.

When to reach for UniversalBench in Codex

UniversalBench is not a replacement for Codex’s local shell and file tools. For editing files and running local tests, Codex’s own tools are faster. UniversalBench earns its place when you want:
  • The agent to query or change your database or GitHub using credentials stored once in the vault, without pasting tokens
  • Validated pushes and safe deploys with rollback
  • An isolated cloud runtime when you do not want agent code running on your machine
  • Cost-capped LLM and web calls for small bounded subtasks

Troubleshooting