Red5 · Capability

Red5 Live Streaming Management

Unified capability for managing live streaming infrastructure on Red5 Pro. Combines the Server API for node-level stream monitoring and control with the Stream Manager 2.0 API for autoscaled cluster orchestration. Used by streaming operations teams to monitor live events, manage stream quality, control recording, and scale streaming capacity.

Run with Naftiko Live StreamingMediaReal-TimeRed5Streaming

What You Can Do

GET
Get server info — Get server information and status
/v1/server
GET
List applications — List deployed streaming applications
/v1/applications
GET
List streams — List active streams in an application
/v1/applications/{app}/streams
GET
Get stream — Get stream statistics
/v1/applications/{app}/streams/{stream}
POST
Start recording — Start recording a stream
/v1/applications/{app}/streams/{stream}/record/start
POST
Stop recording — Stop recording a stream
/v1/applications/{app}/streams/{stream}/record/stop

MCP Tools

get-server-health

Check Red5 Pro server health and get version information

read-only
get-server-info

Get detailed Red5 Pro server configuration and status

read-only
list-streaming-apps

List all streaming applications deployed on the Red5 Pro server

read-only
get-app-stats

Get statistics for a specific streaming application scope

read-only
list-live-streams

List all active live streams in a streaming application

read-only
get-stream-stats

Get detailed statistics for a live stream including bitrate, frame rate, and subscriber count

read-only
start-stream-recording

Start recording a live stream to disk storage

stop-stream-recording

Stop an active stream recording and finalize the recording file

idempotent

APIs Used

red5-server

Capability Spec

live-streaming.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Red5 Live Streaming Management"
  description: >-
    Unified capability for managing live streaming infrastructure on Red5 Pro.
    Combines the Server API for node-level stream monitoring and control with
    the Stream Manager 2.0 API for autoscaled cluster orchestration. Used by
    streaming operations teams to monitor live events, manage stream quality,
    control recording, and scale streaming capacity.
  tags:
    - Live Streaming
    - Media
    - Real-Time
    - Red5
    - Streaming
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      RED5_ACCESS_TOKEN: RED5_ACCESS_TOKEN
      RED5_SERVER_HOST: RED5_SERVER_HOST

capability:
  consumes:
    - import: red5-server
      location: ./shared/server-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: red5-streaming-rest
      description: "Unified REST API for Red5 live streaming management."
      resources:
        - path: /v1/server
          name: server
          description: "Server health and information"
          operations:
            - method: GET
              name: get-server-info
              description: "Get server information and status"
              call: "red5-server.get-server-info"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/applications
          name: applications
          description: "Streaming application management"
          operations:
            - method: GET
              name: list-applications
              description: "List deployed streaming applications"
              call: "red5-server.list-applications"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/applications/{app}/streams
          name: streams
          description: "Live stream management"
          operations:
            - method: GET
              name: list-streams
              description: "List active streams in an application"
              call: "red5-server.list-streams"
              with:
                appName: "rest.app"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/applications/{app}/streams/{stream}
          name: stream
          description: "Individual stream management"
          operations:
            - method: GET
              name: get-stream
              description: "Get stream statistics"
              call: "red5-server.get-stream"
              with:
                appName: "rest.app"
                streamName: "rest.stream"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/applications/{app}/streams/{stream}/record/start
          name: recording-start
          description: "Start stream recording"
          operations:
            - method: POST
              name: start-recording
              description: "Start recording a stream"
              call: "red5-server.start-recording"
              with:
                appName: "rest.app"
                streamName: "rest.stream"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/applications/{app}/streams/{stream}/record/stop
          name: recording-stop
          description: "Stop stream recording"
          operations:
            - method: POST
              name: stop-recording
              description: "Stop recording a stream"
              call: "red5-server.stop-recording"
              with:
                appName: "rest.app"
                streamName: "rest.stream"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: red5-streaming-mcp
      transport: http
      description: "MCP server for AI-assisted Red5 live streaming management."
      tools:
        - name: get-server-health
          description: "Check Red5 Pro server health and get version information"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.ping-server"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-server-info
          description: "Get detailed Red5 Pro server configuration and status"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.get-server-info"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-streaming-apps
          description: "List all streaming applications deployed on the Red5 Pro server"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.list-applications"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-app-stats
          description: "Get statistics for a specific streaming application scope"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.get-application"
          with:
            appName: "tools.app_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-live-streams
          description: "List all active live streams in a streaming application"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.list-streams"
          with:
            appName: "tools.app_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-stream-stats
          description: "Get detailed statistics for a live stream including bitrate, frame rate, and subscriber count"
          hints:
            readOnly: true
            openWorld: false
          call: "red5-server.get-stream"
          with:
            appName: "tools.app_name"
            streamName: "tools.stream_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: start-stream-recording
          description: "Start recording a live stream to disk storage"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "red5-server.start-recording"
          with:
            appName: "tools.app_name"
            streamName: "tools.stream_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: stop-stream-recording
          description: "Stop an active stream recording and finalize the recording file"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "red5-server.stop-recording"
          with:
            appName: "tools.app_name"
            streamName: "tools.stream_name"
          outputParameters:
            - type: object
              mapping: "$."