Stream MCP
Model Context Protocol integration for Stream
Stream MCP
A serverless video platform for uploading, storing, encoding, and delivering live and on-demand video content globally.
Installation
npx @dotdo/mcp install streamTools
stream_create
Create a new video stream.
Tool Schema:
{
"name": "stream_create",
"description": "Create a new video stream.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_upload
Upload video content to the stream.
Tool Schema:
{
"name": "stream_upload",
"description": "Upload video content to the stream.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_delete
Permanently remove the video stream.
Tool Schema:
{
"name": "stream_delete",
"description": "Permanently remove the video stream.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_getUploadUrl
Generate one-time upload URL for end users.
Tool Schema:
{
"name": "stream_getUploadUrl",
"description": "Generate one-time upload URL for end users.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_getSignedUrl
Generate signed URL for restricted access.
Tool Schema:
{
"name": "stream_getSignedUrl",
"description": "Generate signed URL for restricted access.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_updateAccess
Change access control settings.
Tool Schema:
{
"name": "stream_updateAccess",
"description": "Change access control settings.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_addCaptions
Add subtitle or caption track to video.
Tool Schema:
{
"name": "stream_addCaptions",
"description": "Add subtitle or caption track to video.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_removeCaptions
Remove subtitle or caption track from video.
Tool Schema:
{
"name": "stream_removeCaptions",
"description": "Remove subtitle or caption track from video.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_startLive
Begin live streaming session.
Tool Schema:
{
"name": "stream_startLive",
"description": "Begin live streaming session.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_stopLive
End live streaming session.
Tool Schema:
{
"name": "stream_stopLive",
"description": "End live streaming session.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_getAnalytics
Retrieve viewing metrics and performance data.
Tool Schema:
{
"name": "stream_getAnalytics",
"description": "Retrieve viewing metrics and performance data.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}stream_getThumbnail
Get or generate video thumbnail.
Tool Schema:
{
"name": "stream_getThumbnail",
"description": "Get or generate video thumbnail.",
"inputSchema": {
"type": "object",
"properties": {
// Tool parameters
}
}
}Resources
stream/created
Triggered when a new video stream is created.
Resource URI: stream://created
stream/uploaded
Triggered when video content is uploaded.
Resource URI: stream://uploaded
stream/deleted
Triggered when video stream is removed.
Resource URI: stream://deleted
stream/Encoding.started
Triggered when video encoding begins.
Resource URI: stream://Encoding.started
stream/Encoding.completed
Triggered when video encoding finishes.
Resource URI: stream://Encoding.completed
stream/Encoding.failed
Triggered when video encoding encounters error.
Resource URI: stream://Encoding.failed
stream/viewed
Triggered when video is played by a viewer.
Resource URI: stream://viewed
stream/Live.started
Triggered when live stream begins.
Resource URI: stream://Live.started
stream/Live.stopped
Triggered when live stream ends.
Resource URI: stream://Live.stopped
stream/Access.updated
Triggered when access control settings change.
Resource URI: stream://Access.updated
stream/Captions.added
Triggered when captions are added to video.
Resource URI: stream://Captions.added
Usage with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"stream": {
"command": "npx",
"args": ["-y", "@dotdo/mcp", "serve", "stream"]
}
}
}