mcpField
C
Chromecast / DLNA casting (catt)

Chromecast / DLNA casting (catt)

本地服务
github.com游戏娱乐02 周前更新

关于 Chromecast / DLNA casting (catt)

这款 MCP 服务通过 catt 将 YouTube 视频及其他媒体投放到 Chromecast 或 DLNA 设备,并提供播放控制和设备发现。具备所需组件时,还可同步 Firefox 与电视的播放。

主要功能

  1. 01投放 YouTube 视频和媒体网址
  2. 02控制播放、音量和进度
  3. 03发现 Chromecast 和 DLNA 设备
  4. 04投放 Firefox 当前标签页
  5. 05同步电脑与电视的播放

适用场景

  1. 01在电视上播放 YouTube 视频
  2. 02暂停、跳转或调整投放音量
  3. 03查找本地网络中的投放设备
  4. 04将 Firefox 视频播放镜像到电视

MCP 相关

向 MCP 客户端提供 15 个投放、播放控制、同步和设备发现工具。通过 stdio 运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"amineutron-catt": {
"command": "uvx",
"args": [
"catt-mcp"
],
"env": {
"CATT_DEVICE": "<CATT_DEVICE>",
"TV_HOST": "<TV_HOST>",
"ADB_PATH": "<ADB_PATH>"
}
}
}
}
启动命令uvx catt-mcp
需要配置的环境变量
CATT_DEVICEName or IP of the default Chromecast / DLNA device
TV_HOSTOptional Android TV IP, used to wake the screen over ADB before casting
ADB_PATHPath to the adb binary if not on PATH

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicatt-mcp0.3.0

工具

10

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是YouTube URL(youtube.com/watch?v=xxx、youtu.be/xxx)或视频 ID

详细介绍

catt-mcp

tests License: MIT Python 3.10+

通过 catt 将 YouTube 视频和媒体投放到 Chromecast/DLNA 设备的 MCP 服务。

提供 15 个工具,涵盖 YouTube 投放、播放控制、双屏同步和设备发现。

演示

MCP 客户端:15 个工具,然后 cast_scan 找到电视

演示是在真实网络中使用 docs/demo/record.sh 录制的:一个精简的 MCP 客户端(docs/demo/mcp_demo.py)通过标准输入/输出启动服务,并在环境中设置 CATT_DEVICE,列出工具并调用 cast_scan(只读)。私有 IP 地址已替换为文档示例地址。

工具

工具作用
cast_youtube将 YouTube 视频投放到电视(URL 或视频 ID)
cast_url将任意 URL(视频、音频、流)投放到电视
cast_stop停止电视上正在进行的投放
cast_pause暂停正在进行的投放
cast_resume恢复投放播放
cast_volume调节投放音量(0-100)
cast_seek在视频中快进或快退
cast_status返回当前投放状态
cast_scan扫描网络上可用的 Chromecast/DLNA 设备
cast_info返回当前媒体的详细信息
cast_browser将 Firefox 当前活动标签页中的视频投放到电视(YouTube、Twitch 等)
cast_browser_dual同时在电脑(Firefox)和电视上播放视频并同步(适用于 LightBeat)
cast_dual_resync在 Firefox 视频位置重新启动电视,以重新同步电脑和电视
cast_dual_stop停止双路投放和同步监控程序
cast_dual_offset调整电视延迟(正值=电视领先,负值=电视落后)
YouTube ID 提取

_extract_video_id(支持 URL watch?v=、youtu.be/、shorts/ 或 11 个字符的裸 ID;其他任何内容都会在到达 catt/ADB 之前被拒绝)特意与 pylips-mcp(youtube_video,使用 Premium 账号的电视应用)中的实现保持重复。两个服务都可以独立安装;每个服务都会使用相同的用例表测试各自的副本(tests/test_youtube_id.py)。决策记录于 2026-09-20。

要求

  • Python 3.10+
  • catt:pip install catt
  • yt-dlp:pip install yt-dlp
  • 同一网络上的 Chromecast 或兼容 DLNA 的设备
  • lz4(可选,用于缓存压缩):pip install lz4
双路投放(Linux + Hyprland)

cast_browser、cast_browser_dual、cast_dual_resync、cast_dual_stop 和 cast_dual_offset 会通过正在运行的桌面会话控制 Firefox。只有在具备所需 二进制文件时,才会提供这些工具:

  • Hyprland 和 PATH 中的 hyprctl
  • 用于 MPRIS 播放控制的 playerctl
  • 正在播放待镜像视频的 Firefox
  • 用于读取 Firefox 会话缓存的 lz4(Python 包)

如果缺少这些依赖,服务仍会正常启动,只是不提供这五个 工具,而不是等到调用时才失败。

一行安装

uvx catt-mcp                 # depuis PyPI ; avant publication : uvx --from git+https://github.com/amineutron/catt-mcp catt-mcp

Claude Desktop / Claude Code 配置(mcpServers):

{ "catt": { "command": "uvx", "args": ["catt-mcp"], "env": { "CATT_DEVICE": "Living Room TV" } } }

设置

1. 安装依赖
pip install mcp catt yt-dlp
2. 发现设备
catt scan

记下设备名称(例如 55OLED705/12、客厅电视)。

3. 配置

将 config.example.yaml 复制为 config.yaml:

catt:
  device: "55OLED705/12"   # Name from catt scan
4. 运行
catt-mcp                      # installed (pip, uvx) ; `catt-mcp --help` lists the settings
python -m catt_mcp            # same thing, from any environment where the package is installed
python server.py              # from a clone, without installing (thin launcher, code in catt_mcp/)

或使用环境变量:

CATT_DEVICE="55OLED705/12" catt-mcp

代码位于 catt_mcp 包中(catt_mcp/server.py、catt_mcp/sync_watcher.py), 因此可以与其他 MCP 服务一起安装,不会发生模块名称冲突。

双屏工具(dual_cast、dual_resync、dual_offset)通过 ADB 控制电视,需要电视的 IP 地址。使用 TV_HOST(或 config.yaml 中的 tv.host)进行设置,例如 TV_HOST="192.0.2.10";内置默认值只是一个占位符。

Claude 桌面应用配置

{
  "mcpServers": {
    "catt": {
      "command": "python3",
      "args": ["/path/to/catt-mcp/server.py"],
      "env": {
        "CATT_DEVICE": "55OLED705/12"
      }
    }
  }
}

许可证

MIT

Lyra 生态系统的一部分

仓库角色
lyra默认在本地运行的语音 DevOps 助手(AGPL-3.0)
fedora-agentsMCP:KVM 虚拟机和备份
mcp-trackingMCP + API + 长时间运行任务的仪表板
neutroncorehomelab 的 PWA 中心
hue-mcpPhilips Hue MCP(分支自 ThomasRohde/hue-mcp)
pylips-mcpPhilips 电视 MCP
denon-mcpDenon 功放 MCP
catt-mcpChromecast 和 DLNA MCP

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。