Codex

How to let Codex watch a video

Codex reads MCP servers from ~/.codex/config.toml. Add an entry with url and auth = "oauth", and the CLI, the IDE extension and the desktop app all pick it up.

One command

[mcp_servers.playhead]
url = "https://mcp.tryplayhead.com/mcp"
auth = "oauth"

Append to ~/.codex/config.toml — the CLI, IDE extension and desktop app share it.

Free tier: 60 credits a month, no card. One credit is about a minute of video.

What this changes

Codex's own `codex mcp add` only takes stdio commands, so a remote server has to be written into the config file by hand. The upside is that one file serves all three surfaces — the terminal, the extension and the app share it, so this is done once rather than three times.

Setting it up

  1. 01

    Open the config

    ~/.codex/config.toml — create it if it does not exist.

  2. 02

    Add the server

    [mcp_servers.playhead] url = "https://mcp.tryplayhead.com/mcp" auth = "oauth"

  3. 03

    Restart and sign in

    The first tool call opens a browser to approve the connection.

Things worth asking it

Each of these produces an answer with a second attached, because the timestamp is burned into the frame the model is looking at — it cannot lose track of when something happened.

  • Watch this clip and list the on-screen text with timestamps.
  • At what second does the camera move in this shot?

How closely it looks is a choice

Six levels, picked by the agent from the question. Surveying an hour and reading a single frame of animation are different jobs, and charging the same for both would make one of them pointless.

LevelRateAnswers
overview0.5–2 fpsWhat is this video, start to end
standard5 fpsWhat happens when — cuts, overlays, entrances
detail5 fpsObjects and text blocks, tiles four times larger
fine10 fpsType, logos, subtle transitions
motion30 fpsAnimation, easing, dropped frames
singleone frameReading text at full resolution

Questions

Why not `codex mcp add`?
That command registers a command to spawn — a stdio server. Playhead's connector is an HTTP endpoint you sign into, which has to be declared in the config file.

Or somewhere else

One account, every client. The connection is attached to you rather than to a machine, so adding a second one costs nothing.

Stop describing the video to your agent.