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-mcpOr 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.