Developers
MCP

MCP Tools

All 59 MCP tools available on the Rad TV API server.

The Rad TV MCP server exposes 59 tools organized by category. Call them via tools/call JSON-RPC.

Raw GraphQL uses Relay connections (first, after, edges, node). MCP list tools may still use limit / start-style arguments; see Pagination for the underlying API shape.

Authentication labels below describe access through the MCP endpoint. A tool description may also note that its underlying GraphQL query is public.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_me",
    "arguments": {}
  }
}

Identity & User

logout

Log out this MCP OAuth session by revoking its access and refresh tokens. The client may still need to disconnect the server to clear its local credential cache.

MCP authentication: Required

Arguments: None

get_me

Get the currently authenticated user (id, username, email, channel). Requires Bearer token.

MCP authentication: Required

Arguments: None

list_followed_channels

List channels the authenticated user follows. Requires Bearer token.

MCP authentication: Required

Arguments: None

Channels

get_channel

Get a single channel by DID. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Channel DID (e.g. did:rad.live:channel/<uuid>)

update_channel

Update your channel's metadata: name, summary, short summary, keywords, categories. Only the fields you pass are changed; omitted fields keep their current values. Omit id to edit your own channel. Read current values with get_channel first. Requires Bearer token.

MCP authentication: Required

Arguments

  • categories (string[], optional) — Category DIDs from list_categories, replacing the current set
  • id (string, optional) — Channel DID; defaults to your own channel
  • keywords (string[], optional) — Keywords, replacing the current set
  • name (string, optional) — Channel name
  • shortSummary (string, optional) — Short channel summary
  • summary (string, optional) — Long-form channel summary

create_channel_asset

Start an upload for channel art — avatar, banner or background. Returns an ingestion session with a TUS endpoint to PUT the file to, the same pattern as create_content_asset. Images only. Omit id to upload to your own channel. Requires Bearer token.

MCP authentication: Required

Arguments

  • filename (string, required) — Original filename, e.g. "banner.png" — the extension sets the type
  • id (string, optional) — Channel DID; defaults to your own channel
  • purpose (string, optional) — What the image is for Accepted values: AVATAR, BANNER, BACKGROUND, THUMBNAIL. Default: AVATAR.
  • size (number, optional) — File size in bytes, if known; enables upload progress

search_channels

Find channels by keyword, matching name and summary. Use this instead of paging through list_channels — the catalog holds tens of thousands of channels. Returns lean rows (DID, name, summary, categories, one thumbnail URL) plus totalCount and nextStart for the following page. Requires Bearer token.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of channels to return (default 25)
  • query (string, required) — Keyword to search for, at least 2 characters, e.g. "skate punk"
  • start (number, optional) — Offset for pagination; pass the nextStart from the previous response

list_channel_content

List a channel's content, newest first, with real pagination. The rad-tv://channels/mine/content resource is capped at the first 50 items and MCP resources take no arguments, so use this tool to reach anything past that. Defaults to the authenticated user's own channel. Returns lean rows plus totalCount and nextStart for the following page. Requires Bearer token.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (e.g. did:rad.live:channel/<uuid>); defaults to your own channel
  • limit (number, optional) — Max number of items to return (default 50, max 100)
  • start (number, optional) — Offset for pagination; pass the nextStart from the previous response

list_channels

List channels as a lean Relay connection with DID, name, summary, category names, and one primary image URL. Requires Bearer token.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of channels to return
  • start (number, optional) — Offset for pagination

Taxonomy

list_categories

List content categories as a lean Relay connection with DID, name, summary, and one primary image URL. Requires Bearer token.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of categories to return
  • start (number, optional) — Offset for pagination

list_ratings

List all content ratings (paginated). For filtering/UI (e.g. MPAA, TV). Public; no auth required.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of ratings to return
  • start (number, optional) — Offset for pagination

list_genres

List all content genres (paginated). For filtering/UI. Public; no auth required.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of genres to return
  • start (number, optional) — Offset for pagination

Content Creation

create_content

Create new content. Requires Bearer token. Returns content id (DID) and lrn.

MCP authentication: Required

Arguments

  • summary (string, optional) — Short summary
  • title (string, optional) — Content title
  • type (string, optional) — Content type Accepted values: FEATURE, LIVE, SERIES, EPISODE, SHORT. Default: FEATURE.

get_content

Fetch a single content item by DID: title, name, summaries, keywords, visibility, playback source, duration, rating, transcode job, and assets. Use it before update_content to read current values, since update_content changes only the fields you pass. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<uuid>, as returned by channel_dashboard)

search_content

