Skip to main content
Glama

appletv-mcp

로컬 네트워크를 통해 AI 에이전트가 Apple TV를 완전히 제어할 수 있게 해주는 MCP 서버입니다. 리모컨도 Siri도 필요 없습니다.

pyatv(Companion + AirPlay 프로토콜) 기반으로 구축되었습니다. 자매 프로젝트인 appletv-remote는 서버 대신 Claude Code / opencode 스킬 형태로 동일한 기능을 제공합니다.

할 수 있는 작업

도구

기능

atv_watch

"Severance 재생" — JustWatch 검색 → 해당 타이틀로 바로 딥 링크 (Apple TV+, Disney+, Max, Hulu, Prime, Peacock 등)

atv_youtube

URL 또는 일반 검색어로 모든 YouTube 동영상 재생, AirPlay로 전체 화면 재생 (선택적으로 YouTube 앱 내에서)

atv_open_url

모든 딥 링크 열기; tvOS가 적절한 앱으로 라우팅합니다

atv_launch_app / atv_list_apps

친숙한 이름으로 앱 실행; 설치된 앱 목록 표시

atv_remote

전체 리모컨: 탐색, 선택, 메뉴, 홈, 재생/일시정지, 정지, 이전/다음, 볼륨, 절전/깨우기

atv_type

포커스된 화면 입력 필드(검색창)에 텍스트 입력

atv_now_playing

현재 재생 중인 항목: 제목, 상태, 위치

atv_power

절전/깨우기, HDMI-CEC TV 전원 포함

atv_devices / atv_scan / atv_use

페어링된 TV 및 기본 TV 관리; 네트워크에서 TV 검색

제어 도구는 선택적 device 이름을 받아 기본이 아닌 TV를 대상으로 지정할 수 있습니다(atv_scan, atv_devices, atv_use는 예외 — 이들은 페어링 구성 자체에 적용됩니다).

설정

사전 요구 사항: uv (brew install uv).

  1. TV당 한 번 페어링 (대화형; TV에 4자리 PIN이 두 번 표시됩니다):

uv run python scripts/pair.py

자격 증명은 소유자만 읽을 수 있는 ~/.config/appletv-remote/devices.json에 저장됩니다(appletv-remote 스킬과 공유). 이 파일을 비공개로 유지하세요 — TV에 대한 완전한 제어 권한을 부여합니다.

비대화형(에이전트 주도) 방식: ATV_PIN_FILE=/tmp/atv_pin.txt를 설정하고 pair.py <name-filter>를 실행한 후 각 PIN을 해당 파일에 작성합니다.

  1. 서버를 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는 병합되지 않은 포크의 정확한 커밋에 고정되어 있습니다. tvOS 26에서 play_url을 수정하는 버전입니다 (PR #2846, 이슈 #2821/#2774). 병합 및 릴리스되면 기본 pyatv로 되돌리세요.

  • Netflix 딥 링크는 2025년 9월 tvOS 앱 업데이트 이후로 신뢰할 수 없습니다. atv_watch는 정상적으로 대체 동작하며, 언제든지 atv_launch_app("netflix") + atv_type(...)을 사용할 수 있습니다.

  • JustWatch 조회는 기본적으로 미국/영어로 설정됩니다. ATV_JW_COUNTRY / ATV_JW_LANGUAGE로 재정의하세요.

  • YouTube 스트림은 AirPlay 2를 통해 HLS로 푸시됩니다: 재생은 TV에 대기열로 추가되며 도구가 반환된 후에도 계속됩니다. URL은 약 6시간 후 만료됩니다.

  • 연결 시 FetchAttentionState failed 경고는 무해합니다(포크 특성). 명령은 정상 작동합니다.

  • tvOS 26(Apple TV 4K 3세대)에서 테스트되었습니다. tvOS 13+에서 작동해야 합니다.

라이선스

MIT

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all MCP Connectors

Latest Blog Posts

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