naftiko: 1.0.0-alpha2 info: label: Red5 Pro Server API — Streams description: 'Red5 Pro Server API — Streams. 4 operations. Lead operation: List Streams in an Application. Self-contained Naftiko capability covering one Red5 business surface.' tags: - Red5 - Streams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RED5_API_KEY: RED5_API_KEY capability: consumes: - type: http namespace: server-streams baseUri: http://{host}:5080/api/v1 description: Red5 Pro Server API — Streams business capability. Self-contained, no shared references. resources: - name: applications-appName-streams path: /applications/{appName}/streams operations: - name: liststreams method: GET description: List Streams in an Application outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-appName-streams-streamName path: /applications/{appName}/streams/{streamName} operations: - name: getstream method: GET description: Get Stream Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-appName-streams-streamName-action-startrecord path: /applications/{appName}/streams/{streamName}/action/startrecord operations: - name: startstreamrecording method: POST description: Start Recording a Stream outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-appName-streams-streamName-action-stoprecord path: /applications/{appName}/streams/{streamName}/action/stoprecord operations: - name: stopstreamrecording method: POST description: Stop Recording a Stream outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: accessToken value: '{{env.RED5_API_KEY}}' placement: query exposes: - type: rest namespace: server-streams-rest port: 8080 description: REST adapter for Red5 Pro Server API — Streams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/applications/{appname}/streams name: applications-appname-streams description: REST surface for applications-appName-streams. operations: - method: GET name: liststreams description: List Streams in an Application call: server-streams.liststreams outputParameters: - type: object mapping: $. - path: /v1/applications/{appname}/streams/{streamname} name: applications-appname-streams-streamname description: REST surface for applications-appName-streams-streamName. operations: - method: GET name: getstream description: Get Stream Details call: server-streams.getstream outputParameters: - type: object mapping: $. - path: /v1/applications/{appname}/streams/{streamname}/action/startrecord name: applications-appname-streams-streamname-action-startrecord description: REST surface for applications-appName-streams-streamName-action-startrecord. operations: - method: POST name: startstreamrecording description: Start Recording a Stream call: server-streams.startstreamrecording outputParameters: - type: object mapping: $. - path: /v1/applications/{appname}/streams/{streamname}/action/stoprecord name: applications-appname-streams-streamname-action-stoprecord description: REST surface for applications-appName-streams-streamName-action-stoprecord. operations: - method: POST name: stopstreamrecording description: Stop Recording a Stream call: server-streams.stopstreamrecording outputParameters: - type: object mapping: $. - type: mcp namespace: server-streams-mcp port: 9090 transport: http description: MCP adapter for Red5 Pro Server API — Streams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-streams-application description: List Streams in an Application hints: readOnly: true destructive: false idempotent: true call: server-streams.liststreams outputParameters: - type: object mapping: $. - name: get-stream-details description: Get Stream Details hints: readOnly: true destructive: false idempotent: true call: server-streams.getstream outputParameters: - type: object mapping: $. - name: start-recording-stream description: Start Recording a Stream hints: readOnly: false destructive: false idempotent: false call: server-streams.startstreamrecording outputParameters: - type: object mapping: $. - name: stop-recording-stream description: Stop Recording a Stream hints: readOnly: false destructive: false idempotent: false call: server-streams.stopstreamrecording outputParameters: - type: object mapping: $.