mcpserver.lol
registry/my-tv-channel
Connection check verified live · 20h ago

my-tv-channel

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

Tools 19
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

19 tools

Read from the running server on 20h ago.

archive_channel can modify data channel_id*
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 restor…
check_handle_available read-only handle*
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.
create_channel name*tagshandle*categorylocationis_public +4
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…
delete_asset can modify data asset_id*
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 sche…
get_account_status read-only
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-…
get_channel read-only channel_id*
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.
get_schedule read-only channel_id*
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).
get_schedule_rules read-only channel_id*
Read the channel's declarative schedule rules (fixed time slots and dayparts), plus its scheduling mode and timezone.
get_transcode_status read-only asset_idchannel_id
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…
import_video_from_url url*tagstitleweightchannel_id*
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 loca…
import_youtube_video url*tagstitleweightchannel_id*
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…
list_assets read-only channel_id*
List the videos on a channel.
list_channels read-only
List the channels owned by this account.
regenerate_schedule can modify data channel_id*
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…
retry_transcode asset_id*
Re-queue a video whose transcode failed. Only works on assets in a failed state.
set_asset_weight tagstitleweightasset_id*
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 actuall…
set_schedule_rules can modify data rules*timezonechannel_id*
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 on…
update_channel namecategorykeywordsis_publicchannel_id*description +7
Update an existing channel: name, description, visibility, category, language, age rating, or the community chat link. Only send the fields you are changing.
validate_schedule_rules read-only hoursrules*timezonechannel_id*
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_sched…