Chromecast / DLNA casting (catt) について
catt を使い、YouTube 動画やその他のメディアを Chromecast または DLNA デバイスにキャストする MCP サーバーです。再生操作やデバイス検出に加え、条件が整えば Firefox とテレビの再生同期も行えます。
主な機能
- 01YouTube 動画とメディア URL のキャスト
- 02再生、音量、シークの操作
- 03Chromecast と DLNA デバイスの検出
- 04Firefox のアクティブタブをキャスト
- 05PC とテレビ間の再生同期
活用シーン
- 01テレビで YouTube 動画を再生
- 02一時停止、シーク、音量調整
- 03ローカルネットワーク上のデバイスを検索
- 04Firefox の動画再生をテレビにミラーリング
MCP 対応
MCP クライアントにキャスト、再生操作、同期、デバイス検出の15個のツールを公開します。stdio で動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx catt-mcpCATT_DEVICEName or IP of the default Chromecast / DLNA deviceTV_HOSTOptional Android TV IP, used to wake the screen over ADB before castingADB_PATHPath to the adb binary if not on PATHローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
10掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | YouTube の URL(youtube.com/watch?v=xxx、youtu.be/xxx)または動画 ID |
詳細
catt-mcp
catt を介して YouTube 動画やメディアを Chromecast/DLNA デバイスにキャストする MCP サーバーです。
YouTube のキャスト、再生コントロール、デュアルスクリーン同期、デバイス検出をカバーする 15 個のツールを公開します。
デモ

実際のネットワークで docs/demo/record.sh を使って録画しました。最小構成の MCP クライアント(docs/demo/mcp_demo.py)が環境変数に CATT_DEVICE を設定して stdio 経由でサーバーを起動し、ツールの一覧を表示して 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 | 同期しながら PC(Firefox)とテレビで同時に動画を再生します(LightBeat 用) |
cast_dual_resync | Firefox の再生位置に合わせてテレビを再生し直し、PC とテレビを再同期します |
cast_dual_stop | デュアルキャストと同期監視を停止します |
cast_dual_offset | テレビのずれを調整します(正の値=テレビが先行、負の値=テレビが遅延) |
YouTube ID の抽出
_extract_video_id(URL の watch?v=、youtu.be/、shorts/、または 11 文字の ID のみを受け付け、それ以外は catt/ADB に渡す前に拒否します)は、pylips-mcp(Premium アカウントで利用するテレビアプリの youtube_video)にも意図的に重複して実装されています。どちらのサーバーも単独でインストール可能です。それぞれのサーバーで、同じテストケース一覧を使ってその実装をテストします(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)
これらがなくてもサーバーは通常どおり起動し、呼び出し時に失敗する代わりに、この 5 つのツールを公開しません。
1 行でインストール
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、Living Room TV)。
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 Desktop の設定
{
"mcpServers": {
"catt": {
"command": "python3",
"args": ["/path/to/catt-mcp/server.py"],
"env": {
"CATT_DEVICE": "55OLED705/12"
}
}
}
}
ライセンス
MIT
Lyra エコシステムの一部
| リポジトリ | 役割 |
|---|---|
| lyra | デフォルトでローカル動作する音声対応の DevOps アシスタント(AGPL-3.0) |
| fedora-agents | MCP:KVM 仮想マシンとバックアップ |
| mcp-tracking | MCP + API + 長時間実行タスクのダッシュボード |
| neutroncore | ホームラボの PWA ハブ |
| hue-mcp | Philips Hue 用 MCP(ThomasRohde/hue-mcp のフォーク) |
| pylips-mcp | Philips TV 用 MCP |
| denon-mcp | Denon アンプ用 MCP |
| catt-mcp | Chromecast と DLNA 用 MCP |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。