Brewfather MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BREWFATHER_UNITS | No | Unit system: 'us' (default) or 'metric'. | us |
| BREWFATHER_API_KEY | Yes | Your Brewfather API key. Found in Brewfather Settings → API. Only shown once when generated. | |
| BREWFATHER_USER_ID | Yes | Your Brewfather User ID (28 characters). Found in Brewfather Settings → API. | |
| BREWFATHER_CACHE_TTL | No | Cache TTL in seconds for immutable data (completed/archived batches, recipes, inventory). | 900 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_batchesA | List brew batches, newest first by default. Ordering is by brew date, not by id — Brewfather's default Args: status: Optional filter. One of Planning, Brewing, Fermenting, Conditioning, Completed, Archived. limit: Maximum batches to return. Default 25. newest_first: Sort by brew date descending. Default True. Returns: Compact rows: id, batch number, name, style, brew date, status, and measured OG/FG/ABV. Use get_batch for the full record. |
| get_batchA | Fetch one batch in full, or just the sections you need. Full batch records are large. Passing Args:
batch_id: The batch Returns: Grain bill with weights and bill percentages, hop schedule with timing and use, yeast and pitch info, mash steps, fermentation schedule, water profile, and all measured values. Weights, volumes and temperatures carry both US customary and metric. |
| get_batch_readingsA | Fetch fermentation readings (Tilt or manual) for a batch. An active ferment can log thousands of points, so the series is downsampled evenly rather than returned whole. The first and last readings are always kept. Args:
batch_id: The batch Returns: The reading series plus a derived summary: first and last gravity, min/max/mean temperature, apparent attenuation, and days elapsed. The summary is always computed over the full series, not the downsampled one. |
| list_recipesA | List saved recipes. Note: Brewfather has no server-side name search. Args: limit: Maximum recipes to fetch before filtering. Default 25. name_contains: Case-insensitive substring filter applied client-side. Returns: Compact rows: id, name, style, type, OG, FG, ABV, IBU, colour. |
| get_recipeA | Fetch one recipe in full, or just the sections you need. Args:
recipe_id: The recipe Returns: The recipe with grain bill percentages, hop schedule, mash and fermentation steps, and target figures, in both unit systems. |
| list_inventoryA | List inventory for one ingredient category. Note: this returns only items you have added to your own inventory or set an amount on. It is not Brewfather's full ingredient database. Args: category: One of fermentables, hops, miscs, yeasts. in_stock_only: Only items with a positive inventory amount. Default True. Returns: Items with inventory amounts converted (fermentables in lb, hops and miscs in oz, yeast as pack counts), plus the relevant spec figures. |
| analyze_efficiencyA | Compute brewhouse efficiency across recent batches. For each batch: potential points from the grain bill, measured OG points,
and the measured volume, combined as
Per-fermentable potential comes from Brewfather's stored Args: limit: How many recent completed/archived batches to consider. Default 15. grain_only: Skip batches containing extract, sugar or other non-mashed fermentables, which inflate the figure. Default True. volume_basis: "fermenter" (default, matches Brewfather's own Brew House Efficiency — volume into the fermenter, so kettle losses count against you) or "post_boil" (kettle volume at flameout, which reads higher by exactly the transfer loss). Returns: Per batch: name, brew date, target vs measured OG, target vs measured volume, computed efficiency, and Brewfather's stored figure with the delta between them. Then aggregates: mean, median, standard deviation, overall and split by batch size. |
| compare_batchesA | Line up 2-5 batches side by side on one dimension. Rows are aligned by ingredient or step name, with an explicit null where a batch does not use that item — absence is usually the thing you are looking for when comparing versions of a recipe. Args:
batch_ids: Between 2 and 5 batch Returns: An aligned table: one row per ingredient or measurement, one column per batch, plus totals where a total is meaningful. |
| check_connectionA | Verify credentials and report server configuration. Makes one minimal API call. Never echoes credential values. Returns: Connection status, the configured unit system and cache TTL, and cache hit statistics for this session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/flattery89/brewfather-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server