Gandr TTS in any MCP agent.
One install turns Claude, Cursor, or any MCP-compatible agent into a Gandr TTS client. Four tools, no framework glue.
The whole integration
Install, then add one block to your MCP client config.
pip install gandr-mcp
# add to your MCP client's config:
{"mcpServers":{"gandr":{"command":"gandr-mcp","env":{"GANDR_API_KEY":"gnd_..."}}}}
Restart the client and the agent gains a text-to-speech tool set. The key comes from your Gandr console.
What it needs
What it takes
| One package | pip install gandr-mcp |
| A key | GANDR_API_KEY in the server env |
| An MCP client | Claude, Cursor, or anything that speaks MCP |
| Python | 3.9 or newer |
Why an MCP agent needs speech
An agent that only returns text is half a tool: it can draft the reply but it cannot say it. With the Gandr MCP server, the agent finishes the job by speaking the answer in any of the 23 languages and one of the stock voices, or a cloned voice.
The server runs as its own process and holds the key, so the agent never sees a credential. Four tools cover the shape: synthesize text, list voices, clone a voice, and check usage.
What the flat stream changes
MCP agents get invoked a lot. A per-character meter makes every spoken answer a line item someone questions; the flat per-stream price means the agent can talk as much as the work needs and nothing is counted.
- One stream carries every utterance, however many the agent makes
- No per-character meter, so the agent is never told to say less
- The key stays in the server env, off the agent conversation
Notes
Does the MCP server need its own process?
Yes. The server runs as a subprocess and holds the key in its environment, so your MCP client never handles a credential.
Which voices can the agent use?
Any of the stock voices by gandr- id, or a cloned voice from the console. The same 23 languages are available to every tool.
A key and one stream, and any agent in your stack can speak.
Get a keyFull API reference , gandr.ai/docs