naftiko: 1.0.0-alpha2 info: label: Musixmatch API — Subtitle description: 'Musixmatch API — Subtitle. 2 operations. Lead operation: Subtitle. Self-contained Naftiko capability covering one Musixmatch business surface.' tags: - Musixmatch - Subtitle created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MUSIXMATCH_API_KEY: MUSIXMATCH_API_KEY capability: consumes: - type: http namespace: musixmatch-subtitle baseUri: https://api.musixmatch.com/ws/1.1 description: Musixmatch API — Subtitle business capability. Self-contained, no shared references. resources: - name: matcher.subtitle.get path: /matcher.subtitle.get operations: - name: get method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: query type: string description: 'output format: json, jsonp, xml.' - name: callback in: query type: string description: jsonp callback - name: q_track in: query type: string description: The song title - name: q_artist in: query type: string description: The song artist - name: f_subtitle_length in: query type: number description: Filter by subtitle length in seconds - name: f_subtitle_length_max_deviation in: query type: number description: Max deviation for a subtitle length in seconds - name: track.subtitle.get path: /track.subtitle.get operations: - name: get method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: query type: string description: 'output format: json, jsonp, xml.' - name: callback in: query type: string description: jsonp callback - name: track_id in: query type: string description: The musiXmatch track id required: true authentication: type: apikey key: apikey value: '{{env.MUSIXMATCH_API_KEY}}' placement: query exposes: - type: rest namespace: musixmatch-subtitle-rest port: 8080 description: REST adapter for Musixmatch API — Subtitle. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/matcher-subtitle-get name: matcher-subtitle-get description: REST surface for matcher.subtitle.get. operations: - method: GET name: get description: get call: musixmatch-subtitle.get with: format: rest.format callback: rest.callback q_track: rest.q_track q_artist: rest.q_artist f_subtitle_length: rest.f_subtitle_length f_subtitle_length_max_deviation: rest.f_subtitle_length_max_deviation outputParameters: - type: object mapping: $. - path: /v1/track-subtitle-get name: track-subtitle-get description: REST surface for track.subtitle.get. operations: - method: GET name: get description: get call: musixmatch-subtitle.get with: format: rest.format callback: rest.callback track_id: rest.track_id outputParameters: - type: object mapping: $. - type: mcp namespace: musixmatch-subtitle-mcp port: 9090 transport: http description: MCP adapter for Musixmatch API — Subtitle. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get description: get hints: readOnly: true destructive: false idempotent: true call: musixmatch-subtitle.get with: format: tools.format callback: tools.callback q_track: tools.q_track q_artist: tools.q_artist f_subtitle_length: tools.f_subtitle_length f_subtitle_length_max_deviation: tools.f_subtitle_length_max_deviation outputParameters: - type: object mapping: $. - name: get-2 description: get hints: readOnly: true destructive: false idempotent: true call: musixmatch-subtitle.get with: format: tools.format callback: tools.callback track_id: tools.track_id outputParameters: - type: object mapping: $.