OpenAI · Terminal agent

Codex CLI + Motion

OpenAI's terminal agent, configured from a TOML file rather than JSON. Point it at Motion and one sentence becomes a finished animation, rendered in your own browser.

No registrationNo watermarkNo paywall
Codex CLI connects to Motion over MCP

Setup

Connect Codex CLI to Motion

One endpoint, no key and no account. This is the part that differs between clients — a different file in a different place, and half of them name the same field differently. Pairing, underneath, works the same way wherever you are, and there are two of those depending on whether you have Motion open.

MCPhttps://motion.frapea.com/mcp

  1. 1

    Add the server

    Codex speaks streamable HTTP natively — no bridge, no experimental flag. The name comes before the flag, which is the form its own help prints.
    terminal
    $ codex mcp add motion --url https://motion.frapea.com/mcp
  2. 2

    Or write it into the config

    The same thing by hand, if you keep ~/.codex/config.toml under version control. Do one or the other — running the command as well leaves two [mcp_servers.motion] blocks, and a duplicate key is the one thing the parser will not forgive.
    ~/.codex/config.toml
    [mcp_servers.motion]
    url = "https://motion.frapea.com/mcp"

Then, the same for every client

Pair the session with Codex CLI

Two ways in, and the only thing that decides between them is whether you have a Motion tab open right now. Neither needs a key or an account.

If Motion is already open

Carry the code to your agent

  1. 1Click Connect MCP, top right. The panel shows a line beginning Connect me to Motion with code, with eight characters like K7M4-P2Q9.
  2. 2Paste that whole line into your agent — the sentence, not just the code. It is worded so the agent knows which tool to call and what to pass it.
  3. 3Good for ten minutes, and once. The code stops working the moment it is spent.
Open Motion

If it is not

Let the agent start without you

  1. 1Say start a Motion session for me. Worded so it does not collide with the line above — that one carries a code, and an agent given the same words without one will try it, fail, and have to back out.
  2. 2It can compose immediately — you do not need the tab to exist yet. Open the link when you want to watch, or when it asks you to.
  3. 3Anything that has to SEE the result, or touch your photos, waits for that tab. The agent knows to wait rather than to nag.

Then say what you want in one sentence. The frames appear in the tab while you keep working wherever you were.

When it doesn’t take

Two things go wrong, and it is almost always one of them

codex mcp add reports an unknown optionAn older build. Streamable HTTP has been native for a long time but not forever; codex --version against the current release tells you whether to upgrade.
Config edits do nothingTwo [mcp_servers.motion] blocks. If you ran the command and also wrote the TOML by hand, the duplicate key is the problem — keep one.

Neither of those? The endpoint answers a plain tools/list over POST. If that comes back, the server is fine and the problem is in the config — paste this page into Codex CLI and let it work out which line.

What it gets you

Why this pairing, and not just any of them

Configured in TOML rather than JSON, and one of three clients here that connect with a single command.
  • Runs where your project already is, so the animation can be built from real files rather than from a description of them.
  • TOML config means one block per server and no brace-matching — the least error-prone of the file-based setups here.
  • codex mcp list shows the server and whether it is connected without leaving the terminal, which tells a config typo from a network problem in one line.

What you just handed it

16 tools, and one of them is looking at the result

Codex CLI now has the whole set: it writes the composition as code rather than filling in a template, renders real frames and checks them, and never has to receive your footage to know what is in it.

All 16 tools Codex CLI can call

Using something else?

Any client that speaks MCP

The endpoint never changes. Only the file it goes in does — and for the other 7, it is written out.

One sentence to final animation.

Open Motion, click Connect MCP, and say one sentence to Codex CLI.

Open Motion