# text_to_speech

Converts text to speech (v2/v3/flash models). Returns: audio file path. Use when: single speaker narration. Supports v3 with audio tags.

Agent View of the PolicyLayer registry record for `text_to_speech`. HTML page: https://policylayer.com/tools/199-mcp-mcp-elevenlabs/text-to-speech

## Facts

- Tool: `text_to_speech`
- Server: ElevenLabs MCP Enhanced (`199-mcp/mcp-elevenlabs`) — https://policylayer.com/tools/199-mcp-mcp-elevenlabs.md
- Homepage: https://github.com/199-mcp/mcp-elevenlabs
- Risk category: Write (Medium risk)
- Registry record: grade C, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "text_to_speech",
    "arguments": {}
  }
}
```

## Why text_to_speech is rated Medium

This tool generates and writes an audio file to the filesystem. It creates new data (an audio file) as a side effect, which is a Write operation. It does not delete data, execute arbitrary code, or involve financial transactions. Misuse could generate unwanted audio files or consume API quota, hence medium severity.

From the tool's own definition: "Converts text to speech... Returns: audio file path"

## Use case

AI agents use text_to_speech to create or update resources in ElevenLabs MCP Enhanced, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your ElevenLabs MCP Enhanced environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ElevenLabs MCP Enhanced:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "text_to_speech": {
      "limits": [
        {
          "counter": "text_to_speech_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on ElevenLabs MCP Enhanced (28)

- `isolate_audio` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/isolate-audio.md
- `make_outbound_call` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/make-outbound-call.md
- `play_audio` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/play-audio.md
- `speech_to_speech` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/speech-to-speech.md
- `text_to_dialogue` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/text-to-dialogue.md
- `text_to_sound_effects` — Execute — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/text-to-sound-effects.md
- `check_subscription` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/check-subscription.md
- `fetch_v3_tags` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/fetch-v3-tags.md
- `get_agent` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-agent.md
- `get_conversation` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-conversation.md
- `get_conversation_transcript` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-conversation-transcript.md
- `get_v3_audio_tags_guide` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-v3-audio-tags-guide.md
- `get_voice` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-voice.md
- `get_voice_id_by_name` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/get-voice-id-by-name.md
- `list_agents` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/list-agents.md
- `list_conversations` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/list-conversations.md
- `list_models` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/list-models.md
- `list_phone_numbers` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/list-phone-numbers.md
- `search_voice_library` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/search-voice-library.md
- `search_voices` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/search-voices.md
- `speech_to_text` — Read — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/speech-to-text.md
- `add_knowledge_base_to_agent` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/add-knowledge-base-to-agent.md
- `create_agent` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/create-agent.md
- `create_voice_from_preview` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/create-voice-from-preview.md
- `enhance_dialogue` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/enhance-dialogue.md
- `text_to_speech_v3` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/text-to-speech-v3.md
- `text_to_voice` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/text-to-voice.md
- `voice_clone` — Write — https://policylayer.com/tools/199-mcp-mcp-elevenlabs/voice-clone.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=199-mcp-mcp-elevenlabs · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/199-mcp-mcp-elevenlabs
