About secretvoice
SecretVoice is an MCP server for generating expressive speech and multi-speaker audio scenes. It offers 29 voices across 22 languages, with emoji cues for vocal delivery.
Key features
- 01Text-to-speech with emoji vocal cues
- 02Multi-voice scenes with per-segment languages
- 03Lists voices and supported languages
- 04Checks balance and recent generations
Use cases
- 01Create expressive spoken audio from scripts
- 02Generate dialogue with distinct voices
- 03Produce audio segments in different languages
MCP support
The server exposes voice and language resources, speech and scene-generation tools, and account and history tools to MCP clients. It supports OAuth 2.1 with dynamic client registration and PKCE.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.secretvoice.dev/mcpclaude mcp add --transport http dev-secretvoice https://api.secretvoice.dev/mcp{"mcpServers":{"dev-secretvoice":{"type":"http","url":"https://api.secretvoice.dev/mcp"}}}Open in Cursor{"servers":{"dev-secretvoice":{"type":"http","url":"https://api.secretvoice.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-secretvoice":{"type":"http","url":"https://api.secretvoice.dev/mcp"}}}{"mcpServers":{"dev-secretvoice":{"serverUrl":"https://api.secretvoice.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMESecretVoice MCP Server
A Model Context Protocol server for SecretVoice — intimate voice AI, not a generic TTS wrapper.
Three things make it different:
-
Emoji vocal cues. Drop 👂 😮💨 🌬️ 🥵 💋 😭 ⏸️ into the script and the engine performs it — whisper, sigh, breathless, panting, kiss, sobbing, pause. Direction lives in the text instead of in a settings object.
-
Multi-voice scenes. One call, many speakers, each with its own voice and language — dialogue, audiobook chapters, character switches.
-
29 voices, 22 languages, tuned for closeness. Close-mic whispers and chest-voice warmth, not boardroom narration.
-
Endpoint:
https://api.secretvoice.dev/mcp -
Transport: Streamable HTTP, protocol
2025-06-18 -
Auth: OAuth 2.1 with dynamic client registration and PKCE (no API key pasting)
-
Website: https://secretvoice.dev/mcp
-
OAuth reference: https://secretvoice.dev/oauth
Why this exists
Most TTS integrations make you paste a key into a config file. This one lets the client register itself, shows you a consent screen, and issues a scoped token that expires in an hour. Revoke it from your account at any time.
Tools
| Tool | Description | Scope |
|---|---|---|
list_voices | Every voice with its id and gender | voices:read |
list_languages | The 22 supported language codes | voices:read |
text_to_speech | Text in, base64 audio out — emoji vocal cues allowed | tts:generate |
generate_scene | Multi-voice scene: one clip per segment, own voice + language | tts:generate |
get_balance | Plan and remaining credits | account:read |
list_history | Recent generations | history:read |
Resources: secretvoice://voices, secretvoice://languages, secretvoice://vocal-cues.
Emoji vocal cues
| Cue | Effect | Cue | Effect |
|---|---|---|---|
| 👂 | whisper | 💋 | kiss |
| 😮💨 | sigh | 🤭 | chuckle |
| 🌬️ | breathless | 🥺 | trembling |
| 🥵 | panting | 😭 | sobbing |
| ⏸️ | pause | 🐢 | slowly |
Anything else is stripped, so the script stays clean.
A scene in one call
{
"name": "generate_scene",
"arguments": {
"segments": [
{ "text": "👂 Come closer. I have been waiting all night.", "voice_id": "velvet" },
{ "text": "😮💨 Ben de seni bekliyordum. 🌬️ Sadece fısılda.", "voice_id": "jade", "language_code": "tr" }
]
}
}
Returns one audio block per segment, in order, plus a JSON summary with the seconds and characters of each.
Install
Claude Desktop / Claude Code
claude_desktop_config.json:
{
"mcpServers": {
"secretvoice": {
"type": "http",
"url": "https://api.secretvoice.dev/mcp"
}
}
}
Restart, then approve the consent screen when it opens.
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"secretvoice": { "url": "https://api.secretvoice.dev/mcp" }
}
}
VS Code / Copilot
{
"servers": {
"secretvoice": { "type": "http", "url": "https://api.secretvoice.dev/mcp" }
}
}
Any client without dynamic registration
Mint an API key at https://secretvoice.dev/dashboard and send it directly — the endpoint accepts both credential types:
curl -X POST https://api.secretvoice.dev/mcp \
-H "authorization: Bearer $SECRETVOICE_API_KEY" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Example
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "text_to_speech",
"arguments": {
"text": "Merhaba, MCP üzerinden Türkçe konuşuyorum.",
"voice_id": "jade",
"language_code": "tr"
}
}
}
The response carries an audio content block (base64) plus a JSON block with
request_id, seconds and characters.
OAuth flow
POST https://secretvoice.dev/oauth/registerwith yourredirect_uris→client_id- Send the user to
/oauth/authorizewithcode_challenge(S256),stateandresource=https://api.secretvoice.dev POST /oauth/tokenwith the code andcode_verifier- Call
/mcpwithAuthorization: Bearer <token>
Discovery documents:
- https://secretvoice.dev/.well-known/oauth-authorization-server
- https://api.secretvoice.dev/.well-known/oauth-protected-resource
Pricing
One credit is one character, the same as the API. A 500-character paragraph costs 500 credits. Plans start at $18/month for 180,000 credits with a free 3-day trial.
Security
- PKCE S256 required;
plainis rejected - Tokens are audience-bound (RFC 8707) and stored hashed
- Access tokens live 1 hour, refresh tokens 30 days and rotate on use
- Revoke with
POST /oauth/revokeor from the dashboard
License
MIT — see LICENSE.
SecretVoice is an independent product; this is not an official Anthropic server.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.