Sign in
Docs
0%

Integrations and media

Voice tools for assistants (MCP)

The 3 tools an assistant can call for Voice over MCP: what each one does, the scopes it needs, its arguments and an example call.

Real-time calls with Io, the InOrbit assistant: start one on a thread, read how it went, and hang up. Speech recognition runs on your device, and a call record never holds what was said. Use it to talk a thread through with Io when typing is slower than saying it, and to see afterwards how each call went. An assistant calls these tools over MCP; the same operations over HTTP are in the Voice API. Tools for assistants lists every product, and MCP shows how to connect an assistant.

voice_create_session

Start a voice call with Io. Start a voice call with Io on one of your threads: answers the LiveKit URL, the room and a token for that room alone, ten minutes at most. Each turn is answered on your own runner and spoken through the account's ElevenLabs connection, counted against its budget. A new call ends your previous one.

Scopes: mcp:write, voice:call · changes something · reaches outside the platform

ArgumentTypeWhat it is
account_idstringThe account to act on: a team the caller belongs to. Empty is the caller's own account.
langstringThe language the call starts in, "en" or "hr"; empty is "en". The phone says each turn's language again on the data channel.
thread_idstringThe caller's coordinator thread (one they own). Each turn is a Say on it, answered by Claude on the caller's own runner, and work for the Supervisor is handed over there. Required: without it there is no one to answer (FAILED_PRECONDITION).
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "voice_create_session",
    "arguments": {
      "thread_id": "thr_01JD8Z3QK4W5X6Y7Z8A9B0C1D2"
    }
  }
}

voice_get_session

Read a voice call. One of your voice call sessions: its state, room, limits, usage and why it ended. Another account's or person's session is not found.

Scopes: mcp:read, voice:read · reads only

ArgumentTypeWhat it is
account_idstringThe account's id; empty is the caller's own.
session_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "voice_get_session",
    "arguments": {
      "session_id": "cs_01JD8Z3QK4W5X6Y7Z8A9B0C1D2"
    }
  }
}

voice_end_session

End a voice call. End one of your voice calls: Io leaves the room and the room closes. Ending an ended call changes nothing.

Scopes: mcp:write, voice:call · changes something · safe to repeat

ArgumentTypeWhat it is
account_idstringThe account's id; empty is the caller's own.
session_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "voice_end_session",
    "arguments": {
      "session_id": "cs_01JD8Z3QK4W5X6Y7Z8A9B0C1D2"
    }
  }
}