Token导航 LogoToken导航TokenDH.com
MCP Pyatv logo
运维云端stdio官方级别未说明来源级核验

MCP Pyatv

MCP Server

mcp-pyatv是一个通过pyatv控制Apple TV、HomePod和AirPlay设备的MCP服务器,可作为MCP客户端与本地网络上的Apple设备之间的桥梁。

工具数

32

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude云端部署Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

crlian

提供方

crlian

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp-pyatv

详细介绍

mcp-pyatv

MCP服务器,用于通过以下方式控制Apple TV、HomePod和AirPlay设备 pyatv.

License: MIT Python 3.11-3.13

______________________________________________________________________

它的作用

这使您可以通过Claude Desktop、Claude Code、Cursor或任何其他兼容MCP的客户端使用自然语言控制您的设备。

此项目不实现任何设备协议。 所有协议级通信均由pyatv处理。mcp-pyatv纯粹是mcp桥接层。

支持设备

  • 苹果电视 --所有世代,包括tvOS 15+
  • HomePod/迷你HomePod
  • AirPort 快线
  • 第三方AirPlay扬声器
  • macOS (音乐/iTunes)

快速开始

安装

pip install mcp-pyatv

或者直接运行而不安装:

uvx mcp-pyatv

Claude桌面配置

将此添加到您的Claude Desktop配置中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "apple-tv": {
      "command": "uvx",
      "args": ["--python", "python3.13", "mcp-pyatv"]
    }
  }
}
注: Claude Desktop可能不会继承shell的PATH。如果收到“找不到命令”错误,请使用完整路径 uvx (奔跑 which uvx 在您的终端中找到它): ``json { "mcpServers": { "apple-tv": { "command": "/Users/you/.local/bin/uvx", "args": ["--python", "python3.13", "mcp-pyatv"] } } } ``

本地开发

如果你已经克隆了仓库,并想从源代码运行:

{
  "mcpServers": {
    "apple-tv": {
      "command": "/path/to/venv/bin/python",
      "args": ["-m", "mcp_pyatv.server"],
      "env": {
        "PYTHONPATH": "/path/to/mcp-pyatv/src"
      }
    }
  }
}

首次使用/配对

第一次使用时,只需说 “配对我的Apple TV” 您的MCP客户。服务器处理其余部分:

  1. 它扫描您的网络并发现设备。
  2. 您的电视屏幕上会显示一个PIN。
  3. 你告诉客户PIN。
  4. 凭据存储在本地,并在会话之间持久。

每个设备只需配对一次。HomePod不需要配对。

可用工具

mcp-pyatv公开了32个按类别组织的工具:

发现

工具说明
scan_devices扫描本地网络以查找Apple TV和AirPlay设备
device_info获取特定设备的详细信息

配对

工具说明
start_pairing使用设备开始配对过程
finish_pairing通过提交屏幕上显示的PIN完成配对

回放

工具说明
play恢复播放
pause暂停播放
play_pause切换播放/暂停
stop停止播放
next_track跳到下一首曲目
previous_track转到上一曲目
skip_forward向前跳几秒钟
skip_backward向后跳几秒钟
set_position寻求一个特定的职位
set_shuffle设置洗牌模式
set_repeat设置重复模式

导航

工具说明
navigate发送远程控制命令——支持 up, down, left, right, select, menu, home, top_menusingle_tap, double_tap,或 hold 行动

音频

工具说明
get_volume获取当前音量水平
set_volume将音量设置为特定级别
volume_up增加音量
volume_down减少音量

应用

工具说明
list_apps列出所有已安装的应用程序
launch_app按名称或捆绑包ID启动应用程序

力量

工具说明
turn_on打开设备
turn_off关闭/使设备进入睡眠状态
power_state检查设备是否打开或关闭

键盘

工具说明
set_text在文本字段(例如搜索框)中键入文本
get_text获取当前文本字段内容
clear_text清除当前文本字段

流媒体

工具说明
play_url将媒体从URL流式传输到设备
stream_file将本地文件流式传输到设备

媒体信息

工具说明
now_playing获取当前正在播放的内容的信息
get_artwork获取当前播放媒体的艺术作品

对话示例

检查正在播放的内容:

“我的Apple TV上正在播放什么?” 服务器调用 scan_devices 找到你的Apple TV,然后 now_playing 以获取当前曲目/节目信息。

启动应用程序:

“打开Netflix” 服务器调用 launch_app 使用Netflix捆绑包ID。

调节音量:

“将音量设置为40” 服务器调用 set_volume 40级。

配对新设备:

“配对我的Apple TV” 服务器调用 scan_devices那么 start_pairing。您的电视上会出现一个PIN。您说“PIN是1234”,服务器就会呼叫 finish_pairing 以完成该过程。

配置

变量描述默认值
MCP_PYATV_STORAGE_PATH覆盖存储配对凭据的文件路径~/.pyatv.conf

默认凭据文件(~/.pyatv.conf)与pyatv共享 atvremote CLI工具。如果您已经使用配对设备 atvremote,mcp-pyatv将自动获取这些凭据。

已知限制

  • play_url 在tvOS 26.x上损坏 --上游pyatv问题(#2821)
  • stop 被一些应用程序忽略 --YouTube和某些其他应用程序不响应停止命令
  • get_artwork 取决于应用程序 --并非所有应用都公开艺术品元数据
  • 需要相同的网络 --您的计算机必须与设备位于同一WiFi网络上
  • set_shuffle / set_repeat --需要活动的音乐播放队列才能工作
  • Python 3.14 --由于pyatv中的异步兼容性问题,目前不支持

建立在

有关协议详细信息、与设备通信相关的错误报告,或为底层库做出贡献,请访问:

许可证

麻省理工学院——见 许可证 了解详情。

目录标签

目录标签

PythonClaude云端部署Apple设备控制本地部署MCP服务器家庭娱乐控制本地网络设备管理自然语言交互

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

32

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP