Developers
The Pantry Butler knows what is actually in someone's kitchen. That makes one question answerable here that a recipe search cannot answer anywhere: what can I cook tonight, with what I already have?
https://thepantrybutler.com/mcp — streamable HTTP,
JSON-RPC, same bearer tokens. Prefer it: the tools carry descriptions that tell an
assistant when to use them, which a REST spec can only hint at.
https://thepantrybutler.com/openapi.json — it needs no sign-in to read.
Create one on the Connect page. It is shown once and stored only as a
hash, so copy it then. Choose read unless the assistant needs to add things.
curl https://thepantrybutler.com/api/v1/cook-tonight \
-H "Authorization: Bearer pb_live_..."
| Path | What it does | Scope | |
|---|---|---|---|
GET |
/api/v1/me |
Who this token acts for Plan, recipe count and remaining allowance. Never returns an email address. |
read |
GET |
/api/v1/cook-tonight |
What can I cook right now? Every saved recipe scored against what is actually in this person's kitchen, best matches first. `can_make: true` means nothing is missing. This is the question the app exists to answer and the one no recipe search can. |
read |
GET |
/api/v1/pantry |
What is in the kitchen Items with their location (pantry, fridge, freezer) and expiry where known. |
read |
POST |
/api/v1/pantry |
Add items to the kitchen Send plain language — "2 lemons", "half a bag of spinach". Up to 50 at a time. Optional `location` of pantry, fridge or freezer. |
write |
GET |
/api/v1/recipes |
Saved recipes Title, source credit, source link and timings for up to 200 recipes. |
read |
POST |
/api/v1/recipes |
Save a recipe from a link Accepts a URL and returns 202 with the capture endpoint to call. Importing runs an AI extraction and is deliberately a separate, slower call. |
write |
A token reaches these endpoints and nothing else. It cannot see or change a subscription, alter account settings, delete an account, or read an email address. If one leaks, revoke it in Account — the worst case is someone sees a recipe list.
120 requests a minute per token. Up to 10 live tokens per account. Tokens can be given an expiry when created, and revoked at any time.