naftiko: 1.0.0-alpha2 info: label: CloudRF API — Analyse description: 'CloudRF API — Analyse. 5 operations. Lead operation: Best server for receiver. Self-contained Naftiko capability covering one Cloudrf business surface.' tags: - Cloudrf - Analyse created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CLOUDRF_API_KEY: CLOUDRF_API_KEY capability: consumes: - type: http namespace: cloudrf-analyse baseUri: https://api.cloudrf.com description: CloudRF API — Analyse business capability. Self-contained, no shared references. resources: - name: best-server path: /best-server operations: - name: analysebestserver method: GET description: Best server for receiver outputRawFormat: json outputParameters: - name: result type: object value: $. - name: best-site path: /best-site operations: - name: analysebestsite method: POST description: Best site within an area outputRawFormat: json outputParameters: - name: result type: object value: $. - name: interference path: /interference operations: - name: analyseinterference method: POST description: Network interference outputRawFormat: json outputParameters: - name: result type: object value: $. - name: locate path: /locate operations: - name: analyselocate method: POST description: Geo-locate a signal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: merge path: /merge operations: - name: analysemerge method: GET description: Merge calculations outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: key value: '{{env.CLOUDRF_API_KEY}}' placement: header exposes: - type: rest namespace: cloudrf-analyse-rest port: 8080 description: REST adapter for CloudRF API — Analyse. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/best-server name: best-server description: REST surface for best-server. operations: - method: GET name: analysebestserver description: Best server for receiver call: cloudrf-analyse.analysebestserver outputParameters: - type: object mapping: $. - path: /v1/best-site name: best-site description: REST surface for best-site. operations: - method: POST name: analysebestsite description: Best site within an area call: cloudrf-analyse.analysebestsite outputParameters: - type: object mapping: $. - path: /v1/interference name: interference description: REST surface for interference. operations: - method: POST name: analyseinterference description: Network interference call: cloudrf-analyse.analyseinterference outputParameters: - type: object mapping: $. - path: /v1/locate name: locate description: REST surface for locate. operations: - method: POST name: analyselocate description: Geo-locate a signal call: cloudrf-analyse.analyselocate outputParameters: - type: object mapping: $. - path: /v1/merge name: merge description: REST surface for merge. operations: - method: GET name: analysemerge description: Merge calculations call: cloudrf-analyse.analysemerge outputParameters: - type: object mapping: $. - type: mcp namespace: cloudrf-analyse-mcp port: 9090 transport: http description: MCP adapter for CloudRF API — Analyse. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: best-server-receiver description: Best server for receiver hints: readOnly: true destructive: false idempotent: true call: cloudrf-analyse.analysebestserver outputParameters: - type: object mapping: $. - name: best-site-within-area description: Best site within an area hints: readOnly: false destructive: false idempotent: false call: cloudrf-analyse.analysebestsite outputParameters: - type: object mapping: $. - name: network-interference description: Network interference hints: readOnly: false destructive: false idempotent: false call: cloudrf-analyse.analyseinterference outputParameters: - type: object mapping: $. - name: geo-locate-signal description: Geo-locate a signal hints: readOnly: false destructive: false idempotent: false call: cloudrf-analyse.analyselocate outputParameters: - type: object mapping: $. - name: merge-calculations description: Merge calculations hints: readOnly: true destructive: false idempotent: true call: cloudrf-analyse.analysemerge outputParameters: - type: object mapping: $.