Open Brewery DB · Capability

Open Brewery DB

Open Brewery DB is a free dataset and API with public information on breweries, cideries, brewpubs, and bottleshops.

Run with Naftiko OpenBreweryDbAPI

What You Can Do

GET
Get breweries — Open Brewery DB List Breweries
/breweries
GET
Get breweries obdb id — Open Brewery DB Single Brewery
/breweries/{obdb-id}
GET
Get breweries random — Open Brewery DB Random Brewery
/breweries/random
GET
Get breweries search — Open Brewery DB Search Breweries
/breweries/search
GET
Get breweries autocomplete — Open Brewery DB Autocomplete
/breweries/autocomplete
GET
Get breweries meta — Open Brewery DB Metadata
/breweries/meta

MCP Tools

get-breweries

Open Brewery DB List Breweries

read-only idempotent
get-breweries-obdb-id

Open Brewery DB Single Brewery

read-only idempotent
get-breweries-random

Open Brewery DB Random Brewery

read-only idempotent
get-breweries-search

Open Brewery DB Search Breweries

read-only idempotent
get-breweries-autocomplete

Open Brewery DB Autocomplete

read-only idempotent
get-breweries-meta

Open Brewery DB Metadata

read-only idempotent

Capability Spec

open-brewery-db-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Open Brewery DB
  description: Open Brewery DB is a free dataset and API with public information on breweries, cideries, brewpubs, and bottleshops.
  tags:
  - Open
  - Brewery
  - Db
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: open-brewery-db
    baseUri: https://api.openbrewerydb.org/v1
    description: Open Brewery DB HTTP API.
    resources:
    - name: breweries
      path: /breweries
      operations:
      - name: get-breweries
        method: GET
        description: Open Brewery DB List Breweries
        inputParameters:
        - name: by_city
          in: query
          type: string
          description: Filter by city name.
        - name: by_state
          in: query
          type: string
          description: Filter by state name (no abbreviations).
        - name: by_country
          in: query
          type: string
          description: Filter by country name.
        - name: by_type
          in: query
          type: string
          description: Filter by brewery type.
        - name: by_postal
          in: query
          type: string
          description: Filter by postal code.
        - name: per_page
          in: query
          type: integer
          description: Number of breweries per page (default 50, max 200).
        - name: page
          in: query
          type: integer
          description: Page number for pagination.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: breweries-obdb-id
      path: /breweries/{obdb-id}
      operations:
      - name: get-breweries-obdb-id
        method: GET
        description: Open Brewery DB Single Brewery
        inputParameters:
        - name: obdb-id
          in: path
          type: string
          required: true
          description: The ID of the brewery.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: breweries-random
      path: /breweries/random
      operations:
      - name: get-breweries-random
        method: GET
        description: Open Brewery DB Random Brewery
        inputParameters:
        - name: size
          in: query
          type: integer
          description: Number of breweries to return (default 1, max 50).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: breweries-search
      path: /breweries/search
      operations:
      - name: get-breweries-search
        method: GET
        description: Open Brewery DB Search Breweries
        inputParameters:
        - name: query
          in: query
          type: string
          description: Search term.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: breweries-autocomplete
      path: /breweries/autocomplete
      operations:
      - name: get-breweries-autocomplete
        method: GET
        description: Open Brewery DB Autocomplete
        inputParameters:
        - name: query
          in: query
          type: string
          description: Search term.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: breweries-meta
      path: /breweries/meta
      operations:
      - name: get-breweries-meta
        method: GET
        description: Open Brewery DB Metadata
        inputParameters:
        - name: by_city
          in: query
          type: string
        - name: by_state
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: open-brewery-db-rest
    description: REST adapter for Open Brewery DB.
    resources:
    - path: /breweries
      name: get-breweries
      operations:
      - method: GET
        name: get-breweries
        description: Open Brewery DB List Breweries
        call: open-brewery-db.get-breweries
        outputParameters:
        - type: object
          mapping: $.
    - path: /breweries/{obdb-id}
      name: get-breweries-obdb-id
      operations:
      - method: GET
        name: get-breweries-obdb-id
        description: Open Brewery DB Single Brewery
        call: open-brewery-db.get-breweries-obdb-id
        with:
          obdb-id: rest.obdb-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /breweries/random
      name: get-breweries-random
      operations:
      - method: GET
        name: get-breweries-random
        description: Open Brewery DB Random Brewery
        call: open-brewery-db.get-breweries-random
        outputParameters:
        - type: object
          mapping: $.
    - path: /breweries/search
      name: get-breweries-search
      operations:
      - method: GET
        name: get-breweries-search
        description: Open Brewery DB Search Breweries
        call: open-brewery-db.get-breweries-search
        outputParameters:
        - type: object
          mapping: $.
    - path: /breweries/autocomplete
      name: get-breweries-autocomplete
      operations:
      - method: GET
        name: get-breweries-autocomplete
        description: Open Brewery DB Autocomplete
        call: open-brewery-db.get-breweries-autocomplete
        outputParameters:
        - type: object
          mapping: $.
    - path: /breweries/meta
      name: get-breweries-meta
      operations:
      - method: GET
        name: get-breweries-meta
        description: Open Brewery DB Metadata
        call: open-brewery-db.get-breweries-meta
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: open-brewery-db-mcp
    transport: http
    description: MCP adapter for Open Brewery DB for AI agent use.
    tools:
    - name: get-breweries
      description: Open Brewery DB List Breweries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries
      with:
        by_city: tools.by_city
        by_state: tools.by_state
        by_country: tools.by_country
        by_type: tools.by_type
        by_postal: tools.by_postal
        per_page: tools.per_page
        page: tools.page
      inputParameters:
      - name: by_city
        type: string
        description: Filter by city name.
      - name: by_state
        type: string
        description: Filter by state name (no abbreviations).
      - name: by_country
        type: string
        description: Filter by country name.
      - name: by_type
        type: string
        description: Filter by brewery type.
      - name: by_postal
        type: string
        description: Filter by postal code.
      - name: per_page
        type: integer
        description: Number of breweries per page (default 50, max 200).
      - name: page
        type: integer
        description: Page number for pagination.
      outputParameters:
      - type: object
        mapping: $.
    - name: get-breweries-obdb-id
      description: Open Brewery DB Single Brewery
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries-obdb-id
      with:
        obdb-id: tools.obdb-id
      inputParameters:
      - name: obdb-id
        type: string
        description: The ID of the brewery.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: get-breweries-random
      description: Open Brewery DB Random Brewery
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries-random
      with:
        size: tools.size
      inputParameters:
      - name: size
        type: integer
        description: Number of breweries to return (default 1, max 50).
      outputParameters:
      - type: object
        mapping: $.
    - name: get-breweries-search
      description: Open Brewery DB Search Breweries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries-search
      with:
        query: tools.query
      inputParameters:
      - name: query
        type: string
        description: Search term.
      outputParameters:
      - type: object
        mapping: $.
    - name: get-breweries-autocomplete
      description: Open Brewery DB Autocomplete
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries-autocomplete
      with:
        query: tools.query
      inputParameters:
      - name: query
        type: string
        description: Search term.
      outputParameters:
      - type: object
        mapping: $.
    - name: get-breweries-meta
      description: Open Brewery DB Metadata
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: open-brewery-db.get-breweries-meta
      with:
        by_city: tools.by_city
        by_state: tools.by_state
      inputParameters:
      - name: by_city
        type: string
        description: by_city
      - name: by_state
        type: string
        description: by_state
      outputParameters:
      - type: object
        mapping: $.