# Cloudflare Stream MCP for AI Agents MCP

> Cloudflare Stream MCP connects your video infrastructure directly to any AI client. Manage complex media workflows, from initiating large uploads via TUS protocol to generating captions and configuring live simulcasts for platforms like YouTube or Twitch. You can check video metadata, list all assets, delete expired content, and even generate audio tracks—all through natural conversation.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** video-streaming, live-streaming, cloudflare, video-hosting, api-video

## Description

Running a modern media operation means dealing with constant streams of video data. This MCP lets your AI agent manage that entire lifecycle without you ever having to touch the Cloudflare dashboard. You can ask it to check if an uploaded asset is ready, or prompt it to create a live input for a webinar and immediately configure simulcast outputs. Need to make sure only certain regions can view a video? The agent updates those security settings instantly. It handles everything from scheduling content deletion to initiating high-volume uploads using the TUS protocol. You’ll find this connector cataloged in Vinkius, giving your AI client access to thousands of other services so you stay in the chat window and get work done.

## Tools

### copy_audio_track
Adds a secondary audio track to an existing video asset using a provided URL.

### create_live_input
Creates and configures a new live input stream with specified recording options for Cloudflare streaming.

### create_live_output
Sets up a simulcast output, routing the feed to a specific platform like YouTube or Twitch.

### create_m4a_download
Enables direct M4A audio downloads for a particular video asset.

### create_mp4_download
Enables direct MP4 video downloads for a specific video asset.

### create_signing_key
Generates and manages secure Stream Signing Keys needed for restricted content access.

### create_watermark
Creates a defined watermark profile to brand the video content.

### delete_live_input
Permanently removes an active or scheduled live input stream configuration.

### delete_live_output
Deletes a specific simulcast output profile that was configured for a live stream.

### delete_video
Permanently removes an entire video asset and all associated copies from the account.

### edit_video
Updates general metadata or changes settings for an existing video file.

### generate_caption
Uses AI to automatically create accurate text captions (subtitles) for a video asset.

### get_storage_usage
Retrieves the account-wide statistics detailing current storage consumption.

### get_video
Fetches all specific details, status, and size information for a single video ID.

### get_webhook
Views the current configuration settings for automated webhooks.

### initiate_upload
Starts a large video upload session using TUS protocol, requiring metadata and size input.

### list_audio_tracks
Lists all additional audio tracks currently associated with a specific video asset.

### list_captions
Retrieves a list of available text track files, such as subtitles or captions, for a video.

### list_downloads
Shows all potential download formats and links available for a given video.

### list_live_inputs
Retrieves a list of all currently configured live input streams.

### list_live_outputs
Lists all simulcast outputs available for a specific, active live input stream.

### list_signing_keys
Displays all existing Stream Signing Keys used across the account.

### list_videos
Lists every video in your Cloudflare Stream account, allowing filtering by status or type.

### list_watermarks
Displays all created watermark profiles used for branding content.

### update_webhook
Creates or modifies the webhook configuration to alert external systems about video events.

### upload_caption
Uploads a new text track file, such as a VTT caption file, for synchronization with a video.

## Prompt Examples

**Prompt:** 
```
I need a list of all my video assets, but only the ones that are marked as 'error' or 'in-progress'.
```

**Response:** 
```
**Video Asset Status Report**

*   `vid-921x`: Failed to process due to codec mismatch (Error)
*   `vid-45b2`: Currently processing, ETA 30 mins (In Progress)
*   `vid-11f7`: Processing... (In Progress)

Please check the webhook logs for details on `vid-921x`. Would you like me to try re-triggering the error video?
```

**Prompt:** 
```
Can we set up a live stream called 'Q3 Town Hall' and make sure it goes to YouTube, but only records automatically?
```

**Response:** 
```
**Live Input Setup Complete**

✅ Live Input: Q3 Town Hall
*   RTMPS URL: rtmp://stream.example.com/live/q3-townhall
*   Stream Key: ABCXYZ123
*   Recording: Automatic (Enabled)

I also configured the simulcast output for YouTube. You're good to go!
```

**Prompt:** 
```
What are the download options and formats available for the 'Product Demo 2024' video?
```

