.do
Mcp

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 stream

Tools

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"]
    }
  }
}