naftiko: 1.0.0-alpha2 info: label: Restream Multistream Management description: Unified workflow capability for managing live multistreaming operations. Combines Restream REST API capabilities for channel configuration, event lifecycle management, stream key retrieval, and platform management. Used by content creators and developers integrating multistreaming into their applications. tags: - Broadcast - Channels - Events - Live Streaming - Multistreaming - Restream created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: RESTREAM_ACCESS_TOKEN: RESTREAM_ACCESS_TOKEN capability: consumes: - type: http namespace: restream baseUri: https://api.restream.io/v2 description: Restream REST API v2 for multistreaming management authentication: type: bearer token: '{{RESTREAM_ACCESS_TOKEN}}' resources: - name: platforms path: /platform/all description: Public streaming platform listings operations: - name: list-platforms method: GET description: List all supported streaming platforms outputRawFormat: json outputParameters: - name: result type: array value: $. - name: user-profile path: /user/profile description: Authenticated user profile operations: - name: get-user-profile method: GET description: Retrieve the authenticated user profile outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stream-key path: /user/streamKey description: User RTMP stream key and SRT URL operations: - name: get-stream-key method: GET description: Retrieve stream key and SRT URL outputRawFormat: json outputParameters: - name: result type: object value: $. - name: channels path: /user/channel/all description: All user channels operations: - name: list-channels method: GET description: List all channels for the authenticated user outputRawFormat: json outputParameters: - name: result type: array value: $. - name: channel path: /user/channel/{id} description: Individual channel management operations: - name: get-channel method: GET description: Retrieve a specific channel by ID inputParameters: - name: id in: path type: integer required: true description: Channel identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-channel method: PATCH description: Update channel settings inputParameters: - name: id in: path type: integer required: true description: Channel identifier outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: active: '{{tools.active}}' displayName: '{{tools.displayName}}' - name: channel-meta path: /user/channel/{id}/meta description: Channel metadata (title, description, tags) operations: - name: get-channel-meta method: GET description: Retrieve channel metadata inputParameters: - name: id in: path type: integer required: true description: Channel identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-channel-meta method: PATCH description: Update channel metadata inputParameters: - name: id in: path type: integer required: true description: Channel identifier outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: title: '{{tools.title}}' description: '{{tools.description}}' - name: events-upcoming path: /user/event/upcoming description: Upcoming live events operations: - name: list-upcoming-events method: GET description: List all upcoming events outputRawFormat: json outputParameters: - name: result type: array value: $. - name: events-in-progress path: /user/event/in-progress description: Currently active live events operations: - name: list-in-progress-events method: GET description: List all in-progress events outputRawFormat: json outputParameters: - name: result type: array value: $. - name: events-history path: /user/event/history description: Historical live events operations: - name: list-event-history method: GET description: List historical events inputParameters: - name: limit in: query type: integer required: false description: Maximum results to return - name: offset in: query type: integer required: false description: Pagination offset outputRawFormat: json outputParameters: - name: result type: array value: $. - name: event path: /user/event/{id} description: Individual event management operations: - name: get-event method: GET description: Retrieve a specific event by ID inputParameters: - name: id in: path type: string required: true description: Event identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: event-stream-key path: /user/event/{id}/streamKey description: Event stream keys operations: - name: get-event-stream-key method: GET description: Retrieve stream key for a specific event inputParameters: - name: id in: path type: string required: true description: Event identifier outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: multistream-management-api description: Unified REST API for Restream multistreaming management. resources: - path: /v1/platforms name: platforms description: Streaming platform directory operations: - method: GET name: list-platforms description: List all supported streaming destination platforms call: restream.list-platforms outputParameters: - type: array mapping: $. - path: /v1/channels name: channels description: Connected streaming channels operations: - method: GET name: list-channels description: List all connected streaming channels call: restream.list-channels outputParameters: - type: array mapping: $. - path: /v1/channels/{id} name: channel description: Individual channel management operations: - method: GET name: get-channel description: Get a specific channel call: restream.get-channel with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: update-channel description: Update channel settings call: restream.update-channel with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/channels/{id}/meta name: channel-meta description: Channel stream metadata operations: - method: GET name: get-channel-meta description: Get channel stream metadata call: restream.get-channel-meta with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: update-channel-meta description: Update channel stream title and description call: restream.update-channel-meta with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/stream-key name: stream-key description: RTMP stream key and SRT URL operations: - method: GET name: get-stream-key description: Get stream key for broadcasting call: restream.get-stream-key outputParameters: - type: object mapping: $. - path: /v1/events/upcoming name: upcoming-events description: Scheduled upcoming events operations: - method: GET name: list-upcoming-events description: List upcoming live events call: restream.list-upcoming-events outputParameters: - type: array mapping: $. - path: /v1/events/in-progress name: live-events description: Currently streaming events operations: - method: GET name: list-in-progress-events description: List currently active live events call: restream.list-in-progress-events outputParameters: - type: array mapping: $. - path: /v1/events/history name: event-history description: Completed event history operations: - method: GET name: list-event-history description: List historical events call: restream.list-event-history outputParameters: - type: array mapping: $. - path: /v1/events/{id} name: event description: Individual event management operations: - method: GET name: get-event description: Get a specific event call: restream.get-event with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/events/{id}/stream-key name: event-stream-key description: Event-specific stream key operations: - method: GET name: get-event-stream-key description: Get stream key for a specific event call: restream.get-event-stream-key with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: multistream-management-mcp transport: http description: MCP server for AI-assisted multistreaming management and live event operations. tools: - name: list-platforms description: List all streaming platforms supported by Restream for multistreaming destinations hints: readOnly: true idempotent: true call: restream.list-platforms outputParameters: - type: array mapping: $. - name: get-user-profile description: Get the authenticated user's Restream account profile hints: readOnly: true idempotent: true call: restream.get-user-profile outputParameters: - type: object mapping: $. - name: get-stream-key description: Retrieve the RTMP stream key and SRT URL for broadcasting hints: readOnly: true idempotent: true call: restream.get-stream-key outputParameters: - type: object mapping: $. - name: list-channels description: List all connected streaming destination channels hints: readOnly: true idempotent: true call: restream.list-channels outputParameters: - type: array mapping: $. - name: get-channel description: Get details for a specific streaming channel hints: readOnly: true idempotent: true call: restream.get-channel with: id: tools.id outputParameters: - type: object mapping: $. - name: update-channel description: Enable or disable a channel, or update its display name hints: readOnly: false idempotent: true call: restream.update-channel with: id: tools.id active: tools.active displayName: tools.displayName outputParameters: - type: object mapping: $. - name: get-channel-meta description: Get stream metadata (title, description) for a channel hints: readOnly: true idempotent: true call: restream.get-channel-meta with: id: tools.id outputParameters: - type: object mapping: $. - name: update-channel-meta description: Update the stream title and description for a channel hints: readOnly: false idempotent: true call: restream.update-channel-meta with: id: tools.id title: tools.title description: tools.description outputParameters: - type: object mapping: $. - name: list-upcoming-events description: List all scheduled upcoming live stream events hints: readOnly: true idempotent: true call: restream.list-upcoming-events outputParameters: - type: array mapping: $. - name: list-in-progress-events description: List all currently active live streaming events hints: readOnly: true idempotent: true call: restream.list-in-progress-events outputParameters: - type: array mapping: $. - name: list-event-history description: List historical completed live streaming events hints: readOnly: true idempotent: true call: restream.list-event-history with: limit: tools.limit offset: tools.offset outputParameters: - type: array mapping: $. - name: get-event description: Get details for a specific live streaming event hints: readOnly: true idempotent: true call: restream.get-event with: id: tools.id outputParameters: - type: object mapping: $. - name: get-event-stream-key description: Get the stream key for a specific event hints: readOnly: true idempotent: true call: restream.get-event-stream-key with: id: tools.id outputParameters: - type: object mapping: $.