# Open Brewery DB Alternative MCP

> Open Brewery DB Alternative accesses 30,000+ global breweries. Use your AI agent to find locations, check specific types (like nano or brewpub), and pull contact details—all through natural language queries.

## Overview
- **Category:** business-intelligence
- **Price:** Free
- **Tags:** craft-beer, brewery-data, location-search, database-query, natural-language-search

## Description

You're looking for breweries, but you don't know exactly where or what kind? This server handles it all. Your AI client uses natural language queries to access over 30,000 global brewery records.

If you start typing a name, the `autocomplete_breweries` tool suggests matches right away; that’s clutch for catching typos or narrowing down partial names. Need to find a bunch of places in one spot? You can use `get_breweries_by_city` to pull up every brewery in a specific city, or if you know the full scope, `get_breweries_by_state` lists all breweries within a given state.

If geography is your main thing, there are several ways to zero in. You can find everything operating within an entire nation using `get_breweries_by_country`. For pinpoint accuracy, use `get_breweries_by_postal`, which supports both 5-digit and ZIP+4 codes, or if you're near coordinates, `get_nearby_breweries` returns a list sorted by distance from your given latitude/longitude. You can combine location searches; the `list_breweries` tool lets you filter results using multiple criteria at once: city, state, country, postal code, and type.

When you know what kind of operation you're after, you don’t have to guess. Use `get_breweries_by_type` to restrict the search immediately, pulling only results for specific categories like 'micro,' 'nano,' or 'brewpub.' Need a general net? The `search_breweries` tool lets you look up matches across name, city, or state fields simultaneously.

If you already have a list of IDs, skip all the searching and use `get_breweries_by_ids` to get details for a group of breweries in one go. If you only care about one specific spot, `get_brewery` fetches every single data point using just that brewery's unique ID.

For maximum control, the combination search is powerful: `list_breweries` lets you stack filters—say, 'micro' type *and* in 'California' *and* within a certain 'postal code.' The system uses these tools to give you comprehensive data on addresses, phone numbers, and websites for any brewery you point it toward.

## Tools

### autocomplete_breweries
Suggests brewery names as you type, useful for correcting spelling or finding partial matches.

### get_breweries_by_ids
Retrieves details for a group of breweries when you know their unique IDs.

### get_brewery
Fetches all data for a single brewery using its ID.

### get_breweries_by_city
Retrieves a list of breweries located in a specified city.

### get_breweries_by_country
Finds all breweries within an entire country.

### get_breweries_by_postal
Finds breweries by postal code, supporting both 5-digit and ZIP+4 formats.

### get_breweries_by_state
Gets a list of breweries filtered to a specific state (use the full state name).

### get_breweries_by_type
Filters results by brewery type, including micro, nano, brewpub, and large.

### get_nearby_breweries
Finds and returns breweries near coordinates, sorted by distance from that point.

### list_breweries
Lists breweries using multiple filters at once: city, state, country, postal code, and type.

### search_breweries
Searches across name, city, or state fields for general brewery matches.

## Prompt Examples

**Prompt:** 
```
Find microbreweries in Portland, Oregon.
```

**Response:** 
```
Found 47 microbreweries in Portland, Oregon. Top results include 'Breakside Brewery', 'Cascade Brewing', and 'Hair of the Dog Brewing'. Would you like addresses and websites for any of these?
```

**Prompt:** 
```
What brewpubs are near downtown Denver?
```

**Response:** 
```
Found 12 brewpubs within 5 miles of downtown Denver (39.7392, -104.9903). Nearest: 'Wynkoop Brewing Company' at 1634 18th St, Denver. Also nearby: 'Great Divide Brewing' and 'Denver Beer Co.'.
```

**Prompt:** 
```
Search for breweries with 'dog' in the name.
```

**Response:** 
```
Found 8 breweries with 'dog' in the name including 'Hair of the Dog Brewing' (Portland, OR), 'Pug Runner Brewing' (Denver, CO), and 'Barking Dog Brewing' (Austin, TX).
```

## Capabilities

### Search by Location
Find multiple breweries within a city, state, country, or specific postal code.

### Filter by Brewery Type
Restrict results to specific categories like 'micro' (small craft) or 'brewpub' (restaurant/brewery).

