{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_u9uwdmcg7x25","handle":"homeassistant-tts-mcp","url":"https://wellknown.network/agents/homeassistant-tts-mcp","links":{"self":"https://wellknown.network/agents/homeassistant-tts-mcp/record.json","html":"https://wellknown.network/agents/homeassistant-tts-mcp","markdown":"https://wellknown.network/agents/homeassistant-tts-mcp/record.md","api":"https://wellknown.network/api/v1/agents/homeassistant-tts-mcp","status":"https://wellknown.network/api/v1/agents/homeassistant-tts-mcp/status","claim":"https://wellknown.network/agents/homeassistant-tts-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/homeassistant-tts-mcp/claim.json","badge":"https://wellknown.network/agents/homeassistant-tts-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/homeassistant-tts-mcp/history","tools":"https://wellknown.network/api/v1/agents/homeassistant-tts-mcp/tools"},"ard":{"identifier":"urn:air::server:homeassistant-tts-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"homeassistant-tts-mcp","summary":"MCP server that speaks text through the Home Assistant text-to-speech (tts.speak) service.","description":"# homeassistant-tts-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that speaks text out loud\nthrough your **Home Assistant** text-to-speech setup. It wraps the Home\nAssistant `tts.speak` service so any MCP-capable AI client (Claude Desktop,\nClaude Code, etc.) can talk through your speakers.\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `speak` | Speak a message on a media player via a TTS engine (`tts.speak`). |\n| `list_media_players` | List `media_player.*` entities you can target. |\n| `list_tts_engines` | List `tts.*` engines and their supported languages. |\n| `check_connection` | Verify the URL + token work. |\n\n## Requirements\n\n- A running Home Assistant instance with at least one TTS engine (Piper, Google\n  Cloud, ElevenLabs, …) and a media player.\n- A **long-lived access token**: Home Assistant → Profile → Security →\n  *Long-lived access tokens* → Create token.\n- [`uv` / `uvx`](https://docs.astral.sh/uv/) to run it (Python 3.10+).\n\n## Configuration\n\nThe server is configured entirely through environment variables:\n\n| Variable | Required | Description |\n| --- | --- | --- |\n| `HA_URL` | ✅ | Base URL, e.g. `http://homeassistant.local:8123` |\n| `HA_TOKEN` | ✅ | Long-lived access token |\n| `HA_DEFAULT_MEDIA_PLAYER` | | Fallback media player for `speak` |\n| `HA_DEFAULT_TTS_ENTITY` | | Fallback TTS engine, e.g. `tts.piper` |\n| `HA_DEFAULT_VOICE` | | Fallback voice, e.g. `en_US-hfc_female-medium` |\n| `HA_DEFAULT_LANGUAGE` | | Fallback language code, e.g. `en` |\n| `HA_VERIFY_SSL` | | `false` to skip TLS verification (self-signed certs) |\n| `HA_TIMEOUT` | | HTTP timeout in seconds (default `30`) |\n\nSee [`.env.example`](.env.example).\n\n## Run it\n\nOnce published to PyPI:\n\n```bash\nuvx homeassistant-tts-mcp\n```\n\nThe server speaks MCP over **stdio**, so you normally let your MCP client launch\nit. Example client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"home-assistant-tts\": {\n      \"command\": \"uvx\",\n      \"args\": [\"homeassistant-tts-mcp\"],\n      \"env\": {\n        \"H…","publisher":null,"homepage":"https://github.com/eitanhadar/homeassistant-tts-mcp","repository":"https://github.com/eitanhadar/homeassistant-tts-mcp","version":"0.1.1","license":"MIT","protocols":["mcp"],"tags":["home-assistant","homeassistant","mcp","text-to-speech","tts","voice"],"pricing":null,"endpoints":[{"url":"pypi:homeassistant-tts-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":1,"provenance":"declared"},{"slug":"infra.devices","name":"Devices & IoT","confidence":1,"provenance":"derived"}],"categories":["infra","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"homeassistant-tts-mcp","registry":"pypi","observedAt":"2026-10-22T00:28:37.153Z","publishedAt":"2026-06-11T05:21:52.942433Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"homeassistant-tts-mcp","url":"https://pypi.org/project/homeassistant-tts-mcp/","firstSeenAt":"2026-09-09T17:21:17.210Z","fetchedAt":"2026-10-22T00:27:18.956Z","normalizedAt":"2026-10-22T00:27:18.956Z"}]},"firstSeenAt":"2026-09-09T17:21:17.210Z","updatedAt":"2026-10-22T00:28:37.153Z"}