MusicBrainz · Capability

MusicBrainz Web Service v2 — Works

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

Run with Naftiko MusicBrainzWorks

What You Can Do

GET
Lookupwork — Lookup Work By MBID
/ws/2/work/{mbid}
GET
Browseorsearchworks — Browse Or Search Works
/ws/2/work

MCP Tools

lookup-work

Lookup Work By MBID

read-only idempotent
browse-or-search-works

Browse Or Search Works

read-only idempotent

Capability Spec

musicbrainz-works.yaml Raw ↑
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