MCP Server

Tools

Catalogue of MCP tools the C21 Live Control server advertises.

The C21 Live Control MCP server exposes two layers of tools:

  • Business-workflow tools — a small curated set named in snake_case. Each one wraps a complete operator-facing workflow (rather than a single REST verb) and is always advertised by the server, independently of the profile.
  • CRUD wrappers — autogenerated tools, one per public REST operation. Their names are the operation's OpenAPI operationId verbatim (camelCase). Which subset is advertised on connect depends on the active profile (voice / readonly / operator / full — see MCP server).

A business-workflow tool may call into one or more REST operations internally; the client only sees the curated name. The two layers coexist on the same connection — a voice client sees both.

Business-workflow tools (snake_case)

Four tools, always exposed, named in operator language rather than after API verbs:

ToolWorkflow
start_livestreamStart a Live stream end-to-end.
stop_livestreamStop a Live stream end-to-end.
toggle_destinationToggle a bound Destination's primary / backup path on a running Live stream.
update_destination_stream_keyRotate the stream key of a bound Destination.

These are the operator-facing surface the voice profile is built around. They are advertised on every profile, including readonly (the readonly profile blocks mutating REST operations, but the curated workflows above remain visible — clients are expected not to invoke the mutating ones in observation contexts).

CRUD wrappers (camelCase operationId)

The rest of the tool catalogue is generated from the OpenAPI spec — one tool per operation, named after the operationId literally. Examples:

ToolUnderlying operation
getAllLivestreamsGET /c21apiv2/livestreams
getLivestreamByIdGET /c21apiv2/livestreams/{livestreamId}
startLivestreamPOST /c21apiv2/livestreams/{livestreamId}/start
stopLivestreamPOST /c21apiv2/livestreams/{livestreamId}/stop
runtimeApplyLogoPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/logo
runtimeApplyBlackoutPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/blackout
runtimeTogglePublishingsPOST /c21apiv2/livestreams/{livestreamId}/runtimeOptions/publishings
getAllChannelsGET /c21apiv2/channels
getAllPublishingsGET /c21apiv2/publishings
getAllSchedulesGET /c21apiv2/schedules
getRecordingsGET /c21apiv2/recordings
getDevicesLiveStatusGET /c21apiv2/devices/livestatus
listAssetsGET /c21apiv2/assets

The CRUD wrappers retain the API identifier Publishing (rather than the operator-facing label Destination) for the same reason the REST surface does: they are literal operationId strings — they mirror the OpenAPI schema. The business-workflow toggle is toggle_destination; the autogenerated CRUD wrapper around the same backend call is runtimeTogglePublishings. Both reach the same operation.

The effective source of truth is the tool catalogue the server announces on connect — it reflects the active profile. For an exhaustive per-operation reference, consult the OpenAPI spec.

Tools by resource

