naftiko: 1.0.0-alpha2 info: label: MusicBrainz Web Service v2 — Works description: 'MusicBrainz Web Service v2 — Works. 2 operations. Lead operation: Lookup Work By MBID. Self-contained Naftiko capability covering one MusicBrainz business surface.' tags: - MusicBrainz - Works created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: MUSICBRAINZ_USER_AGENT: MUSICBRAINZ_USER_AGENT capability: consumes: - type: http namespace: musicbrainz-works baseUri: https://musicbrainz.org/ws/2 description: MusicBrainz Web Service v2 — Works business capability. Self-contained, no shared references. resources: - name: work-mbid path: /work/{mbid} operations: - name: lookupWork method: GET description: Lookup Work By MBID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: mbid in: path type: string required: true - name: inc in: query type: string - name: fmt in: query type: string - name: work path: /work operations: - name: browseOrSearchWorks method: GET description: Browse Or Search Works outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string - name: artist in: query type: string - name: collection in: query type: string - name: limit in: query type: integer - name: offset in: query type: integer - name: inc in: query type: string - name: fmt in: query type: string headers: User-Agent: '{{env.MUSICBRAINZ_USER_AGENT}}' Accept: application/json exposes: - type: rest namespace: musicbrainz-works-rest port: 8080 description: REST adapter for MusicBrainz Web Service v2 — Works. One Spectral-compliant resource per consumed operation, prefixed with /ws/2. resources: - path: /ws/2/work/{mbid} name: work-mbid description: REST surface for work-mbid. operations: - method: GET name: lookupWork description: Lookup Work By MBID call: musicbrainz-works.lookupWork outputParameters: - type: object mapping: $. with: mbid: rest.mbid inc: rest.inc fmt: rest.fmt - path: /ws/2/work name: work description: REST surface for work. operations: - method: GET name: browseOrSearchWorks description: Browse Or Search Works call: musicbrainz-works.browseOrSearchWorks outputParameters: - type: object mapping: $. with: query: rest.query artist: rest.artist collection: rest.collection limit: rest.limit offset: rest.offset inc: rest.inc fmt: rest.fmt - type: mcp namespace: musicbrainz-works-mcp port: 9090 transport: http description: MCP adapter for MusicBrainz Web Service v2 — Works. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: lookup-work description: Lookup Work By MBID hints: readOnly: true destructive: false idempotent: true call: musicbrainz-works.lookupWork outputParameters: - type: object mapping: $. with: mbid: tools.mbid inc: tools.inc fmt: tools.fmt - name: browse-or-search-works description: Browse Or Search Works hints: readOnly: true destructive: false idempotent: true call: musicbrainz-works.browseOrSearchWorks outputParameters: - type: object mapping: $. with: query: tools.query artist: tools.artist collection: tools.collection limit: tools.limit offset: tools.offset inc: tools.inc fmt: tools.fmt