{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fywf3uhnypuv","handle":"my-tv-channel","url":"https://wellknown.network/agents/my-tv-channel","links":{"self":"https://wellknown.network/agents/my-tv-channel/record.json","html":"https://wellknown.network/agents/my-tv-channel","markdown":"https://wellknown.network/agents/my-tv-channel/record.md","api":"https://wellknown.network/api/v1/agents/my-tv-channel","status":"https://wellknown.network/api/v1/agents/my-tv-channel/status","claim":"https://wellknown.network/agents/my-tv-channel/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/my-tv-channel/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:my-tv-channel.com:server:my-tv-channel","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"My TV Channel","summary":"Create and run 24/7 linear TV channels. Import videos by URL; we transcode, schedule and stream.","description":"Create and run 24/7 linear TV channels. Import videos by URL; we transcode, schedule and stream.","publisher":{"name":"com.my-tv-channel","url":null},"homepage":"https://my-tv-channel.com","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://my-tv-channel.com/api/mytvchannel/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-11T21:11:05.3057Z","publishedAt":"2026-08-11T21:11:05.3057Z","registryName":"com.my-tv-channel/my-tv-channel"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.chat","name":"Team Chat","confidence":1,"provenance":"derived"},{"slug":"media.video-editing","name":"Video Editing","confidence":0.964,"provenance":"derived"},{"slug":"dev.project-management","name":"Project Management","confidence":0.885,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.554,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"}],"categories":["automation","communication","dev","media","productivity"]},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-09-05T22:25:47.925Z","lastProbedAt":"2026-09-05T22:25:47.925Z","statusComputedAt":"2026-09-05T22:26:42.544Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":14},"latestObservations":[{"at":"2026-09-05T22:25:47.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"get_account_status","description":"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"},{"name":"list_channels","description":"List the channels owned by this account."},{"name":"get_channel","description":"Get one channel by id. Includes scheduleStatus (inactive | pending | active | error) — poll this to confirm a channel has gone live — plus watchUrl, launchedAt "},{"name":"check_handle_available","description":"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 "},{"name":"create_channel","description":"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 tota"},{"name":"update_channel","description":"Update an existing channel: name, description, visibility, category, language, age rating, or the community chat link. Only send the fields you are changing."},{"name":"archive_channel","description":"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,"},{"name":"import_video_from_url","description":"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 i"},{"name":"import_youtube_video","description":"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"},{"name":"list_assets","description":"List the videos on a channel."},{"name":"get_transcode_status","description":"Poll transcode progress. Give either channel_id (all its videos) or asset_id (one). Each asset reports uploadStatus (downloading -> pending -> transcoding -> re"},{"name":"set_asset_weight","description":"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"},{"name":"delete_asset","description":"Remove a video from a channel. Soft delete — it stops being scheduled immediately and the schedule regenerates automatically. Idempotent. The asset is retained "},{"name":"retry_transcode","description":"Re-queue a video whose transcode failed. Only works on assets in a failed state."},{"name":"regenerate_schedule","description":"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 "},{"name":"get_schedule","description":"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)."},{"name":"get_schedule_rules","description":"Read the channel's declarative schedule rules (fixed time slots and dayparts), plus its scheduling mode and timezone."},{"name":"validate_schedule_rules","description":"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 d"},{"name":"set_schedule_rules","description":"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"}],"toolCount":19,"serverName":"my-tv-channel","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_account_status","description":"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"},{"name":"list_channels","description":"List the channels owned by this account."},{"name":"get_channel","description":"Get one channel by id. Includes scheduleStatus (inactive | pending | active | error) — poll this to confirm a channel has gone live — plus watchUrl, launchedAt "},{"name":"check_handle_available","description":"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 "},{"name":"create_channel","description":"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 tota"},{"name":"update_channel","description":"Update an existing channel: name, description, visibility, category, language, age rating, or the community chat link. Only send the fields you are changing."},{"name":"archive_channel","description":"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,"},{"name":"import_video_from_url","description":"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 i"},{"name":"import_youtube_video","description":"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"},{"name":"list_assets","description":"List the videos on a channel."},{"name":"get_transcode_status","description":"Poll transcode progress. Give either channel_id (all its videos) or asset_id (one). Each asset reports uploadStatus (downloading -> pending -> transcoding -> re"},{"name":"set_asset_weight","description":"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"},{"name":"delete_asset","description":"Remove a video from a channel. Soft delete — it stops being scheduled immediately and the schedule regenerates automatically. Idempotent. The asset is retained "},{"name":"retry_transcode","description":"Re-queue a video whose transcode failed. Only works on assets in a failed state."},{"name":"regenerate_schedule","description":"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 "},{"name":"get_schedule","description":"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)."},{"name":"get_schedule_rules","description":"Read the channel's declarative schedule rules (fixed time slots and dayparts), plus its scheduling mode and timezone."},{"name":"validate_schedule_rules","description":"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 d"},{"name":"set_schedule_rules","description":"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"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.my-tv-channel/my-tv-channel","url":"https://registry.modelcontextprotocol.io/v0/servers/com.my-tv-channel%2Fmy-tv-channel","firstSeenAt":"2026-09-05T20:18:52.258Z","fetchedAt":"2026-09-05T20:18:52.258Z","normalizedAt":"2026-09-05T20:18:52.258Z"}]},"firstSeenAt":"2026-09-05T20:18:52.258Z","updatedAt":"2026-09-05T22:26:51.668Z"}