Skip to main content
tuple mcp runs a Model Context Protocol server over stdin/stdout. It exposes Tuple’s call, contact, screen, transcription, notification, and past-call transcript capabilities to AI coding agents such as Claude Code, Claude Desktop, and OpenAI Codex.The MCP server is a sibling of the tuple CLI: both require the Tuple desktop app to be running and signed in.

Install with a coding agent

Run tuple mcp install and pick an agent, or specify one directly:
You can install Tuple in multiple agents at once:
By default the server is registered as tuple. Pass --name to use a different identifier in your agent config.Each install command writes to that agent’s standard config:Restart the agent after installing.

Tools

Once installed, the agent can call these tools. Names mirror the CLI commands.

State and contacts

Calls

Rooms

Transcription and notifications

Stored transcripts (past calls)

These tools query the local transcript database of past transcribed calls. They work without an active call. See Searching past calls for the underlying CLI.Destructive and mutating tools (remove_contact, invite_contact, end_call, delete_stored_call, etc.) carry MCP annotations that drive the client’s confirmation prompt — the user approves them at call time.

Prompts

The server also registers a small set of MCP prompts. MCP-aware agents surface these as slash commands — for example, Claude Code shows them under /tuple:<name> once Tuple is installed.

/tuple:connect

Use /tuple:connect from inside an MCP-aware agent (Claude Code, Claude Desktop, Codex, or anything else that renders MCP prompts as slash commands) when you’re already on a Tuple call and want the agent to silently follow along. The returned prompt:
  • Subscribes the agent to the unified events + transcript stream so it wakes on signal, not on a timer.
  • Maps participant IDs to names with tuple state.
  • Teaches the agent when to speak (direct address, terminal input, call end, mid-call checkpoint) and when to stay quiet.
  • Embeds the last tail lifecycle events and transcript lines so a mid-call join doesn’t replay the whole history.
If you’d rather launch a new agent process onto the call from your shell — instead of invoking it from an already-running agent — use tuple connect, which builds the same context and execs the harness for you.

Resources

The server also exposes a set of subscribable MCP resources. Agents can read them once for a snapshot, or subscribe for live updates.Use current as {callId} to target the active call. Subscriptions deliver ResourceUpdated notifications when data changes; clients then re-read the resource for the new snapshot. The tuple://transcription/... resources are read-on-demand snapshots (not subscribable); the server also surfaces the most recent past calls as concrete, human-titled transcription-… resources so clients can attach one as context.