cellar speaks MCP, so a coding assistant can run
it for you. Instead of remembering flags, you ask “what changed in WhatsApp Web’s
group code this release” and the assistant picks the commands.
Install
These recipes are run withjust. If you do not have
it yet:
1
Installs the binary
Puts
cellar at ~/.cargo/bin/cellar, so the assistant does not depend on your
checkout staying where it is.2
Registers the MCP server
Runs
claude mcp add or codex mcp add at user scope, so it is available in
every project rather than just this one.3
Installs the skill
Copies a skill file that tells the assistant what cellar is for, which command
answers which question, and how to read the results.
What the skill adds
The MCP server exposes the commands. The skill teaches judgement, which matters more than it sounds. Without it an assistant will happily run an unfiltered search across 187,000 modules and drown in Facebook login screens. The skill tells it to narrow by name first, to pick a filter deliberately, and to reach for the dependent graph when asked “what uses this” instead of trying to grep for it. It also tells the assistant to read the extraction diagnostics before trusting an empty result, so “I found nothing” and “the download was incomplete” do not get reported the same way.The tools
Sixteen tools, mirroring the CLI.
Read-only tools are marked as such, so an assistant knows which are safe to run
without asking.
bundle_remove requires an explicit confirm: true. bundle_add is
the only tool marked as reaching the network.
Things worth asking it
Once installed, these all work as plain requests:- “What changed in WhatsApp Web between the two versions I have? Skip the noise.”
- “Find where WhatsApp Web builds the stanza for disappearing messages.”
- “What uses
WAWebSendMsgStanza? Draw it as a diagram.” - “Are there any new protobuf fields in the latest release?”
- “Show me every new module related to newsletters, and read the interesting ones.”
Running it manually
If you want to connect cellar to something else, the server speaks JSON-RPC over stdio:isError: true and the message as
content, rather than a transport error, so the model can read what went wrong and try
something else.