start_stream
Start a new multi-platform stream across YouTube, Twitch, and Facebook with customizable title, description, and privacy settings.
Instructions
Start a new stream with optional settings
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The stream title | |
| description | No | The stream description | |
| privacy | No | The stream privacy setting |
Implementation Reference
- src/restream-client.ts:169-176 (handler)Core implementation of the start_stream tool: makes POST request to Restream API /user/stream/start endpoint with optional settings.async startStream(settings?: StreamSettings): Promise<Stream> { try { const response = await this.axiosInstance.post<Stream>('/user/stream/start', settings || {}); return response.data; } catch (error) { throw this.handleError(error, 'Failed to start stream'); } }
- src/index.ts:139-156 (schema)Input schema for the start_stream tool defining optional title, description, and privacy settings.inputSchema: { type: 'object', properties: { title: { type: 'string', description: 'The stream title', }, description: { type: 'string', description: 'The stream description', }, privacy: { type: 'string', enum: ['public', 'private', 'unlisted'], description: 'The stream privacy setting', }, }, },
- src/index.ts:136-157 (registration)Registration of the 'start_stream' tool in the MCP tools list, including name, description, and input schema.{ name: 'start_stream', description: 'Start a new stream with optional settings', inputSchema: { type: 'object', properties: { title: { type: 'string', description: 'The stream title', }, description: { type: 'string', description: 'The stream description', }, privacy: { type: 'string', enum: ['public', 'private', 'unlisted'], description: 'The stream privacy setting', }, }, }, },
- src/index.ts:288-298 (handler)MCP CallToolRequest handler case for 'start_stream': calls restreamClient.startStream and formats response as text content.case 'start_stream': { const stream = await restreamClient.startStream(args || {}); return { content: [ { type: 'text', text: JSON.stringify(stream, null, 2), }, ], }; }
- src/types.ts:45-49 (schema)TypeScript interface defining StreamSettings used as input type for startStream method.export interface StreamSettings { title?: string; description?: string; privacy?: 'public' | 'private' | 'unlisted'; }