# tts [Health: Active]

**Category:** 🎧 Text-to-Speech  
**Repository:** https://github.com/fasuizu-br/brainiall-tts-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 97  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/tts

## Description
Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.

## Tools
Capabilities this server exposes over MCP:

- **synthesize_speech** — Convert text (≤5000 chars) to WAV speech. Params: `text`, `language` (default `pt`), `voice`, `speed` (0.5–2.0), `output_format` (`audio` \
- **list_voices** — Full voice catalog with language, gender, accent, quality grade. Optional `language` filter
- **check_tts_service** — Backend health status

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "tts": {
    "url": "https://modelcontextprotocol.io"
  }
}
```

## Documentation & README

# Brainiall TTS MCP Server

Hosted text-to-speech for AI agents via the [Model Context Protocol](https://modelcontextprotocol.io).

**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).

## Why this server

Every 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:

- **Zero setup** — remote server, nothing to install
- **Pay per use** — $0.008/1K characters, billed against your Brainiall balance
- **$10 free credits** — sign up at [app.brainiall.com](https://app.brainiall.com)
- **WAV out** — 16-bit PCM, 24 kHz mono, returned as playable MCP audio content or base64 JSON

## Quick start

Get 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).

### VS Code / GitHub Copilot

[![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)

The 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**.

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "brainiall-api-key",
      "description": "Brainiall API key",
      "password": true
    }
  ],
  "servers": {
    "brainiallTts": {
      "type": "http",
      "url": "https://api.brainiall.com/mcp/tts/mcp",
      "headers": {
        "Authorization": "Bearer ${input:brainiall-api-key}"
      }
    }
  }
}
```

After the server starts, try:

> Use Brainiall TTS to list the Brazilian Portuguese voices, then read “Olá do VS Code” with `pf_dora`.

The 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).

### GitHub Copilot cloud agent

Use 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.

### Continue (VS Code / JetBrains)

Copy the ready-to-use [Continue MCP block](examples/continue/brainiall-tts.yaml)
to `.continue/mcpServers/brainiall-tts.yaml`, then put
`BRAINIALL_API_KEY=your-key` in `.continue/.env`. Keep that `.env` file out
of version control.

The block uses Continue's supported `streamable-http` transport and resolves
the key through `${{ secrets.BRAINIALL_API_KEY }}`; no credential is committed.
See the [Continue setup and smoke test](examples/continue/README.md).

### Dify builders

For 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.

### Remote server (recommended — nothing to install)

**Codex CLI / IDE / ChatGPT desktop app**

Use the [project-scoped Codex configuration](examples/codex/README.md). It reads
`BRAINIALL_API_KEY` from the environment, allowlists the three Brainiall tools,
and prompts before every call.

**Claude Code**

Use 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.

**Claude Desktop / any client with `.mcp.json`-style config**

```json
{
  "mcpServers": {
    "brainiall-tts": {
      "type": "http",
      "url": "https://api.brainiall.com/mcp/tts/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_BRAINIALL_API_KEY"
      }
    }
  }
}
```

**Cursor** (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "brainiall-tts": {
      "url": "https://api.brainiall.com/mcp/tts/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_BRAINIALL_API_KEY"
      }
    }
  }
}
```

**LM Studio**

Use the official one-click deeplink and the explicit local-model privacy boundary in the [LM Studio setup guide](examples/lm-studio/README.md).

**OpenCode v2**

Use the remote-server schema and environment-backed Bearer header in the [OpenCode v2 setup guide](examples/opencode/README.md).

**Msty Studio**

Use the [manual Msty Studio field guide](examples/msty/README.md) for a
Streamable HTTP connection. The reference file is not presented as an
official integration or import preset.

**Hugging Face Chat UI (self-hosted)**

Use the [administrator `MCP_SERVERS` example](examples/hugging-face-chat-ui/README.md)
and a tool-capable model. The guide documents the shared-key boundary for base
servers.

### Clients that require `/v1/audio/speech`

Use the zero-dependency [partial OpenAI-shaped TTS adapter](examples/openai-compatible-tts-adapter/README.md)
when a client can configure an OpenAI-style speech route but cannot call
Brainiall's native endpoint. The adapter returns WAV only, declares the sample
rate observed in the WAV header, never retries a metered request, and documents
the exact compatibility limits. It is a local reference adapter, not a claim
that the hosted Brainiall API is natively OpenAI-compatible.

### Run locally (stdio-free, still calls the hosted API)

The server itself is a thin wrapper — you can self-host it and it will proxy to `api.brainiall.com` with your key:

```bash
docker build -t brainiall-tts-mcp .
docker run -p 8080:8080 -e APIM_KEY=YOUR_BRAINIALL_API_KEY brainiall-tts-mcp
# MCP endpoint: http://localhost:8080/mcp
```

## Tools

| Tool | Description | Cost |
|------|-------------|------|
| `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 |
| `list_voices` | Full voice catalog with language, gender, accent, quality grade. Optional `language` filter | free |
| `check_tts_service` | Backend health status | free |

### Voices

| Language | Voices |
|----------|--------|
| Portuguese (BR) | `pf_dora`, `pm_alex`, `pm_santa` |
| English (US) | `af_heart`, `af_bella`, `af_nova`, `am_adam`, `am_michael` + 14 more |
| English (GB) | `bf_alice`, `bf_emma`, `bm_daniel`, `bm_george` + 4 more |
| Spanish | `ef_dora`, `em_alex`, `em_santa` |
| French | `ff_siwis`, `fm_gilles` |
| Italian | `if_sara`, `im_nicola` |
| Hindi | `hf_alpha`, `hf_beta`, `hm_omega`, `hm_psi` |
| Japanese | `jf_alpha`, `jf_gongitsune`, `jm_kumo` + 2 more |
| Mandarin | `zf_xiaoxiao`, `zm_yunxi` + 6 more |

### Example

Ask your agent:

> "Read this paragraph out loud in Brazilian Portuguese with a female voice"

The agent calls `synthesize_speech(text=..., language="pt", voice="pf_dora")` and receives playable WAV audio.

For copy-ready prompts and smoke tests for narration, accessibility, language practice, and agent alerts, see [Agent workflow recipes](examples/agent-workflows.md).

For 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.

For 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.

For 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.

## Authentication & billing

Pass 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)).

## Endpoints

- MCP (Streamable HTTP): `https://api.brainiall.com/mcp/tts/mcp`
- Health: `https://api.brainiall.com/mcp/tts/health`
- Underlying REST API: `POST https://api.brainiall.com/v1/tts/synthesize`

## License

MIT

