Twilio · Capability

Twilio - Insights — Video

Twilio - Insights — Video. 4 operations. Lead operation: Video. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioVideo

What You Can Do

GET
Listvideoroomsummary — Get a list of Programmable Video Rooms.
/v1/v1/video/rooms
GET
Fetchvideoroomsummary — Get Video Log Analyzer data for a Room.
/v1/v1/video/rooms/{roomsid}
GET
Listvideoparticipantsummary — Get a list of room participants.
/v1/v1/video/rooms/{roomsid}/participants
GET
Fetchvideoparticipantsummary — Get Video Log Analyzer data for a Room Participant.
/v1/v1/video/rooms/{roomsid}/participants/{participantsid}

MCP Tools

get-list-programmable-video-rooms

Get a list of Programmable Video Rooms.

read-only idempotent
get-video-log-analyzer-data

Get Video Log Analyzer data for a Room.

read-only idempotent
get-list-room-participants

Get a list of room participants.

read-only idempotent
get-video-log-analyzer-data-2

Get Video Log Analyzer data for a Room Participant.

read-only idempotent

Capability Spec

insights-video.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio - Insights — Video
  description: 'Twilio - Insights — Video. 4 operations. Lead operation: Video. Self-contained Naftiko capability covering
    one Twilio business surface.'
  tags:
  - Twilio
  - Video
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: insights-video
    baseUri: https://insights.twilio.com
    description: Twilio - Insights — Video business capability. Self-contained, no shared references.
    resources:
    - name: v1-Video-Rooms
      path: /v1/Video/Rooms
      operations:
      - name: listvideoroomsummary
        method: GET
        description: Get a list of Programmable Video Rooms.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RoomType
          in: query
          type: array
          description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`.
        - name: Codec
          in: query
          type: array
          description: Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`.
        - name: RoomName
          in: query
          type: string
          description: Room friendly name.
        - name: CreatedAfter
          in: query
          type: string
          description: Only read rooms that started on or after this ISO 8601 timestamp.
        - name: CreatedBefore
          in: query
          type: string
          description: Only read rooms that started before this ISO 8601 timestamp.
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Video-Rooms-RoomSid
      path: /v1/Video/Rooms/{RoomSid}
      operations:
      - name: fetchvideoroomsummary
        method: GET
        description: Get Video Log Analyzer data for a Room.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RoomSid
          in: path
          type: string
          description: The SID of the Room resource.
          required: true
    - name: v1-Video-Rooms-RoomSid-Participants
      path: /v1/Video/Rooms/{RoomSid}/Participants
      operations:
      - name: listvideoparticipantsummary
        method: GET
        description: Get a list of room participants.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RoomSid
          in: path
          type: string
          description: The SID of the Room resource.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Video-Rooms-RoomSid-Participants-ParticipantSid
      path: /v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}
      operations:
      - name: fetchvideoparticipantsummary
        method: GET
        description: Get Video Log Analyzer data for a Room Participant.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: RoomSid
          in: path
          type: string
          description: The SID of the Room resource.
          required: true
        - name: ParticipantSid
          in: path
          type: string
          description: The SID of the Participant resource.
          required: true
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: insights-video-rest
    port: 8080
    description: REST adapter for Twilio - Insights — Video. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/video/rooms
      name: v1-video-rooms
      description: REST surface for v1-Video-Rooms.
      operations:
      - method: GET
        name: listvideoroomsummary
        description: Get a list of Programmable Video Rooms.
        call: insights-video.listvideoroomsummary
        with:
          RoomType: rest.RoomType
          Codec: rest.Codec
          RoomName: rest.RoomName
          CreatedAfter: rest.CreatedAfter
          CreatedBefore: rest.CreatedBefore
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/video/rooms/{roomsid}
      name: v1-video-rooms-roomsid
      description: REST surface for v1-Video-Rooms-RoomSid.
      operations:
      - method: GET
        name: fetchvideoroomsummary
        description: Get Video Log Analyzer data for a Room.
        call: insights-video.fetchvideoroomsummary
        with:
          RoomSid: rest.RoomSid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/video/rooms/{roomsid}/participants
      name: v1-video-rooms-roomsid-participants
      description: REST surface for v1-Video-Rooms-RoomSid-Participants.
      operations:
      - method: GET
        name: listvideoparticipantsummary
        description: Get a list of room participants.
        call: insights-video.listvideoparticipantsummary
        with:
          RoomSid: rest.RoomSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/video/rooms/{roomsid}/participants/{participantsid}
      name: v1-video-rooms-roomsid-participants-participantsid
      description: REST surface for v1-Video-Rooms-RoomSid-Participants-ParticipantSid.
      operations:
      - method: GET
        name: fetchvideoparticipantsummary
        description: Get Video Log Analyzer data for a Room Participant.
        call: insights-video.fetchvideoparticipantsummary
        with:
          RoomSid: rest.RoomSid
          ParticipantSid: rest.ParticipantSid
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: insights-video-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio - Insights — Video. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-list-programmable-video-rooms
      description: Get a list of Programmable Video Rooms.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insights-video.listvideoroomsummary
      with:
        RoomType: tools.RoomType
        Codec: tools.Codec
        RoomName: tools.RoomName
        CreatedAfter: tools.CreatedAfter
        CreatedBefore: tools.CreatedBefore
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: get-video-log-analyzer-data
      description: Get Video Log Analyzer data for a Room.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insights-video.fetchvideoroomsummary
      with:
        RoomSid: tools.RoomSid
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-room-participants
      description: Get a list of room participants.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insights-video.listvideoparticipantsummary
      with:
        RoomSid: tools.RoomSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: get-video-log-analyzer-data-2
      description: Get Video Log Analyzer data for a Room Participant.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: insights-video.fetchvideoparticipantsummary
      with:
        RoomSid: tools.RoomSid
        ParticipantSid: tools.ParticipantSid
      outputParameters:
      - type: object
        mapping: $.