Find content by keyword, matching title and summary. Returns lean rows (content DID, title, name, summary, duration, one thumbnail URL) plus totalCount and nextStart for the following page. Field names match update_content, so a result can be edited and written back directly. Requires Bearer token.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max number of items to return (default 25)
  • query (string, required) — Keyword to search for, at least 2 characters, e.g. "downhill session"
  • start (number, optional) — Offset for pagination; pass the nextStart from the previous response

update_content

Update an existing content item. Only the fields you pass are changed; omitted fields keep their current values. Requires Bearer token.

MCP authentication: Required

Arguments

  • containsAds (string, optional) — Ad disclosure hint Accepted values: YES, NO, MAYBE.
  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<uuid>, as returned by channel_dashboard)
  • name (string, optional) — New short title
  • shortSummary (string, optional) — New short summary
  • summary (string, optional) — New long-form summary
  • title (string, optional) — New title

create_content_asset

Create an ingestion session for uploading a file to content. Returns endpoint for TUS upload (POST to endpoint with multipart/form-data). Requires Bearer token.

MCP authentication: Required

Arguments

  • contentId (string, required) — Content DID (e.g. from create_content)
  • filename (string, required) — Original filename
  • hint (string, optional) — Video presentation hint Accepted values: EQUIRECTANGULAR, NONE, PORTRAIT, CUBEMAP, STEREOSCOPIC, OTHER. Default: NONE.
  • size (number, optional) — File size in bytes (optional, auto-detected if omitted)

submit_content_for_processing

Submit content for transcoding. Reuses an existing live job for the same source unless force is set; rejects non-video sources (e.g. thumbnails). Requires Bearer token.

MCP authentication: Required

Arguments

  • assetName (string, required) — Name of the VIDEO source asset in ingestion (e.g. filename from create_content_asset). Thumbnails are separate image assets and cannot be transcoded.
  • contentId (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)
  • enhance (boolean, optional) — Enable AI upscaling and upmixing (requires Creator+ subscription) Default: false.
  • force (boolean, optional) — Create a new transcode job even if a live one already exists for this source (re-transcode) Default: false.
  • layout (string, optional) — Content layout Accepted values: LANDSCAPE, PORTRAIT, VR. Default: LANDSCAPE.

On update_content, containsAds is one of YES, NO, or MAYBE. Pass force to submit_content_for_processing to start a new transcode job even when a live one already exists for the same source (a re-transcode).

AI Tools

These tools require an active Creator+ subscription in addition to a Bearer token.

predict_virality

Score content for viral potential before publishing: returns a virality score, predicted click-through rate, confidence, and actionable recommendations for a title plus optional thumbnail, description, and category. Use it to A/B test titles or thumbnails before calling publish_video. Requires Bearer token and an active Creator+ subscription.

MCP authentication: Required

Arguments

  • categories (string[], optional) — Every category the content is tagged with. Send the full list: the score counts an inferred category as a match against any of them, so multi-tagged content is not told to switch to a category it already has.
  • category (string, optional) — Primary content category (e.g. Technology). Derived from the first entry of categories when omitted.
  • description (string, optional) — Content description or summary.
  • imageUrl (string, optional) — Thumbnail image URL for visual analysis.
  • title (string, required) — Content title to analyze (the primary signal).

Publishing

publish_content

Publish content (set ACL to public, mark as released). Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)
  • releaseDate (string, optional) — Optional ISO 8601 release date (must be in the past). Defaults to now or preserves existing release_date.

unpublish_content

Unpublish content (set ACL to protected, mark as unreleased). Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)

Playlists

create_playlist

Create a new playlist. Optionally associate with a channel by DID. Requires Bearer token.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (optional)
  • summary (string, optional) — Playlist summary
  • title (string, optional) — Playlist title

get_playlist

Read a playlist by DID: metadata plus its items in order, each with its content DID and title. Use this before add_playlist_items or remove_playlist_items to see what is already there. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Playlist DID (e.g. did:rad.live:content/playlist/<id>, or the did:rad.live:playlist/<id> form channel listings return)

add_playlist_items

Append content to an existing playlist, keeping what is already there. Items already in the playlist are skipped rather than duplicated. Returns the playlist as it now stands. Requires Bearer token.

MCP authentication: Required

Arguments

  • contentIds (string[], required) — Content DIDs to append, in the order they should appear
  • id (string, required) — Playlist DID

remove_playlist_items

Remove content from a playlist, leaving the rest in their current order. A DID that is not in the playlist is ignored. Returns the playlist as it now stands. Requires Bearer token.

MCP authentication: Required

