mcpField
C
Chromecast / DLNA casting (catt)

Chromecast / DLNA casting (catt)

ローカル
github.comゲーム・エンタメ02 週間前に更新

Chromecast / DLNA casting (catt) について

catt を使い、YouTube 動画やその他のメディアを Chromecast または DLNA デバイスにキャストする MCP サーバーです。再生操作やデバイス検出に加え、条件が整えば Firefox とテレビの再生同期も行えます。

主な機能

  1. 01YouTube 動画とメディア URL のキャスト
  2. 02再生、音量、シークの操作
  3. 03Chromecast と DLNA デバイスの検出
  4. 04Firefox のアクティブタブをキャスト
  5. 05PC とテレビ間の再生同期

活用シーン

  1. 01テレビで YouTube 動画を再生
  2. 02一時停止、シーク、音量調整
  3. 03ローカルネットワーク上のデバイスを検索
  4. 04Firefox の動画再生をテレビにミラーリング

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 サーバーです。

YouTube のキャスト、再生コントロール、デュアルスクリーン同期、デバイス検出をカバーする 15 個のツールを公開します。

デモ

MCP クライアント:15 個のツールと、テレビを検出する cast_scan

実際のネットワークで docs/demo/record.sh を使って録画しました。最小構成の MCP クライアント(docs/demo/mcp_demo.py)が環境変数に CATT_DEVICE を設定して stdio 経由でサーバーを起動し、ツールの一覧を表示して cast_scan を呼び出します(読み取り専用)。プライベート IP アドレスはドキュメント用のアドレスに置き換えています。

ツール

ツール役割
cast_youtubeYouTube 動画をテレビにキャストします(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_browserFirefox のアクティブなタブの動画(YouTube、Twitch など)をテレビにキャストします
cast_browser_dual同期しながら PC(Firefox)とテレビで同時に動画を再生します(LightBeat 用)
cast_dual_resyncFirefox の再生位置に合わせてテレビを再生し直し、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-agentsMCP:KVM 仮想マシンとバックアップ
mcp-trackingMCP + API + 長時間実行タスクのダッシュボード
neutroncoreホームラボの PWA ハブ
hue-mcpPhilips Hue 用 MCP(ThomasRohde/hue-mcp のフォーク)
pylips-mcpPhilips TV 用 MCP
denon-mcpDenon アンプ用 MCP
catt-mcpChromecast と DLNA 用 MCP

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。