**Response:** 
```
**Downloads Available for Product Demo 2024**

| Format | Type | Resolution | Action |
| :--- | :--- | :--- | :--- |
| MP4 | Video | 1080p | [Download Link] |
| M4A | Audio | Stereo | [Download Link] |
| WebM | Video | 720p | [Download Link] |

*Note: All links expire in 7 days. We can also generate a custom signing key if you need restricted access.*
```

## Capabilities

### List all video assets and metadata
Lists videos in your account, allowing filtering by status (ready, error) or type (vod, live).

### Create a dedicated live streaming input
Creates a live input for streaming video, specifying metadata and ensuring automatic recording is enabled.

### Configure simulcast outputs
Generates multiple broadcast feeds from one source, setting up outputs for platforms like YouTube or Twitch.

### Manage content metadata & security
Updates details on a video asset, including setting allowed origins to control viewing access.

### Handle high-volume uploads via TUS protocol
Initiates large file uploads using the TUS protocol while attaching custom metadata and size specifications.

### Extract and generate media components
Generates AI captions for a video or adds secondary audio tracks via URL to enhance content.

## Use Cases

### A live webinar needs a secondary feed for LinkedIn.
The agent runs `create_live_input` for the main stream, then uses `list_live_outputs` to confirm YouTube is active. Finally, it calls `create_live_output`, directing a duplicate stream specifically to LinkedIn.

### A batch of videos needs watermarks and captions.
The agent first runs `generate_caption` on the whole batch. It then uses `list_watermarks` to ensure a profile exists, and finally calls `edit_video` on each asset to apply the watermark.

### A developer needs to upload 50 GB of footage.
Instead of dealing with massive form submissions, the agent uses `initiate_upload`, passing necessary metadata and size constraints for the TUS protocol, handling the large data transfer in chunks.

### An old video needs to be archived and removed.
The team uses `get_video` to confirm all necessary downloads are available via `list_downloads`, then confirms deletion by running `delete_video` when the asset is no longer needed.

## Benefits

- Control the full content lifecycle from one chat window. Instead of navigating to separate upload portals, you can initiate uploads using `initiate_upload` right here.
- Streamline compliance checks instantly. Use `get_video` or `list_videos` to pull up specific asset metadata and verify its current status without manual searching.
- Automate broadcasting across multiple platforms. With tools like `create_live_input` and `list_live_outputs`, you can set up complex simulcasts for YouTube and Twitch in a few prompts.
- Improve content accessibility with one prompt. You can run the `generate_caption` tool to automatically create AI captions, making videos available for wider audiences.
- Manage security settings easily. Need to restrict viewing? Use `edit_video` to update metadata or set allowed origins instantly.

## How It Works

The bottom line is that you get full control over complex video workflows by talking to an interface instead of using multiple web dashboards.

1. Connect your Cloudflare Account ID and API Token within the Vinkius marketplace.
2. Your AI agent authenticates the credentials, granting it permission to manage video assets.
3. You ask your agent to perform a task—like listing all videos or creating a live input—and receive instant confirmation.

## Frequently Asked Questions

**How do I manage and update video metadata using the Cloudflare Stream MCP for AI Agents?**
You tell your agent exactly what changes you want. Instead of manually logging into a dashboard, you just ask it to run `edit_video` with the new settings or origins. This instantly updates the asset's profile.

**Can I use Cloudflare Stream MCP for AI Agents to set up simulcasting?**
Yes, absolutely. You can tell your agent to create a live input and then specify all necessary outputs like Twitch or YouTube using the dedicated tools. It handles connecting multiple platforms in one workflow.

**What if I need to upload a massive amount of footage? Does Cloudflare Stream MCP for AI Agents handle it?**
It does, via the TUS protocol. You initiate the upload using `initiate_upload` and provide metadata. The agent manages the large file transfer process in secure chunks automatically.

**Does Cloudflare Stream MCP for AI Agents help with accessibility features like captions?**
Yes, it does. You can trigger `generate_caption` on any video asset using a simple prompt. The agent runs the AI processing and makes the resulting caption file immediately available.

**I need to check my storage usage for my videos. How do I use Cloudflare Stream MCP for AI Agents?**
Just ask your agent to retrieve the account-wide statistics using `get_storage_usage`. It gives you a clear, single number showing how much space your video library is consuming.

**How can I permanently delete old videos or live inputs with Cloudflare Stream MCP for AI Agents?**
You simply ask the agent to run `delete_video` on the asset ID, or use `delete_live_input` if you're done with a broadcast. The process is instant and irreversible.