Tvpilot

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 3, 2026

Android TV 遙控器:列出裝置、傳送按鍵、啟動應用、播放內容並觀察螢幕。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Android TV remote: list devices, send keys, launch apps, play titles, and observe the screen.

已驗證STDIO僅桌面

概覽

Tvpilot 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Tvpilot,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

tvpilot

tvpilot controls a paired Android TV or Google TV: it lists the paired device, sends remote key events, launches apps and intents, resolves a spoken-style title to the right streaming provider and plays it, and reads back what is on the screen. One binary serves a command-line interface and a stdio MCP server.

Calls go through the TVWizard relay, which forwards them over a WebSocket to the bridge app running on the TV, so no same-network, VPN, or port-forwarding setup is needed. Pairing is done once in the bridge app: it shows a code, you claim it, and you receive a bearer token for your TV.

Configuration

Two environment variables configure the tool:

  • TVWIZARD_TOKEN (required) — the bearer token issued when you paired your TV. Without it every call fails with an error naming the variable; there are no unauthenticated or fake results.
  • TVWIZARD_MCP_URL (optional) — the relay endpoint. It defaults to https://tv.djwizard.ai/api/mcp. Note: the public TVWizard documentation describes the relay architecture and its bearer auth but does not publish the relay's raw HTTP path, so this default endpoint is a documented reconstruction; override it if the relay publishes a different path.

Install

bash
npx @reneturcios/tvpilot devices

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/tvpilot

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

bash
tvpilot devicestvpilot key POWERtvpilot launch https://www.youtube.com/watch?v=jNQXAC9IVRw --package com.google.android.youtube.tvtvpilot appstvpilot play Stranger Things --country US --season 2 --episode 3 --year 2016 --provider netflixtvpilot observe
tvpilot --version

Commands print the relay's JSON payload. Exit codes: 0 on success, 1 when a call fails (including a missing token or an upstream relay error), 2 for usage errors.

Keys for tvpilot key are POWER, HOME, UP, DOWN, LEFT, RIGHT, OK, BACK, VOL_UP, and VOL_DOWN. Providers for --provider are netflix, disney_plus, prime_video, max, hulu, apple_tv_plus, paramount_plus, peacock, fubo_tv, youtube, and stremio.

tvpilot observe needs the Android AccessibilityService granted to the bridge app. The first call without it returns an accessibility_not_granted error explaining that a setup prompt was posted on the TV; tap it, then retry.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/tvpilot mcp

MCP client configuration:

json
{  "mcpServers": {    "tvpilot": {      "command": "npx",      "args": ["-y", "@reneturcios/tvpilot", "mcp"],      "env": { "TVWIZARD_TOKEN": "<your token>" }    }  }}

Tools

ToolInputWhat it returns
tv.list_devices(none)The TVs paired with the caller's token, each with an id and online flag.
tv.send_keykey (required)Sends one key event: one of the ten keys listed above.
tv.launch_appdata (required), package (optional)Opens an Intent URI, deep link, or URL, optionally in a named package.
tv.list_apps(none)Installed apps with package, label, and a leanback flag for TV launchers.
tv.play_titletitle (required); country, season, episode, year, provider (optional)Resolves the title to a provider deep link and plays it.
tv.observe(none)Foreground package/activity, the focused element, and visible clickable nodes.

Upstream failures — a title that cannot be found, no provider for the title in the chosen country, a relay with its resolver disabled, or accessibility not yet granted — are returned as error results carrying the relay's own message.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

來源:README.md,提交 c8a3447

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Nov 3, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分