MCP server that speaks text through the Home Assistant text-to-speech (tts.speak) service.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"homeassistant-tts-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# homeassistant-tts-mcp An [MCP](https://modelcontextprotocol.io) server that speaks text out loud through your **Home Assistant** text-to-speech setup. It wraps the Home Assistant `tts.speak` service so any MCP-capable AI client (Claude Desktop, Claude Code, etc.) can talk through your speakers. ## Tools | Tool | What it does | | --- | --- | | `speak` | Speak a message on a media player via a TTS engine (`tts.speak`). | | `list_media_players` | List `media_player.*` entities you can target. | | `list_tts_engines` | List `tts.*` engines and their supported languages. | | `check_connection` | Verify the URL + token work. | ## Requirements - A running Home Assistant instance with at least one TTS engine (Piper, Google Cloud, ElevenLabs, …) and a media player. - A **long-lived access token**: Home Assistant → Profile → Security → *Long-lived access tokens* → Create token. - [`uv` / `uvx`](https://docs.astral.sh/uv/) to run it (Python 3.10+). ## Configuration The server is configured entirely through environment variables: | Variable | Required | Description | | --- | --- | --- | | `HA_URL` | ✅ | Base URL, e.g. `http://homeassistant.local:8123` | | `HA_TOKEN` | ✅ | Long-lived access token | | `HA_DEFAULT_MEDIA_PLAYER` | | Fallback media player for `speak` | | `HA_DEFAULT_TTS_ENTITY` | | Fallback TTS engine, e.g. `tts.piper` | | `HA_DEFAULT_VOICE` | | Fallback voice, e.g. `en_US-hfc_female-medium` | | `HA_DEFAULT_LANGUAGE` | | Fallback language code, e.g. `en` | | `HA_VERIFY_SSL` | | `false` to skip TLS verification (self-signed certs) | | `HA_TIMEOUT` | | HTTP timeout in seconds (default `30`) | See [`.env.example`](.env.example). ## Run it Once published to PyPI: ```bash uvx homeassistant-tts-mcp ``` The server speaks MCP over **stdio**, so you normally let your MCP client launch it. Example client config: ```json { "mcpServers": { "home-assistant-tts": { "command": "uvx", "args": ["homeassistant-tts-mcp"], "env": { "H…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.