mcpField
S
secretvoice

secretvoice

Remote
secretvoice.devMedia & Design0Updated 1w ago

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

  1. 01Text-to-speech with emoji vocal cues
  2. 02Multi-voice scenes with per-segment languages
  3. 03Lists voices and supported languages
  4. 04Checks balance and recent generations

Use cases

  1. 01Create expressive spoken audio from scripts
  2. 02Generate dialogue with distinct voices
  3. 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.

Endpointhttps://api.secretvoice.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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 README

SecretVoice 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

ToolDescriptionScope
list_voicesEvery voice with its id and gendervoices:read
list_languagesThe 22 supported language codesvoices:read
text_to_speechText in, base64 audio out — emoji vocal cues allowedtts:generate
generate_sceneMulti-voice scene: one clip per segment, own voice + languagetts:generate
get_balancePlan and remaining creditsaccount:read
list_historyRecent generationshistory:read

Resources: secretvoice://voices, secretvoice://languages, secretvoice://vocal-cues.

Emoji vocal cues

CueEffectCueEffect
👂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

  1. POST https://secretvoice.dev/oauth/register with your redirect_uris → client_id
  2. Send the user to /oauth/authorize with code_challenge (S256), state and resource=https://api.secretvoice.dev
  3. POST /oauth/token with the code and code_verifier
  4. Call /mcp with Authorization: Bearer <token>

Discovery documents:

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; plain is 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/revoke or from the dashboard

License

MIT — see LICENSE.

SecretVoice is an independent product; this is not an official Anthropic server.

Comments

Markdown supported

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.