Arguments

  • contentIds (string[], required) — Content DIDs to remove
  • id (string, required) — Playlist DID

set_playlist_items

Replace a playlist's contents with exactly this ordered list. Use it to reorder, or to set the whole playlist at once; read it with get_playlist first, since anything omitted is removed. An empty list clears the playlist. Requires Bearer token.

MCP authentication: Required

Arguments

  • contentIds (string[], required) — The complete ordered list of content DIDs the playlist should contain
  • id (string, required) — Playlist DID

update_playlist

Update an existing playlist metadata. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Playlist DID (e.g. did:rad.live:content/playlist/<id>)
  • summary (string, optional) — Playlist summary
  • title (string, optional) — Playlist title

create_playlist_asset

Create an ingestion session for uploading an image to a playlist. Returns TUS upload endpoint. Requires Bearer token.

MCP authentication: Required

Arguments

  • filename (string, required) — Original filename
  • playlistId (string, required) — Playlist DID (e.g. did:rad.live:content/playlist/<id>)
  • size (number, optional) — File size in bytes

delete_playlist

Remove a playlist owned by the authenticated creator from normal visibility. Support can recover it; confirmId must exactly match id.

MCP authentication: Required

Arguments

  • confirmId (string, required) — Repeat the exact playlist DID to confirm removal
  • id (string, required) — Playlist DID to delete

Engagement

follow_channel

Follow a channel by its DID. Requires Bearer token.

MCP authentication: Required

Arguments

  • channel (string, required) — Channel DID (e.g. did:rad.live:channel/<uuid>)

unfollow_channel

Unfollow a channel by its DID. Requires Bearer token.

MCP authentication: Required

Arguments

  • channel (string, required) — Channel DID (e.g. did:rad.live:channel/<uuid>)

like_content

Like a piece of content by DID. Idempotent. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)

unlike_content

Remove like from content by DID. Idempotent. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)

create_comment

Create a comment on content. Requires Bearer token.

MCP authentication: Required

Arguments

  • body (string, required) — Comment text (non-empty)
  • contentId (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)

delete_comment

Permanently delete a comment authored by the authenticated user. This cannot be undone; confirmId must exactly match id.

MCP authentication: Required

Arguments

  • confirmId (string, required) — Repeat the exact comment ID to confirm permanent deletion
  • id (string, required) — Comment ID to delete

list_comments

List comments for content by content DID. Requires Bearer token.

MCP authentication: Required

Arguments

  • contentId (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)
  • limit (number, optional) — Max comments to return
  • start (number, optional) — Offset for pagination

YouTube

list_youtube_videos

List the authenticated user's YouTube videos. Requires connected YouTube account and Bearer token.

MCP authentication: Required

Arguments

  • limit (number, optional) — Max results (default 12)
  • pageToken (string, optional) — YouTube API page token for pagination

get_youtube_publish_job

Get status of a YouTube publish job by ID. Requires Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Publish job ID (from publish_content_to_youtube)

create_youtube_reference

Create an external YouTube reference. Copies metadata and a thumbnail, but does not copy source media, transcode it, or create Rad-hosted playback. Requires a connected YouTube account and Bearer token.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID to associate (optional)
  • videoId (string, required) — YouTube video ID (e.g. from list_youtube_videos or URL)

create_content_from_youtube

Legacy alias for create_youtube_reference. Creates an external reference from metadata and a thumbnail; it does not copy source media or create Rad-hosted playback.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID to associate (optional)
  • videoId (string, required) — YouTube video ID (e.g. from list_youtube_videos or URL)

publish_content_to_youtube

Publish a Rad TV video to YouTube. Returns a job ID; poll with get_youtube_publish_job. Requires connected YouTube account and Bearer token.

MCP authentication: Required

Arguments

  • id (string, required) — Content DID (e.g. did:rad.live:content/feature/<id>)
  • privacyStatus (string, optional) — YouTube privacy status Accepted values: PUBLIC, UNLISTED, PRIVATE. Default: PRIVATE.

Creator Analytics

Read-only analytics for the authenticated creator's own channel. Each tool forwards your Bearer token to the analytics service, which scopes every response to your channel via the token's identity — there is no cross-channel access.

Analytics data is production-only. On api-staging.rad.live these tools return correctly-shaped but zeroed responses.

get_creator_analytics_overview

Headline analytics for the authenticated creator's channel: views, watch minutes, unique viewers, subscribers, and deltas vs the prior period. Requires Bearer token.

MCP authentication: Required

Arguments

  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

get_creator_analytics_audience

Audience breakdown for the authenticated creator's channel by country and device. Requires Bearer token.

