Synthesis
synthesize: text, voice, format and speed, and it returns a download link for the file.
Give your agent Arabic or English text and get back a link to an mp3, ogg or wav file, ready to publish or use in a video.
Local voices run on our server without sending the text to any third party; the more natural hq voices go through the ZAD gateway.
Short texts return immediately; long ones (up to 20,000 characters) are tracked with a job id, and the file is deleted automatically after a few days.
synthesize: text, voice, format and speed, and it returns a download link for the file.
list_voices: local Arabic and English voices, and hq voices that speak Egyptian, MSA and English.
tts_get_job and tts_cancel_job: track or stop long-text synthesis.
Use the service URL and your key.
“Turn this paragraph into Egyptian speech, mp3”
A direct link to the audio file, valid for several days.
Streamable HTTPhttps://tts-mcp.marsaplatform.com/mcpBearer YOUR_API_KEYEvery request needs Authorization: Bearer YOUR_API_KEY.
https://tts-mcp.marsaplatform.com/mcpclaude mcp add --transport http tts https://tts-mcp.marsaplatform.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"~/.cursor/mcp.json{
"mcpServers": {
"tts": {
"url": "https://tts-mcp.marsaplatform.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}.vscode/mcp.json{
"servers": {
"tts": {
"type": "http",
"url": "https://tts-mcp.marsaplatform.com/mcp",
"headers": {
"Authorization": "Bearer ${input:tts-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "tts-key",
"description": "TTS MCP API key",
"password": true
}
]
}VS Code asks for the key once and stores it securely.
claude_desktop_config.json{
"mcpServers": {
"tts": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://tts-mcp.marsaplatform.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_API_KEY"
}
}
}
}Claude Desktop reaches remote servers through mcp-remote, which needs Node.js. Restart the app after editing.
curl -s -X POST https://tts-mcp.marsaplatform.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'With a valid key you get the initialize result. Without a key you get 401.
The original page states: “5 MCP tools”. The full list is generated from tools/list once a read key is configured for this site; until then any MCP client shows it after you connect.
read covers status, voices and jobs only; write adds synthesis and job cancellation.
Up to 20,000 characters per request; up to 1,500 characters return in the same response.
Request an access key from the key request page (Arabic form).
The real response for a request without a key:
WWW-Authenticate: Bearer realm="tts-mcp", error="invalid_token"
{"error": "unauthorized"}Send the header exactly as Authorization: Bearer YOUR_API_KEY.