
Chromecast / DLNA casting (catt)
io.github.amineutron由 GitHub 帳號 amineutron 發布v0.3.0更新於 Oct 24, 2026
Cast YouTube videos and media to a Chromecast or DLNA device with catt, and control playback.
概覽
讓助理把 YouTube 影片和其他媒體連結投放到 Chromecast 或 DLNA 裝置,並控制播放。
- 可以做什麼
- 把 catt 投放工具包裝成約 15 個 MCP 工具。可以依連結或影片 ID 投放 YouTube 影片、投放任意媒體連結,停止、暫停、繼續、跳轉與調整音量,並查詢投放狀態與媒體資訊。它也能掃描區域網路中的 Chromecast 和 DLNA 裝置;在裝有 Hyprland 的 Linux 桌面上,可把 Firefox 目前分頁的影片鏡像到電視,並支援 PC 與電視同步播放的雙螢幕模式。
- 適用情境
- 適合想用助理在同一網路內的電視或 Chromecast 上開始或控制播放的情境,例如投放 YouTube 連結、暫停或繼續、調整音量。Firefox 鏡像與雙螢幕工具只在執行 Hyprland 和 Firefox 的 Linux 桌面上才有意義。
- 執行需求
- 本機程序,可用 uvx 從 PyPI 套件 catt-mcp 執行,或以 pip 安裝。需要 Python 3.10+、catt 與 yt-dlp 套件,以及同一網路中的 Chromecast 或 DLNA 裝置。用 CATT_DEVICE 指定裝置名稱或 IP;TV_HOST 為選用,用於透過 ADB 喚醒 Android TV;adb 不在 PATH 時用 ADB_PATH。雙螢幕工具還需要 Hyprland 的 hyprctl、playerctl、Firefox 與 lz4。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Chromecast / DLNA casting (catt),將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
catt-mcp
[tests] [License: MIT] [Python 3.10+]
MCP server for casting YouTube videos and media to Chromecast/DLNA devices via catt.
Exposes 15 tools covering YouTube casting, playback control, dual-screen sync, and device discovery.
Demo
[MCP client: the 15 tools, then cast_scan finding the TV]
Recorded on the real network with docs/demo/record.sh: a minimal MCP client (docs/demo/mcp_demo.py) starts the server over stdio with CATT_DEVICE in the environment, lists the tools and calls cast_scan (read-only). Private IP addresses are replaced with documentation addresses.
Tools
YouTube ID extraction
_extract_video_id (URL watch?v=, youtu.be/, shorts/ or a bare 11-character ID, anything else rejected before it reaches catt/ADB) is deliberately duplicated in pylips-mcp (youtube_video, TV app with Premium account). Both servers stay installable on their own; each one tests its copy with the same table of cases (tests/test_youtube_id.py). Decision recorded on 2026-09-20.
Requirements
- Python 3.10+
- catt:
pip install catt - yt-dlp:
pip install yt-dlp - A Chromecast or DLNA-compatible device on the same network
lz4(optional, for cache compression):pip install lz4
Dual cast (Linux + Hyprland)
cast_browser, cast_browser_dual, cast_dual_resync, cast_dual_stop and
cast_dual_offset drive Firefox from the running desktop session. They are
advertised only when the required binaries are present:
- Hyprland with
hyprctlinPATH playerctlfor MPRIS playback control- Firefox holding the video to mirror
lz4(Python) to read Firefox's session cache
Without them the server starts normally and simply does not expose these five tools, instead of failing when they are called.
Installation en une ligne
Configuration Claude Desktop / Claude Code (mcpServers) :
Setup
1. Install dependencies
2. Discover your device
Note the device name (e.g. 55OLED705/12, Living Room TV).
3. Configure
Copy config.example.yaml to config.yaml:
4. Run
Or with environment variable:
The code lives in the catt_mcp package (catt_mcp/server.py, catt_mcp/sync_watcher.py),
so it can be installed next to other MCP servers without module name clashes.
The dual-screen tools (dual_cast, dual_resync, dual_offset) drive the TV through
ADB and need its IP address. Set it with TV_HOST (or tv.host in config.yaml),
for example TV_HOST="192.0.2.10"; the built-in default is only a placeholder.
Claude Desktop Configuration
License
MIT
Part of the Lyra ecosystem
來源:README.md,提交 9709a1e
工具
0版本歷史
2- v0.3.0最新Sep 25, 2026
- v0.2.1Sep 24, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分