naftiko: 1.0.0-alpha2 info: label: Roku External Control Protocol (ECP) — Discovery description: 'Roku External Control Protocol (ECP) — Discovery. 2 operations. Lead operation: Roku Get Device Root. Self-contained Naftiko capability covering one Roku business surface.' tags: - Roku - Discovery created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ROKU_API_KEY: ROKU_API_KEY capability: consumes: - type: http namespace: external-control-protocol-discovery baseUri: http://{rokuDeviceIp}:8060 description: Roku External Control Protocol (ECP) — Discovery business capability. Self-contained, no shared references. resources: - name: root path: / operations: - name: getdeviceroot method: GET description: Roku Get Device Root outputRawFormat: json outputParameters: - name: result type: object value: $. - name: query-device-info path: /query/device-info operations: - name: querydeviceinfo method: GET description: Roku Query Device Info outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: external-control-protocol-discovery-rest port: 8080 description: REST adapter for Roku External Control Protocol (ECP) — Discovery. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1 name: root description: REST surface for root. operations: - method: GET name: getdeviceroot description: Roku Get Device Root call: external-control-protocol-discovery.getdeviceroot outputParameters: - type: object mapping: $. - path: /v1/query/device-info name: query-device-info description: REST surface for query-device-info. operations: - method: GET name: querydeviceinfo description: Roku Query Device Info call: external-control-protocol-discovery.querydeviceinfo outputParameters: - type: object mapping: $. - type: mcp namespace: external-control-protocol-discovery-mcp port: 9090 transport: http description: MCP adapter for Roku External Control Protocol (ECP) — Discovery. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: roku-get-device-root description: Roku Get Device Root hints: readOnly: true destructive: false idempotent: true call: external-control-protocol-discovery.getdeviceroot outputParameters: - type: object mapping: $. - name: roku-query-device-info description: Roku Query Device Info hints: readOnly: true destructive: false idempotent: true call: external-control-protocol-discovery.querydeviceinfo outputParameters: - type: object mapping: $.