
cartesia-mcp
Updated 7d agoby cartesia-ai
Cartesia MCP Server
The Cartesia MCP server exposes Cartesia APIs over the Model Context Protocol (MCP) so clients such as Cursor, Claude Desktop, and OpenAI Agents can list voices, run TTS and STT, manage pronunciation dictionaries, clone voices, and more—without one-off scripts.
Documentation: Cartesia docs — MCP
Requirements
- uv — runs the server via
uvxwith no global install - Python 3.13+ (installed automatically by
uvx) - A Cartesia API key for TTS, STT, voices, and related APIs
- Optionally, an admin API key (Keys → Admin) for management tools such as
get_credit_usage. Admin keys and standard keys are separate credentials; each only works on its own route class.
Setup
Get an API key. Full instructions: Cartesia docs — MCP.
CLI (recommended) — npx add-mcp "uvx cartesia-mcp" --name cartesia-mcp --env 'CARTESIA_API_KEY=${CARTESIA_API_KEY}'
Cursor — Install Cartesia MCP, then set CARTESIA_API_KEY in Settings → MCP.
Claude Code — claude mcp add -e CARTESIA_API_KEY=<your-api-key> cartesia-mcp -- uvx cartesia-mcp
Manual setup
Add to .cursor/mcp.json, .mcp.json (Claude Code), or your client’s MCP config:
{
"mcpServers": {
"cartesia-mcp": {
"command": "uvx",
"args": ["cartesia-mcp"],
"env": {
"CARTESIA_API_KEY": "<your-api-key>"
}
}
}
}
Try it
Ask your agent things like:
- List all available Cartesia voices
- Convert text to audio with a chosen voice (speed, volume, emotion)
- Transcribe an audio file to text
- Create a pronunciation dictionary and use it in TTS
- Check credit usage for your account
- Localize an existing voice into another language
- Change an audio file to use a different voice
Tools
| Tool | Description |
|---|---|
text_to_speech | Convert text to audio; optional speed, volume, emotion, and pronunciation dict. Default save=true returns file_id and a 24h download_url. |
speech_to_text | Transcribe an audio file (mode=batch default, or mode=stream) |
list_voices | List available voices (filter by language, search, gender, etc.) |
get_voice | Fetch metadata for a voice by ID |
clone_voice | Clone a voice from an audio sample |
update_voice | Update a cloned voice's name or description |
delete_voice | Delete a cloned voice |
voice_change | Re-render audio with a different voice |
localize_voice | Adapt a voice to another language or dialect |
list_pronunciation_dicts | List pronunciation dictionaries |
create_pronunciation_dict | Create a pronunciation dictionary |
get_pronunciation_dict | Get a pronunciation dictionary by ID |
update_pronunciation_dict | Update a pronunciation dictionary |
delete_pronunciation_dict | Delete a pronunciation dictionary |
download_file | Fetch a cloud file by ID (download_url + local copy) |
get_credit_usage | Credit usage over time (CARTESIA_ADMIN_API_KEY) |
See cartesia_mcp/server.py for parameters and return types.
Releases
Versions and PyPI publishes are driven by Conventional Commits on main via release-please. Use PR titles like feat: … or fix: … (especially when squash merging). See CONTRIBUTING.md.
Local development
Run your checkout in an MCP client instead of the published uvx cartesia-mcp package:
Related servers

n8n
Updated todayby n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

mcp-server-fetch
OfficialUpdated 14d agoA Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

@modelcontextprotocol/server-everything
OfficialUpdated 14d agoMCP server that exercises all the features of the MCP protocol