MusicBrainz · Capability

MusicBrainz Web Service v2 — Releases

MusicBrainz Web Service v2 — Releases. 2 operations. Lead operation: Lookup Release By MBID. Self-contained Naftiko capability covering one MusicBrainz business surface.

Run with Naftiko MusicBrainzReleases

What You Can Do

GET
Lookuprelease — Lookup Release By MBID
/ws/2/release/{mbid}
GET
Browseorsearchreleases — Browse Or Search Releases
/ws/2/release

MCP Tools

lookup-release

Lookup Release By MBID

read-only idempotent
browse-or-search-releases

Browse Or Search Releases

read-only idempotent

Capability Spec

musicbrainz-releases.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: MusicBrainz Web Service v2 — Releases
  description: 'MusicBrainz Web Service v2 — Releases. 2 operations. Lead operation: Lookup Release By MBID. Self-contained
    Naftiko capability covering one MusicBrainz business surface.'
  tags:
  - MusicBrainz
  - Releases
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
- namespace: env
  keys:
    MUSICBRAINZ_USER_AGENT: MUSICBRAINZ_USER_AGENT
capability:
  consumes:
  - type: http
    namespace: musicbrainz-releases
    baseUri: https://musicbrainz.org/ws/2
    description: MusicBrainz Web Service v2 — Releases business capability. Self-contained, no shared references.
    resources:
    - name: release-mbid
      path: /release/{mbid}
      operations:
      - name: lookupRelease
        method: GET
        description: Lookup Release 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: release
      path: /release
      operations:
      - name: browseOrSearchReleases
        method: GET
        description: Browse Or Search Releases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: string
        - name: area
          in: query
          type: string
        - name: artist
          in: query
          type: string
        - name: collection
          in: query
          type: string
        - name: label
          in: query
          type: string
        - name: recording
          in: query
          type: string
        - name: release-group
          in: query
          type: string
        - name: track
          in: query
          type: string
        - name: track_artist
          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-releases-rest
    port: 8080
    description: REST adapter for MusicBrainz Web Service v2 — Releases. One Spectral-compliant resource per consumed operation,
      prefixed with /ws/2.
    resources:
    - path: /ws/2/release/{mbid}
      name: release-mbid
      description: REST surface for release-mbid.
      operations:
      - method: GET
        name: lookupRelease
        description: Lookup Release By MBID
        call: musicbrainz-releases.lookupRelease
        outputParameters:
        - type: object
          mapping: $.
        with:
          mbid: rest.mbid
          inc: rest.inc
          fmt: rest.fmt
    - path: /ws/2/release
      name: release
      description: REST surface for release.
      operations:
      - method: GET
        name: browseOrSearchReleases
        description: Browse Or Search Releases
        call: musicbrainz-releases.browseOrSearchReleases
        outputParameters:
        - type: object
          mapping: $.
        with:
          query: rest.query
          area: rest.area
          artist: rest.artist
          collection: rest.collection
          label: rest.label
          recording: rest.recording
          release-group: rest.release-group
          track: rest.track
          track_artist: rest.track_artist
          limit: rest.limit
          offset: rest.offset
          inc: rest.inc
          fmt: rest.fmt
  - type: mcp
    namespace: musicbrainz-releases-mcp
    port: 9090
    transport: http
    description: MCP adapter for MusicBrainz Web Service v2 — Releases. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: lookup-release
      description: Lookup Release By MBID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: musicbrainz-releases.lookupRelease
      outputParameters:
      - type: object
        mapping: $.
      with:
        mbid: tools.mbid
        inc: tools.inc
        fmt: tools.fmt
    - name: browse-or-search-releases
      description: Browse Or Search Releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: musicbrainz-releases.browseOrSearchReleases
      outputParameters:
      - type: object
        mapping: $.
      with:
        query: tools.query
        area: tools.area
        artist: tools.artist
        collection: tools.collection
        label: tools.label
        recording: tools.recording
        release-group: tools.release-group
        track: tools.track
        track_artist: tools.track_artist
        limit: tools.limit
        offset: tools.offset
        inc: tools.inc
        fmt: tools.fmt