{
  "markdown": "# Brainiall TTS MCP Server\n\nHosted text-to-speech for AI agents via the [Model Context Protocol](https://modelcontextprotocol.io).\n\n**54 neural voices, 9 languages** — including native **Brazilian Portuguese** (`pf_dora`, `pm_alex`, `pm_santa`) — served from a hosted, pay-per-use API. No GPU, no model downloads, no ElevenLabs subscription: bring one API key and pay **$0.008 per 1,000 characters** ($10 free credits on signup).\n\n## Why this server\n\nEvery other TTS MCP server either runs models locally (heavy, slow to set up) or wraps a third-party key you already pay a subscription for. This one is a hosted, metered API:\n\n- **Zero setup** — remote server, nothing to install\n- **Pay per use** — $0.008/1K characters, billed against your Brainiall balance\n- **$10 free credits** — sign up at [app.brainiall.com](https://app.brainiall.com)\n- **WAV out** — 16-bit PCM, 24 kHz mono, returned as playable MCP audio content or base64 JSON\n\n## Quick start\n\nGet an API key at [app.brainiall.com](https://app.brainiall.com?utm_source=github&utm_medium=oss&utm_campaign=tts_mcp) ($10 welcome credits, no card required).\n\n### VS Code / GitHub Copilot\n\n[![Install Brainiall TTS in VS Code](https://img.shields.io/badge/VS_Code-Install_Brainiall_TTS-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=brainiall-tts&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.brainiall.com%2Fmcp%2Ftts%2Fmcp%22%7D)\n\nThe button installs the remote server in discovery mode, so VS Code can list its tools without a secret. Synthesis still fails closed until you add your Brainiall API key. For a secure workspace configuration that prompts once and stores the key in VS Code's secret storage, copy [`.vscode/mcp.json`](.vscode/mcp.json) into your project or clone this repository, then start `brainiallTts` from **MCP: List Servers**.\n\n```json\n{\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"brainiall-api-key\",\n      \"description\": \"Brainiall API key\",\n      \"password\": true\n    }\n  ],\n  \"servers\": {\n    \"brainiallTts\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.brainiall.com/mcp/tts/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${input:brainiall-api-key}\"\n      }\n    }\n  }\n}\n```\n\nAfter the server starts, try:\n\n> Use Brainiall TTS to list the Brazilian Portuguese voices, then read “Olá do VS Code” with `pf_dora`.\n\nThe install URL format and secret-input configuration follow the [official VS Code MCP guide](https://code.visualstudio.com/api/extension-guides/ai/mcp) and [configuration reference](https://code.visualstudio.com/docs/agents/reference/mcp-configuration).\n\n### GitHub Copilot cloud agent\n\nUse the [restricted remote-server configuration](examples/github-copilot-cloud/README.md) for Copilot cloud agent or Copilot code review. It allowlists the three Brainiall tools and resolves the Bearer token from the repository's `COPILOT_MCP_BRAINIALL_API_KEY` Agents secret; no API key is committed.\n\n### Continue (VS Code / JetBrains)\n\nCopy the ready-to-use [Continue MCP block](examples/continue/brainiall-tts.yaml)\nto `.continue/mcpServers/brainiall-tts.yaml`, then put\n`BRAINIALL_API_KEY=your-key` in `.continue/.env`. Keep that `.env` file out\nof version control.\n\nThe block uses Continue's supported `streamable-http` transport and resolves\nthe key through `${{ secrets.BRAINIALL_API_KEY }}`; no credential is committed.\nSee the [Continue setup and smoke test](examples/continue/README.md).\n\n### Dify builders\n\nFor a Dify speech workflow, use the open-source [BRAINIALL Speech provider](https://github.com/fasuizu-br/brainiall-dify-provider) and keep the API key in Dify's credential store. The [bounded Dify intent route](https://www.brainiall.com/transcreve/integracoes/dify-transcreve-ptbr-pipeline) explains the caller-owned boundary; it is not a Dify partnership or a guarantee of production behavior.\n\n### Remote server (recommended — nothing to install)\n\n**Codex CLI / IDE / ChatGPT desktop app**\n\nUse the [project-scoped Codex configuration](examples/codex/README.md). It reads\n`BRAINIALL_API_KEY` from the environment, allowlists the three Brainiall tools,\nand prompts before every call.\n\n**Claude Code**\n\nUse the [environment-backed Claude Code configuration](examples/claude-code/README.md). It keeps the key out of `.mcp.json`, scopes the server to the current project, and documents the external-data and metered-usage boundary.\n\n**Claude Desktop / any client with `.mcp.json`-style config**\n\n```json\n{\n  \"mcpServers\": {\n    \"brainiall-tts\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.brainiall.com/mcp/tts/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_BRAINIALL_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n**Cursor** (`~/.cursor/mcp.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"brainiall-tts\": {\n      \"url\": \"https://api.brainiall.com/mcp/tts/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_BRAINIALL_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n**LM Studio**\n\nUse the official one-click deeplink and the explicit local-model privacy boundary in the [LM Studio setup guide](examples/lm-studio/README.md).\n\n**OpenCode v2**\n\nUse the remote-server schema and environment-backed Bearer header in the [OpenCode v2 setup guide](examples/opencode/README.md).\n\n**Msty Studio**\n\nUse the [manual Msty Studio field guide](examples/msty/README.md) for a\nStreamable HTTP connection. The reference file is not presented as an\nofficial integration or import preset.\n\n**Hugging Face Chat UI (self-hosted)**\n\nUse the [administrator `MCP_SERVERS` example](examples/hugging-face-chat-ui/README.md)\nand a tool-capable model. The guide documents the shared-key boundary for base\nservers.\n\n### Clients that require `/v1/audio/speech`\n\nUse the zero-dependency [partial OpenAI-shaped TTS adapter](examples/openai-compatible-tts-adapter/README.md)\nwhen a client can configure an OpenAI-style speech route but cannot call\nBrainiall's native endpoint. The adapter returns WAV only, declares the sample\nrate observed in the WAV header, never retries a metered request, and documents\nthe exact compatibility limits. It is a local reference adapter, not a claim\nthat the hosted Brainiall API is natively OpenAI-compatible.\n\n### Run locally (stdio-free, still calls the hosted API)\n\nThe server itself is a thin wrapper — you can self-host it and it will proxy to `api.brainiall.com` with your key:\n\n```bash\ndocker build -t brainiall-tts-mcp .\ndocker run -p 8080:8080 -e APIM_KEY=YOUR_BRAINIALL_API_KEY brainiall-tts-mcp\n# MCP endpoint: http://localhost:8080/mcp\n```\n\n## Tools\n\n| Tool | Description | Cost |\n|------|-------------|------|\n| `synthesize_speech` | Convert text (≤5000 chars) to WAV speech. Params: `text`, `language` (default `pt`), `voice`, `speed` (0.5–2.0), `output_format` (`audio` \\| `base64_json`) | $0.008/1K chars |\n| `list_voices` | Full voice catalog with language, gender, accent, quality grade. Optional `language` filter | free |\n| `check_tts_service` | Backend health status | free |\n\n### Voices\n\n| Language | Voices |\n|----------|--------|\n| Portuguese (BR) | `pf_dora`, `pm_alex`, `pm_santa` |\n| English (US) | `af_heart`, `af_bella`, `af_nova`, `am_adam`, `am_michael` + 14 more |\n| English (GB) | `bf_alice`, `bf_emma`, `bm_daniel`, `bm_george` + 4 more |\n| Spanish | `ef_dora`, `em_alex`, `em_santa` |\n| French | `ff_siwis`, `fm_gilles` |\n| Italian | `if_sara`, `im_nicola` |\n| Hindi | `hf_alpha`, `hf_beta`, `hm_omega`, `hm_psi` |\n| Japanese | `jf_alpha`, `jf_gongitsune`, `jm_kumo` + 2 more |\n| Mandarin | `zf_xiaoxiao`, `zm_yunxi` + 6 more |\n\n### Example\n\nAsk your agent:\n\n> \"Read this paragraph out loud in Brazilian Portuguese with a female voice\"\n\nThe agent calls `synthesize_speech(text=..., language=\"pt\", voice=\"pf_dora\")` and receives playable WAV audio.\n\nFor copy-ready prompts and smoke tests for narration, accessibility, language practice, and agent alerts, see [Agent workflow recipes](examples/agent-workflows.md).\n\nFor REST client testing and automation, import the [Postman collection](postman/Brainiall-TTS-API.postman_collection.json). It contains health, voice-list and two-character synthesis smoke tests and keeps the API key in a collection variable rather than the request URL.\n\nFor no-code automation, import the [n8n text-to-WAV workflow](examples/n8n-brainiall-tts-to-wav.json). It uses n8n's Header Auth credential instead of embedding a key in the workflow, sends editable text, voice and speed fields to the hosted API, and returns the WAV in the binary property `speech`. The template is statically validated; select your credential and run it in your own n8n instance to validate the live integration.\n\nFor code generation, API clients, and directory discovery, use the machine-readable [OpenAPI 3.1 specification](openapi/brainiall-tts.openapi.yaml). The specification documents the authenticated voice catalog and WAV synthesis endpoints without embedding an API key.\n\n## Authentication & billing\n\nPass your Brainiall API key as a Bearer token (see configs above). Usage is metered per character against your account balance — the same key works across all Brainiall APIs (STT, OCR, NLP, image and more at [brainiall.com](https://brainiall.com)).\n\n## Endpoints\n\n- MCP (Streamable HTTP): `https://api.brainiall.com/mcp/tts/mcp`\n- Health: `https://api.brainiall.com/mcp/tts/health`\n- Underlying REST API: `POST https://api.brainiall.com/v1/tts/synthesize`\n\n## License\n\nMIT\n",
  "bytes": 9458,
  "sha": "40142d9c512e837ae6e67260bdd722f17e3b7297eaefcaa0551152fb3b3c833b",
  "repo_slug": "fasuizu-br/brainiall-tts-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_brainiall_tts_7b7673c6/readme"
}