MCP authentication: Required

Arguments

  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

get_creator_analytics_timeseries

Timeseries of a chosen metric for the authenticated creator's channel at a chosen granularity. Requires Bearer token.

MCP authentication: Required

Arguments

  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • granularity (string, optional) — Bucket size (default DAY) Accepted values: DAY, WEEK, MONTH. Default: DAY.
  • metric (string, optional) — Metric to chart (default VIEWS) Accepted values: VIEWS, WATCH_MINUTES, UNIQUE_VIEWERS, CHANNEL_SUBSCRIBERS, NEW_CHANNEL_SUBSCRIBERS. Default: VIEWS.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

get_creator_analytics_subscribers

Subscriber growth, recency buckets, and per-country split for the authenticated creator's channel. Requires Bearer token.

MCP authentication: Required

Arguments

  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

list_creator_analytics_videos

Paginated per-video analytics for the authenticated creator's channel, sorted by the chosen metric. Requires Bearer token.

MCP authentication: Required

Arguments

  • after (string, optional) — Pagination cursor from a previous response
  • first (number, optional) — Max videos to return (default 50)
  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • sort (string, optional) — Sort key (default VIEWS) Accepted values: VIEWS, WATCH_MINUTES, UNIQUE_VIEWERS, LIKES, COMMENTS, RELEASE_DATE. Default: VIEWS.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

get_creator_analytics_video

Per-video analytics deep-dive (daily views/watch, country/device breakdowns, engagement). Requires Bearer token.

MCP authentication: Required

Arguments

  • contentLrn (string, required) — Full content LRN, e.g. lrn:12core:media:content:feature:<uuid>
  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.

list_creator_analytics_comments

Inbox feed of comments on the authenticated creator's content (paginated, newest first). Requires Bearer token.

MCP authentication: Required

Arguments

  • after (string, optional) — Pagination cursor from a previous response
  • first (number, optional) — Max comments to return (default 25)

creator_analytics_dashboard

One-call analytics dashboard for the authenticated creator's channel: overview KPIs, audience breakdown, and top videos. Requires Bearer token.

MCP authentication: Required

Arguments

  • from (string, optional) — Start date (ISO 8601, e.g. 2025-01-01). Used with range=CUSTOM.
  • range (string, optional) — Preset window (default LAST_30D). Use CUSTOM with from/to. Accepted values: LAST_7D, LAST_28D, LAST_30D, LAST_90D, MTD, YTD, CUSTOM.
  • to (string, optional) — End date (ISO 8601). Used with range=CUSTOM.
  • topVideos (number, optional) — Number of top videos to include (default 10) Default: 10.

range accepts LAST_7D, LAST_28D, LAST_30D (default), LAST_90D, MTD, YTD, or CUSTOM (pair with from/to). metric is one of VIEWS, WATCH_MINUTES, UNIQUE_VIEWERS, CHANNEL_SUBSCRIBERS, NEW_CHANNEL_SUBSCRIBERS.

Compound Workflows

These tools combine multiple operations for agent convenience. See Agent Workflows for detailed guides.

publish_video

Publish a video to Rad TV. Two modes: 1. With sourceUrl: Server downloads and processes the video entirely server-side (single call, fully automatic). 2. Without sourceUrl: Creates content and returns upload endpoint + curl command. Run the curl command — the server automatically submits for processing and publishes after upload completes (no separate finalize call needed). Thumbnail support: Use thumbnailUrl for server-side download (works in both modes), or thumbnailFilename for local file upload (Mode 2 only — returns a separate curl command). IMPORTANT: Always determine and include size (video) and thumbnailSize (thumbnail) in bytes when uploading local files. Use filesystem stat or equivalent to get file sizes before calling this tool. Uploads without size may produce corrupted files.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (optional, defaults to primary channel)
  • enhance (boolean, optional) — Enable AI upscaling/upmixing (Creator+ only) Default: false.
  • filename (string, optional) — Filename (required if no sourceUrl)
  • idempotencyKey (string, required) — Stable creator-scoped key for this operation and every retry. Reusing it with different input fails.
  • layout (string, optional) — Content layout Accepted values: LANDSCAPE, PORTRAIT, VR. Default: LANDSCAPE.
  • publish (boolean, optional) — Make the content publicly visible when the upload finishes. Defaults to true, since this call names a single item and unpublish_content reverses it. Pass false to keep it as a draft. Default: true.
  • releaseDate (string, optional) — Optional ISO 8601 release date (must be in the past). Defaults to now.
  • size (number, optional) — File size in bytes. Required for local file uploads — get this from filesystem stat before calling.
  • sourceUrl (string, optional) — URL to download video from (enables single-call mode)
  • summary (string, optional) — Video description
  • thumbnailFilename (string, optional) — Local thumbnail filename for upload. Returns a separate curl command for the thumbnail.
  • thumbnailSize (number, optional) — Thumbnail file size in bytes. Required when thumbnailFilename is provided — get this from filesystem stat before calling.
  • thumbnailUrl (string, optional) — URL of thumbnail image. Server downloads and attaches automatically.
  • title (string, required) — Video title
  • videoHint (string, optional) — Video presentation hint Accepted values: NONE, EQUIRECTANGULAR, PORTRAIT, SQUARE, CUBEMAP, STEREOSCOPIC. Default: NONE.