### Find Nearby Sites
Get a list of breweries sorted by distance from provided latitude/longitude coordinates.

### Retrieve Single Records
Fetch all details for one specific brewery using its unique ID.

### Autocomplete Suggestions
Get suggested names as you type, preventing typos when searching by name.

## Use Cases

### Mapping a New Market Segment
A local marketing team needs to know where all 'micro' breweries are in Portland, Oregon. They ask their agent: 'List me microbreweries by state and city.' The agent runs `list_breweries` (city=Portland, type=micro, state=Oregon), returning a precise list of targets for outreach.

### Checking Competition Near an Event
A conference organizer needs to know what's within five miles of the convention center. They prompt: 'What brewpubs are near 34.0522, -118.2437?' The agent runs `get_nearby_breweries`, returning a sorted list that includes distance and contact details.

### Building a National Directory
A data scientist needs to compare the total number of 'large' breweries across all states in Texas. They instruct their agent: 'Get me all large breweries by state.' The agent runs `get_breweries_by_state` and filters the result using `get_breweries_by_type`.

### Verifying a Specific Location's Data
A user has an old address for 'The Dog House Brewery.' Instead of searching, they run `search_breweries` with the name. The agent finds the matching ID and runs `get_brewery`, confirming the current address, phone number, and website URL.

## Benefits

- Don't just search by name. Use `get_breweries_by_type` to filter specifically for nano or brewpubs, giving you hyper-targeted lists.
- Need market density? Instead of multiple map lookups, use `get_nearby_breweries` with coordinates to pull all relevant competition in a radius.
- Handling national reports? Run `get_breweries_by_country` first, then filter those results using `list_breweries` for state-level breakdowns.
- Typo protection is built in. Use `autocomplete_breweries` when building forms or scripts to guarantee you're working with the correct name.
- It handles all the heavy lifting: If you need an address, phone number, and latitude/longitude, simply use `get_brewery` on the ID.

## How It Works

The bottom line is: you talk to your agent in plain English, and it handles all the complex database filtering for you.

1. Subscribe to this server. No API key is needed because Open Brewery DB is free and open.
2. Your AI client routes the query (e.g., 'brewpubs near Seattle') to the correct tool endpoint.
3. The agent executes the search, returning a list of filtered breweries with their addresses and details.

## Frequently Asked Questions

**How do I find breweries in a specific state using the get_breweries_by_state tool?**
Just pass the full state name to `get_breweries_by_state`. It returns all results for that entire state, allowing you to paginate and sort the data right away.

**Can I find breweries using get_nearby_breweries if I only have a zip code?**
No. `get_nearby_breweries` requires specific latitude/longitude coordinates. If you only have a postal code, use the `get_breweries_by_postal` tool first to narrow down your area.

**Which tool should I use if I want to search by both city and type?**
The best approach is running `list_breweries`. This single tool lets you pass filters for both the specific city name and the required brewery type in one go.

**If I only have a partial name, what should I use? Should I run autocomplete_breweries?**
Yes. Run `autocomplete_breweries` first. It will give you suggestions based on your partial input, helping you lock down the correct full name before running any other search.

**If I have a list of IDs, how do I use the get_breweries_by_ids tool?**
It retrieves full details for multiple breweries in one call. You pass an array of IDs to the function, and the server returns all corresponding records immediately.

**When should I use list_breweries instead of search_breweries for filtering?**
Use list_breweries when you need precise structural filters. This tool lets you combine criteria like country AND brewery type, which offers more reliable results than general name matching.

**What ZIP code formats does get_breweries_by_postal support?**
It supports both standard 5-digit ZIP codes and the longer ZIP+4 format. The tool validates this structure, ensuring your search parameters are correct before querying the database.

**What data does get_brewery return when I only provide an ID?**
It returns the complete profile for a single brewery. This includes all available details: full address, contact phone number, website URL, and exact geographic coordinates.

**Do I need an API key or account?**
No! Open Brewery DB is a completely free, open-source project with no authentication required.

**What brewery types are available?**
Types include: micro (small craft), nano (very small), regional (regional craft), brewpub (brewery + restaurant), large (major brewery), planning, contract, proprietor, and closed.

**Can I find breweries near my location?**
Yes! Use `get_nearby_breweries` with your latitude and longitude coordinates to find breweries sorted by distance from your location.