Overview

Voice Studio includes a local Model Context Protocol server for MCP-aware clients such as Claude Code, Cursor, Windsurf, and VS Code. It can speak text in a Voice Studio profile, transcribe audio, and list captures or profiles. The server runs inside the Voice Studio desktop/local service and listens at:
It is not published as a hosted Peachdesk endpoint. The authenticated Peachdesk platform connector is a separate service with different tools and OAuth authorization.
Do not substitute the platform connector URL for the Voice Studio URL. Voice Studio MCP is intended for a client on the same machine as the local service.

Connect a local client

Voice Studio uses X-Peachdesk-Client-Id to select an optional per-client voice binding. The value is a label, not a credential. The local MCP server does not accept a Peachdesk dashboard API key as bearer authentication.

Claude Code

Cursor, Windsurf, or VS Code

Existing clients may continue to send the legacy X-Voicebox-Client-Id header, but the Peachdesk header wins when both are present.

Tools

Each primary tool also has a legacy voicebox.* alias for existing clients.

peachdesk.speak

If profile is omitted, Voice Studio resolves a profile in this order:
  1. The explicit profile argument, when present.
  2. The binding for X-Peachdesk-Client-Id.
  3. The workspaceтАЩs default playback voice.
The generated take is saved in Captures with source mcp.

peachdesk.transcribe

Pass exactly one of audio_base64 or audio_path. Absolute-path transcription is available only to loopback callers and is limited to 200 MB; remote callers must use base64 audio.

peachdesk.list_captures

Pass { limit: 20, offset: 0 }. limit must be from 1 through 200.

peachdesk.list_profiles

The tool takes no arguments and returns profile IDs, names, voice types, languages, and whether each profile has a personality.

Per-client bindings

Use Voice Studio тЖТ Settings тЖТ MCP to bind a client label such as claude-code to a default profile, engine, and personality setting. Voice Studio updates that bindingтАЩs last-seen time when the matching local client calls /mcp or /speak.

Local REST alternative

Local scripts that do not speak MCP can use the same speech path:

Debug with MCP Inspector

Start with peachdesk.list_profiles, then call peachdesk.speak and confirm the generation appears in Captures.

Security notes

  • Keep the Voice Studio service bound to loopback; this local server is not the OAuth-protected platform connector.
  • X-Peachdesk-Client-Id controls a preference binding and is not authentication.
  • Absolute-path transcription fails closed for non-loopback callers.
  • Voice-cloning consent still applies when an agent calls peachdesk.speak. See Voice Cloning.

Next steps

Voice personalities

Configure personality rewriting for a profile.

Transcription

Learn about the transcription models available in Voice Studio.