MCP server for beer and brewery information lookup, providing BJCP beer style guidelines, beer search, and brewery directory services
BrewSource provides three well-named, read-only tools with reasonable descriptions and formal input schemas. However, there are significant gaps in parameter descriptions, output schema documentation, and error handling guidance. Tool names follow verb_noun convention (bjcp_lookup, search_beers, find_breweries) which is good. Descriptions are adequate (57-93 chars) but lack strategic guidance about when to use each tool vs. alternatives. Input schemas are present with type definitions but parameter descriptions are terse or missing detail about format/constraints. Output schemas are entirely undocumented, the LLM has no visibility into what fields are returned, which violates pattern:tool and blocks downstream tool composition. No explicit error recovery guidance. The lack of documentation around pagination limits (mentioned in schema as 'default: 20, max: 100') in the tool description itself is a missed opportunity. Overall, the server demonstrates competent foundational tool design but lacks the polish needed for production-grade agent integration.
Look up BJCP beer style information by style code or name
Find breweries by name, location, city, state, or country
Search for commercial beers by name, style, brewery, or location
No output schemas documented for any tool. LLMs cannot infer what fields are returned or plan downstream tool calls without explicit schema documentation.
Parameter descriptions are terse or missing critical detail about format constraints, valid values, and dependencies. E.g., 'style' in search_beers lacks clarity (BJCP code vs. name?), 'location' params are overloaded without explanation of expected format.
Tool descriptions lack strategic guidance about when to use each tool vs. alternatives. E.g., bjcp_lookup vs search_beers overlap is not clarified. LLMs may invoke the wrong tool.
No error handling or recovery guidance. If a user queries 'IPA' and find_breweries returns zero results, what should the agent do? The tool provides no hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 65 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | 2024-11-05+ | v1 |
Pagination behavior is mentioned in input schemas (default: 20, max: 100) but not documented in tool descriptions. Limit parameter appears on search_beers and find_breweries but descriptions do not explain pagination or cursor-based vs. offset-based semantics.
Parameter relationships undocumented. In find_breweries, the relationship between 'location' (general) and 'city'/'state'/'country' (specific) is unclear. Are they mutually exclusive or can both be provided?