The server defines 9 tools with basic naming following verb_noun convention and clear parameter schemas. However, descriptions are minimal (median ~60 chars, well below baseline 194), parameter descriptions lack context and constraints, output schemas are completely undocumented, and error handling provides no recovery guidance. The tool set shows reasonable composition (single responsibility per tool) but lacks the LLM-optimization required for A/B-grade work. No enums, no pagination guidance, no validation rules in descriptions. Schemas are present and typed, but sparse. Error handling is absent, tools return raw brew command output or generic errors. Audit of cmd/server.go confirms all 9 tools use mcp_core.NewTool() with descriptions, but descriptions are terse and parameter descriptions insufficient.
Show Homebrew and system configuration info useful for debugging. If you file a bug report, you will be required to provide this information.
Get version for specific installed formulae or casks
Display brief statistics for your Homebrew installation. If a formula or cask is provided, show summary of information about it.
Install a formula or cask.
List all installed formulae and casks
Perform a substring search of cask tokens and formula names for text
Uninstall a formula or cask.
No output schema documentation. Tools return raw text/JSON but callers cannot anticipate structure. LLMs must guess at response format.
Descriptions are minimal (35 - 50 chars). Baseline is 194 chars. Lack context on WHAT the tool does, WHEN to use it, and what it returns. E.g., 'info' says nothing about whether it requires a formula or summarizes the full installation.
Parameter descriptions lack validation rules, format guidance, or constraints. E.g., 'formula' param in 6 tools just says 'name of the specific formula or cask', no guidance on format, syntax, or valid patterns. No mention of how to discover available formulae.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 50 | - | v1 |
Fetch the newest version of Homebrew and all formulae from GitHub using git(1) and perform any necessary migrations.
Upgrade outdated casks and outdated, unpinned formulae.
No error handling guidance. If 'brew install' fails, the tool returns a raw error from brew. No recovery hints, no retryable vs fatal classification, no suggestion of alternative tools (e.g., 'try search() first').
No pagination or result-limiting guidance. list_installed_package_versions could return hundreds of packages with no limit or cursor. No mention of capping results or paging through large lists.
Tools expose complex brew behavior (flags like 'force', 'overwrite') without sufficient explanation of side effects. E.g., 'force' on uninstall says it 'ignores errors' but what does that mean in practice? Could data be lost?
No mention of prerequisites or dependencies. Does 'update_brew' require write access? Does 'install' require sudo? Do some tools only work on macOS? None of this is documented.
Parameter naming is inconsistent. 'formula' is used for both individual packages and search terms, but 'term' is also used in search(). Ambiguity over what 'formula' means (package name, exact package, package pattern?).