appletv-mcp
Provides full control of an Apple TV over the local network, including remote control, launching apps, typing, power management, and streaming media via AirPlay.
Supports deep linking to Netflix titles and launching the Netflix app on the Apple TV, with a fallback to manual typing for search due to unreliable deep links.
Supports deep linking to Amazon Prime Video titles via JustWatch search and launching the Prime Video app on the Apple TV.
Allows playing any YouTube video by URL or plain search terms, streaming it to the Apple TV via AirPlay, optionally inside the YouTube app.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@appletv-mcpPull up Severance on the living room TV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
appletv-mcp
An MCP server that gives an AI agent full control of an Apple TV over the local network — no remote, no Siri.
Built on pyatv (Companion + AirPlay protocols). A sibling project, appletv-remote, provides the same capabilities as a Claude Code / opencode skill instead of a server.
What it can do
Tool | Capability |
| "Pull up Severance" — JustWatch search → deep link straight into the title (Apple TV+, Disney+, Max, Hulu, Prime, Peacock, …) |
| Play any YouTube video by URL or plain search terms, full-screen via AirPlay (optionally inside the YouTube app) |
| Open any deep link; tvOS routes it to the right app |
| Launch apps by friendly name; list installed apps |
| Full remote: navigation, select, menu, home, play/pause, stop, next/previous, volume, sleep/wake |
| Type into focused on-screen fields (search boxes) |
| What's playing: title, state, position |
| Sleep/wake, including HDMI-CEC TV power |
| Manage paired TVs and the default; discover TVs on the network |
Control tools accept an optional device name to target a non-default
TV (atv_scan, atv_devices, and atv_use are the exceptions — they
apply to the pairing config itself).
Setup
Prerequisite: uv (brew install uv).
Pair once per TV (interactive; the TV shows a 4-digit PIN twice):
uv run python scripts/pair.pyCredentials are stored owner-only in
~/.config/appletv-remote/devices.json(shared with the appletv-remote skill). Keep that file private — it grants full control of the TV.Non-interactive (agent-driven): set
ATV_PIN_FILE=/tmp/atv_pin.txt, runpair.py <name-filter>, and write each PIN to that file.Register the server with your MCP client. Example for opencode (
~/.config/opencode/opencode.json):"mcp": { "appletv": { "type": "local", "command": ["uv", "run", "--directory", "/path/to/appletv-mcp", "python", "server.py"], "enabled": true } }For Claude Code:
claude mcp add appletv -- uv run --directory /path/to/appletv-mcp python server.py
Notes and caveats
pyatv is pinned to an exact commit of an unmerged fork fixing
play_urlon tvOS 26 (PR #2846, issues #2821/#2774). Once merged and released, switch back to stockpyatv.Netflix deep links are unreliable since its Sept 2025 tvOS app update;
atv_watchfalls back gracefully, and you can alwaysatv_launch_app("netflix")+atv_type(...).JustWatch lookups default to US/en; override with
ATV_JW_COUNTRY/ATV_JW_LANGUAGE.YouTube streams are pushed as HLS via AirPlay 2: playback is queued on the TV and continues after the tool returns. URLs expire after ~6h.
A
FetchAttentionState failedwarning at connect time is benign (fork quirk); commands still work.Tested on tvOS 26 (Apple TV 4K gen 3). tvOS 13+ should work.
License
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