appletv-mcp
appletv-mcp
Сервер MCP, который даёт ИИ-агенту полный контроль над Apple TV в локальной сети — без пульта, без Siri.
Построен на pyatv (протоколы Companion + AirPlay). Родственный проект appletv-remote предоставляет те же возможности в виде навыка для Claude Code / opencode, а не сервера.
Что он умеет
Tool | Capability |
| "Включи Severance" — поиск JustWatch → глубокая ссылка прямо на тайтл (Apple TV+, Disney+, Max, Hulu, Prime, Peacock, …) |
| Воспроизводит любое видео YouTube по URL или простым поисковым запросам, полноэкранно через AirPlay (опционально внутри приложения YouTube) |
| Открывает любую глубокую ссылку; tvOS направляет её в нужное приложение |
| Запускает приложения по понятному имени; выводит список установленных приложений |
| Полный пульт: навигация, выбор, меню, домой, воспроизведение/пауза, стоп, следующий/предыдущий, громкость, сон/пробуждение |
| Ввод текста в сфокусированные поля на экране (поисковые строки) |
| Что играет: название, состояние, позиция |
| Сон/пробуждение, включая питание ТВ через HDMI-CEC |
| Управление сопряжёнными ТВ и ТВ по умолчанию; обнаружение ТВ в сети |
Инструменты управления принимают необязательное имя device для выбора нестандартного ТВ (исключения — atv_scan, atv_devices и atv_use; они применяются к самой конфигурации сопряжения).
Настройка
Предварительное требование: uv (brew install uv).
Сопряжение один раз для каждого ТВ (интерактивно; ТВ показывает 4-значный PIN-код дважды):
uv run python scripts/pair.pyУчётные данные хранятся только для владельца в ~/.config/appletv-remote/devices.json (общие с навыком appletv-remote). Держите этот файл в тайне — он даёт полный контроль над ТВ.
Неинтерактивный режим (управляемый агентом): установите ATV_PIN_FILE=/tmp/atv_pin.txt, запустите pair.py <name-filter> и записывайте каждый PIN-код в этот файл.
Зарегистрируйте сервер в вашем MCP-клиенте. Пример для opencode (
~/.config/opencode/opencode.json):
"mcp": {
"appletv": {
"type": "local",
"command": ["uv", "run", "--directory", "/path/to/appletv-mcp", "python", "server.py"],
"enabled": true
}
}Для Claude Code: claude mcp add appletv -- uv run --directory /path/to/appletv-mcp python server.py
Примечания и предостережения
pyatv привязан к точному коммиту необъединённого форка, исправляющему
play_urlна tvOS 26 (PR #2846, issues #2821/#2774). После объединения и релиза вернитесь к стандартномуpyatv.Глубокие ссылки Netflix ненадёжны после обновления приложения tvOS в сентябре 2025;
atv_watchкорректно откатывается, и вы всегда можетеatv_launch_app("netflix")+atv_type(...).Поиск JustWatch по умолчанию использует US/en; переопределите с помощью
ATV_JW_COUNTRY/ATV_JW_LANGUAGE.Потоки YouTube передаются как HLS через AirPlay 2: воспроизведение ставится в очередь на ТВ и продолжается после возврата инструмента. URL-адреса истекают через ~6 часов.
Предупреждение
FetchAttentionState failedпри подключении безвредно (особенность форка); команды продолжают работать.Протестировано на tvOS 26 (Apple TV 4K gen 3). tvOS 13+ должно работать.
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Create and manage short links, track clicks, and automate URL management
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/slandau3/appletv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server