My TV Channel

com.my-tv-channel由 my-tv-channel.com 發布官方發布者v1.1.0更新於 Oct 24, 2026

Create and run 24/7 linear TV channels. Import videos by URL; we transcode, schedule and stream.

已驗證Streamable HTTP可網頁執行效率與工作流媒體與設計

概覽

AI 產生的概覽

讓助理建立並管理 24/7 線性電視頻道:以 URL 匯入影片、設定排播規則,並追蹤轉檔與上線狀態。

可以做什麼
此伺服器提供 19 個工具,用來在 My TV Channel 上經營串流頻道。助理可以查看帳戶狀態與配額、列出與檢視頻道、檢查頻道代稱是否可用、建立、更新或封存頻道,並從直連媒體 URL 或擁有者自行上傳的 YouTube 影片匯入內容。它也能列出素材、輪詢轉檔進度、調整每支影片的播放頻率、刪除素材、讀取並驗證排播規則、設定固定時段與時段分區、重新產生排播表,以及讀取節目表。
適用情境
適合使用者希望由助理代為架設或維護有排播的線性電視頻道、省去在網頁應用程式手動操作的情況,例如批次匯入影片、調整輪播權重或定義週期性節目規則。也適合用來確認頻道是否已達到上線門檻並正式開播。
執行需求
遠端 streamable HTTP 端點 my-tv-channel.com,不需本機套件。需要任一方案的生效訂閱,以及在帳戶 Agent Access 設定中建立的 bearer API 金鑰,透過 Authorization 標頭傳送。影片必須能透過公開、直連、免驗證的 URL 存取;此介面無法上傳本機檔案。
安裝前請注意
Authorization bearer 權杖是金鑰,可存取帳戶的頻道與配額。多個工具會變更線上狀態:create_channel、update_channel、archive_channel、delete_asset、set_asset_weight、set_schedule_rules 與 regenerate_schedule。set_schedule_rules 會整組取代規則,且需要 Pro 或更高方案;validate_schedule_rules 是試跑。匯入的 URL 由服務端抓取,YouTube 匯入僅限擁有者自行上傳的影片。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 My TV Channel,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.my-tv-channel%2Fmy-tv-channel/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "my-tv-channel": {
      "type": "http",
      "url": "https://my-tv-channel.com/api/mytvchannel/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

工具

19

get_account_status

Get account status

Start here. Returns who the account is, its subscription tier and limits, how much weekly upload/stream quota is used and remaining, and every channel the owner has with its ready-asset count and what it still needs to go live (launchGaps). Call this before creating anything so you know the real limits for THIS account rather than assuming.

無需輸入參數。

list_channels

List channels

List the channels owned by this account.

無需輸入參數。

get_channel

Get channel

Get one channel by id. Includes scheduleStatus (inactive | pending | active | error) — poll this to confirm a channel has gone live — plus watchUrl, launchedAt and isArchived.

輸入參數channel_id必填

check_handle_available

Check handle availability

Check whether a channel handle is free before trying to create it. The handle becomes the subdomain: {handle}.my-tv-channel.com. 3-63 chars, lowercase a-z, 0-9 and hyphens.

輸入參數handle必填

create_channel

Create channel

Create a 24/7 linear TV channel. It will NOT be live yet — a channel goes live automatically once it has at least 4 ready assets AND at least 15 minutes of total content. is_public lists it in Discover and is available on every subscription tier, including Starter.

輸入參數name必填tagshandle必填categorylocationis_publicdescriptionorientationchannel_type必填primary_language

update_channel

Update channel

Update an existing channel: name, description, visibility, category, language, age rating, or the community chat link. Only send the fields you are changing.

輸入參數namecategorykeywordsis_publicchannel_id必填descriptionchat_platformshow_schedulechat_server_idchat_channel_idprimary_languageage_classification另有 1 個

archive_channel

Archive channel

Take a channel off the air and out of every listing. This ARCHIVES rather than destroys: the handle stays reserved and assets and schedule history are retained, so it can be restored. Refuses with 409 while transcodes are still running. Idempotent. This is the reversible way to take a channel down; delete_asset removes individual videos instead.

輸入參數channel_id必填

import_video_from_url

Import video from URL

Add a video to a channel from a direct media URL. THIS IS THE MAIN WAY TO ADD CONTENT over MCP — you cannot upload local file bytes through this interface, so if the owner has local files, ask them to host them somewhere reachable or upload via the app. The URL must be a direct, public, unauthenticated link to mp4/mov/m4v/mpeg/mpg/avi, or a FINITE .m3u8 (VOD, not a live stream) — not a web page, not behind a login, not a YouTube/Vimeo watch page. The server downloads it. Returns immediately; the asset then goes downloading -> pending -> transcoding -> ready. Duration counts against the weekly upload quota. Re-submitting the same URL to the same channel returns the original asset instead of importing twice.

輸入參數url必填tagstitleweightchannel_id必填

import_youtube_video

Import YouTube video

Import a YouTube video that the OWNER UPLOADED THEMSELVES. This will not work for anyone else's video, by design — a channel built from other people's videos is a copyright problem for the owner. Ownership is proved by a tag only the uploader can add: 1. The owner's tag looks like 'MyTVChannelApp#<device-id>'. When the import fails for a missing tag, the 403 error message contains that account's exact tag string. 2. They paste that exact string into the video's description or tags on YouTube. 3. Retry the import. You cannot do step 2 for them and you cannot bypass it. Public finished videos only: no live streams, no private or age-restricted videos, no playlists or channel URLs. Capped at 10 per day. Counts against the same weekly upload quota as everything else.

輸入參數url必填tagstitleweightchannel_id必填

list_assets

List assets

List the videos on a channel.

輸入參數channel_id必填

get_transcode_status

Get transcode status

Poll transcode progress. Give either channel_id (all its videos) or asset_id (one). Each asset reports uploadStatus (downloading -> pending -> transcoding -> ready) and the summary tells you when meetsLaunchRequirements becomes true: 4+ ready assets AND 900+ seconds. Poll every 30-60s; transcoding takes roughly real-time/4.

輸入參數asset_idchannel_id

set_asset_weight

Set asset weight

Change how often a video plays (weight 0-10, default 5; 0 removes it from rotation entirely), and optionally its title or tags. IMPORTANT ORDERING: weights only affect what actually airs when the schedule is (re)generated. A channel builds its schedule the instant it crosses the launch threshold, so weights set AFTER that are stored but do not air. Either set the weight when you import each video, or call regenerate_schedule afterwards. Weights are relative: identical weights across every video produce a uniform rotation, and the spread between them is what shapes airtime.

輸入參數tagstitleweightasset_id必填

delete_asset

Delete asset

Remove a video from a channel. Soft delete — it stops being scheduled immediately and the schedule regenerates automatically. Idempotent. The asset is retained and stops being scheduled; it is not erased. Affects one video — archive_channel takes a whole channel off the air.

輸入參數asset_id必填

retry_transcode

Retry transcode

Re-queue a video whose transcode failed. Only works on assets in a failed state.

輸入參數asset_id必填

regenerate_schedule

Regenerate schedule

Rebuild the channel's schedule now using the current weights. Call this after changing weights on a channel that is ALREADY live, otherwise the change will not air until the hourly cron. Throttled to one call per channel per 5 minutes; exceeding that returns 429 with a Retry-After header giving the seconds remaining. Requires the channel to meet launch requirements.

輸入參數channel_id必填

get_schedule

Get schedule

Read the channel's EPG — what is playing and what is coming up. Note this one returns a plain array of entries (unlike other tools, which return an object).

輸入參數channel_id必填

get_schedule_rules

Get schedule rules

Read the channel's declarative schedule rules (fixed time slots and dayparts), plus its scheduling mode and timezone.

輸入參數channel_id必填

validate_schedule_rules

Validate schedule rules

DRY-RUN a ruleset. Saves nothing. Returns {valid, errors, warnings, preview} where preview is a simulated 24h grid of what would actually air. Intended as the dry run for set_schedule_rules: rules are wall-clock, slots start on-or-after their time, and dayparts reweight the random fill, so the airing result is hard to predict from the rules alone. Unlike set_schedule_rules this is not tier-gated and works on any tier. Same payload as set_schedule_rules.

輸入參數hoursrules必填timezonechannel_id必填

set_schedule_rules

Set schedule rules

Give the channel a durable schedule: fixed slots ("news at 18:00") and dayparts ("no kids content after 22:00"). The scheduler re-honours these on EVERY rebuild, so you set them once instead of babysitting the grid. **Pro tier or higher.** This REPLACES the entire ruleset — send every rule you want, not just new ones. Sending an empty array removes all rules and returns the channel to plain weighted-random. Validate first with validate_schedule_rules. Rule shapes: time_slot {rule_type:'time_slot', start_time:'18:00', end_time?:'21:00', days_mask:127, selector_type:'asset'|'tag'|'playlist', selector_value:<id|tag|[ids]>, priority?:0} daypart_weight {rule_type:'daypart_weight', start_time:'22:00', end_time:'06:00', days_mask:127, selector_type:'asset'|'tag', selector_value:..., weight_multiplier:0-10} days_mask is a bitmask: bit0=Mon … bit6=Sun. 127=daily, 31=Mon-Fri, 96=weekend. end_time on a time_slot makes it a BLOCK that keeps drawing from the selector until that time — that is how you get 'cartoons 06:00-09:00' rather than one cartoon. selector_type 'playlist' with an array of asset ids plays them IN ORDER. weight_multiplier 0 removes matching assets from that window entirely. Set `timezone` (IANA) or the times mean UTC, which is almost never what the owner meant. Slots start ON-OR-AFTER their time: the programme running into a slot is never cut short, so an 18:00 slot may begin at 18:02. That is intended.

輸入參數rules必填timezonechannel_id必填

版本歷史

1
  1. v1.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 83%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。