finalize_content_upload

Fallback: manually complete video publishing after file upload. Usually not needed — publish_video now auto-finalizes after upload. Use this only if auto-finalize failed or you need to override layout/enhance/publish settings.

MCP authentication: Required

Arguments

  • contentId (string, required) — Content DID from publish_video result
  • enhance (boolean, optional) — Enable AI upscaling/upmixing (Creator+ only) Default: false.
  • layout (string, optional) — Content layout Accepted values: LANDSCAPE, PORTRAIT, VR. Default: LANDSCAPE.
  • publish (boolean, optional) — Make the content publicly visible when the upload finishes. Defaults to true, since this call names a single item and unpublish_content reverses it. Pass false to keep it as a draft. Default: true.
  • releaseDate (string, optional) — Optional ISO 8601 release date (must be in the past). Defaults to now.

import_youtube_and_publish

Legacy compatibility workflow. Creates an external YouTube reference, then attempts Rad publication. It does not copy or transcode source media. The required idempotencyKey makes matching retries return the original result instead of creating another content object.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (optional)
  • idempotencyKey (string, required) — Stable creator-scoped key for this operation and every retry. Reusing it with different input fails.
  • publish (boolean, optional) — Make the content publicly visible when the upload finishes. Defaults to true, since this call names a single item and unpublish_content reverses it. Pass false to keep it as a draft. Default: true.
  • videoId (string, required) — YouTube video ID

create_playlist_with_items

Create a playlist and populate it with content items in one call.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (optional)
  • contentIds (string[], optional) — Array of content DIDs to add
  • summary (string, optional) — Playlist description
  • title (string, required) — Playlist title

verify_connection

Agent "hello world" — verify auth, get user info, channel, subscription plan, permissions, and YouTube connection status. Call this first to confirm your API key works.

MCP authentication: Required

Arguments: None

channel_dashboard

Get a channel overview: channel info, the most recent content with transcode status, and playlists. Returns 10 content items by default, not the whole catalog; check hasMoreContent and raise contentLimit if you need more. Defaults to the authenticated user's channel.

MCP authentication: Required

Arguments

  • channel (string, optional) — Channel DID (optional, defaults to your channel)
  • contentLimit (number, optional) — How many recent content items to return. Defaults to 10, capped at 100.

import_youtube_library

Create or resume a durable synchronization of external references from the connected YouTube library. It does not copy or transcode source media.

MCP authentication: Required

Arguments

  • autoPublish (boolean, optional) — Make synchronized external references publicly visible. Playback remains hosted by YouTube. Default: false.
  • batchId (string, optional) — Batch ID returned by an earlier call; resumes its next or failed page
  • channel (string, optional) — Channel DID (optional)
  • maxResults (number, optional) — Videos to inspect in this page (default 12, maximum 50) Default: 12.
  • pageToken (string, optional) — YouTube page token when starting at a specific page
  • publishedAfter (string, optional) — ISO date — only reference videos published after this date

get_workflow_operation

Read a durable creator workflow by operation ID. Returns its current stage, stage history, verified result or safe failure, expiry, and next supported action.

MCP authentication: Required

Arguments

  • operationId (string, required) — Opaque operation ID returned by publish_video or import_youtube_and_publish

wait_for_processing

Wait for video transcoding to complete. Polls server-side until the transcode job finishes, fails, or times out. Returns final job status.

MCP authentication: Required

Arguments

  • contentId (string, required) — Content DID to wait for
  • timeoutSeconds (number, optional) — Max seconds to wait (default 300) Default: 300.

get_processing_status

Get current transcode job status without waiting. Returns status, progress, and job details immediately (non-blocking). Use this to check progress before deciding whether to call wait_for_processing.

MCP authentication: Required

Arguments

  • contentId (string, required) — Content DID to check

The full machine-readable tool listing is always available at GET https://api.rad.live/llms.txt.