Each table below lists the CRUD-wrapper tools available against a resource. The set of tools an MCP client can actually call is the intersection of these operations with the active profile (and the user's role).

Live streams

ToolPurpose
getAllLivestreamsList Live streams.
getLivestreamByIdFetch one Live stream by id.
getLivestreamStatusFetch the runtime status of one Live stream.
getLivestreamsStatusFetch the runtime status of every Live stream in one call.
getLivestreamStartConfigFetch the start-config preconditions (idEncoderGroup, last startConfig[], startAllowed).
getLivestreamEnrichedFetch a Live stream with enriched references resolved.
addLivestreamCreate a Live stream.
updateLivestreamUpdate a Live stream.
deleteLivestreamDelete a Live stream.
startLivestreamStart a Live stream.
stopLivestreamStop a Live stream.
runtimeApplyLogoApply or clear the logo on a running Live stream.
runtimeApplyBlackoutApply or clear the blackout / file replacement on a running Live stream.
runtimeApplySourceSwitchSwitch the source of a running Live stream.
runtimeTogglePublishingsToggle the primary / backup state of bound Destinations on a running Live stream.
runtimePushMetadataPush metadata to a running Live stream.
runtimeSetAdValuesSet ad-value markers on a running Live stream.
setLivestreamTextSet the overlay text on a Live stream.
updateLivestreamOptionsUpdate Live stream runtime options.

Channels (Sources)

ToolPurpose
getAllChannelsList Channels.
getChannelByIdFetch one Channel.
addChannelCreate a Channel.
updateChannelUpdate a Channel.
deleteChannelDelete a Channel.

Destinations

ToolPurpose
getAllPublishingsList Destinations.
getPublishingByIdFetch one Destination.
addPublishingCreate a Destination.
updatePublishingUpdate a Destination.
deletePublishingDelete a Destination.
getAllPublishingGroupsList Destination groups.
addPublishingGroupCreate a Destination group.
updatePublishingGroupUpdate a Destination group.
deletePublishingGroupDelete a Destination group.

Encodings

ToolPurpose
getAllEncodingsList Encodings.
getEncodingByIdFetch one Encoding.
addEncodingCreate an Encoding.
updateEncodingUpdate an Encoding.
deleteEncodingDelete an Encoding.
getAllEncodingGroupsList Encoding groups.
addEncodingGroupCreate an Encoding group.
updateEncodingGroupUpdate an Encoding group.
deleteEncodingGroupDelete an Encoding group.

Schedules

ToolPurpose
getAllSchedulesList Schedules.
getScheduleByIdFetch one Schedule.
addScheduleCreate a Schedule.
updateScheduleUpdate a Schedule.
deleteScheduleDelete a Schedule.
enableScheduleEnable a Schedule.
disableScheduleDisable a Schedule.
getScheduleOccurrencesExpand a Schedule into its concrete occurrences over a date window.

Recordings

ToolPurpose
getRecordingsList Recordings.
getRecordingFetch one Recording.
getRecordingTracksList the captured tracks of a Recording.
deleteRecordingDelete a Recording.

Devices

ToolPurpose
getAllDevicesList Devices.
getDeviceByIdFetch one Device.
addDeviceRegister a Device (one-time registration with register_username / register_password).
updateDeviceUpdate a Device.
deleteDeviceDelete a Device.
getDevicesStatusFetch summary status across Devices.
getDevicesLiveStatusFetch the live status of the Live streams running on the Devices.
getAllDeviceGroupsList Device groups.
createDeviceGroupCreate a Device group.
updateDeviceGroupUpdate a Device group.
deleteDeviceGroupDelete a Device group.

Assets

ToolPurpose
listAssetsList Assets, filterable by fileType (logos, files, clips).
uploadAssetUpload an Asset to the named bucket.
readAssetFetch an Asset by filename.
deleteAssetDelete an Asset by filename.

DRM

ToolPurpose
getAllDrmProvidersList DRM providers.
getDrmProviderByIdFetch one DRM provider.
addDrmProviderRegister a DRM provider.
updateDrmProviderUpdate a DRM provider.
deleteDrmProviderDelete a DRM provider.
validateDrmProviderValidate the credentials of a DRM provider.

C21 Live Cloud

ToolPurpose
getAllC21LiveCloudAccountsList C21 Live Cloud accounts.
getC21LiveCloudAccountByIdFetch one C21 Live Cloud account.
addC21LiveCloudAccountRegister a C21 Live Cloud account.
updateC21LiveCloudAccountUpdate a C21 Live Cloud account.
deleteC21LiveCloudAccountDelete a C21 Live Cloud account.
validateC21LiveCloudAccountRevalidate a C21 Live Cloud account against the upstream platform.

MediaCopilot

ToolPurpose
getMediaCopilotAccountRead the MediaCopilot account currently bound to this C21 Live Control instance.
getMediaCopilotConfigRead the MediaCopilot integration configuration (tenant URL, default collection, default template).
updateMediaCopilotConfigWrite the MediaCopilot integration configuration. System Administrator only.
getMediaCopilotCollectionsList the collections exposed by the bound MediaCopilot tenant. Used by the configuration form's collection picker.
getMediaCopilotTemplatesList the processing templates exposed by the bound MediaCopilot tenant.
getMediaCopilotAssetStatusRead the processing status of an asset previously handed off to MediaCopilot, by asset id.

The MediaCopilot integration itself requires a MediaCopilot account contracted through Cires21 plus the C21LiveEditor license on the Live Control instance — see MediaCopilot for the integration model.

Security

ToolPurpose
createApiTokenCreate an API token (System Administrator only).
listApiTokensList API tokens.
revokeApiTokenRevoke an API token.

Return shape conventions

List operations return the standard {rows, pagination} envelope. Single-resource operations return the resource directly under data. Errors follow the standard envelope documented in Pagination and errors.

What MCP does not expose

  • Event subscriptions. There is no subscribe_events-style streaming tool today. To observe state changes, poll the relevant getLivestreamStatus or getDevicesLiveStatus endpoint.
  • Webhook management. The product does not expose a webhook subscription surface.
Copyright © 2026