MusicBrainz · Capability

MusicBrainz Web Service v2 — Instruments

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

Run with Naftiko MusicBrainzInstruments

What You Can Do

GET
Lookupinstrument — Lookup Instrument By MBID
/ws/2/instrument/{mbid}
GET
Browseorsearchinstruments — Browse Or Search Instruments
/ws/2/instrument

MCP Tools

lookup-instrument

Lookup Instrument By MBID

read-only idempotent
browse-or-search-instruments

Browse Or Search Instruments

read-only idempotent

Capability Spec

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