Connect your client
Playback
Automate with agents

Connect your client

Add Playback's MCP server to Claude, Cursor, OpenCode, OpenAI Codex, or Grok.

Any MCP client that can spawn a local (stdio) server can drive Playback. They all take the same three things — a command (playback-mcp, the server that comes with Playback), and optionally args and env — just in slightly different file formats.

The standard block

Most clients use this exact JSON shape somewhere in their config:

{
  "mcpServers": {
    "playback": {
      "command": "playback-mcp"
    }
  }
}

The rest of this page is just where each client wants it.

Claude

Claude Code — add it from the terminal:

claude mcp add playback playback-mcp

Or drop a .mcp.json in your project root with the standard block so the whole repo shares it.

Claude Desktop — open Settings → Developer → Edit Config and add the standard block to claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json), then restart the app.

Cursor

Add the standard block to Cursor’s MCP config — either ~/.cursor/mcp.json for every project, or .cursor/mcp.json in a single project. Cursor picks it up automatically; you’ll see playback appear under Settings → MCP.

OpenCode

OpenCode uses its own key and marks stdio servers as local. Add this to opencode.json in your project (or ~/.config/opencode/opencode.json globally):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "playback": {
      "type": "local",
      "command": ["playback-mcp"],
      "enabled": true
    }
  }
}

Note the command is an array here, and type must be local.

OpenAI Codex

The Codex CLI configures MCP servers in TOML. Add this to ~/.codex/config.toml:

[mcp_servers.playback]
command = "playback-mcp"

If your binary needs arguments or environment variables, Codex accepts args = [...] and env = { KEY = "value" } under the same table.

Grok

Grok’s CLI reads MCP servers from its settings file using the same standard block. Add it to ~/.grok/settings.json (global) or .grok/settings.json in a project:

{
  "mcpServers": {
    "playback": {
      "command": "playback-mcp"
    }
  }
}

Check it’s working

Once connected, open Playback and ask your agent to run a read-only command like “list the windows Playback can record” or “what’s Playback’s status?”. If it comes back with real data, the bridge is live and the agent can start editing. If it reports that Playback isn’t running, launch the app and try again.