# Stovetab > Stovetab is a recipe library and cooking companion that sends cooks to the people who wrote the recipes. Agents can find recipes, read their ingredients, scale them and plan with them. Stovetab never returns the method (the steps) of an author's recipe: when the person wants to cook, give them the recipe's `cook_url`. It opens the author's own page, where the Stovetab browser extension shows the steps one at a time beside it. The author keeps the visit, the credit and their ad revenue. StoveTab is operated by AKDARRAH LLC. [Terms of Use](https://stovetab.com/terms) · [Privacy Policy](https://stovetab.com/privacy) · hello@akdarrah.com ## Rules for agents - To cook a recipe, send the person to `cook_url`. Don't rewrite, summarise or reconstruct the method from elsewhere. - `source_url` is the author's page; prefer `cook_url`, which counts the visit for the author. - Ingredients, times, servings, nutrition and ratings are yours to use: shopping lists, meal plans, substitutions. - Recipes a person uploaded themselves come back in full (with `steps`) to that person's own token. ## MCP server `https://stovetab.com/mcp` (Streamable HTTP). 18 tools covering everything below. Add the person's token as a header, for example in Claude Code: claude mcp add --transport http stovetab https://stovetab.com/mcp --header "Authorization: Bearer stv_…" Search and recipe tools work without a token. ## API Base URL: https://stovetab.com/api/v1 · JSON · [OpenAPI spec](https://stovetab.com/api/v1/openapi.json) - `GET /recipes?q=&tag=&max_minutes=&page=`: search listed recipes (20 a page; `next_page` when there are more). - `GET /recipes/{id}?servings=&units=original|metric|us`: one recipe with its ingredients, scaled and converted. - `GET /recipes/{id}/similar`: recipes like it, from other sites first. Reads need no token. A personal token (`Authorization: Bearer stv_…`, made at https://stovetab.com/account/edit) identifies the person; it also lets you open their own uploads. Errors are `{"error": "...", "message": "..."}`; 120 requests a minute. ## With a token: the person's kitchen - `GET /me` - Saves: `GET /saves`, `PUT /saves/{recipe_id}`, `DELETE /saves/{recipe_id}` - Cooks: `GET /cooks`, `POST /recipes/{id}/cooks` `{"stars": 1-5, "note": "..."}` (each cook has a `share_url` for socials, which links to the author) - Shopping list, merged and grouped by aisle: `GET /shopping_list`, `PUT /shopping_list/recipes/{recipe_id}` `{"servings": 6}`, `DELETE /shopping_list/recipes/{recipe_id}`, `POST /shopping_list/check` `{"key": "...", "checked": true}`, `DELETE /shopping_list` - Add a recipe by URL: `POST /recipes/import` `{"url": "https://..."}`. Stovetab reads the page itself; 20 an hour. Until it is reviewed it is not in search, but its id works everywhere else. - The person's own recipes, in full: `GET /uploads`, `POST /uploads`, `PATCH /uploads/{id}`, `DELETE /uploads/{id}` (`name`, `servings`, `total_minutes`, `ingredients` and `steps` one per line or as arrays, `tags`, `visibility`: `private` or `link`) ## Command line The `stovetab` command is one Ruby file, standard library only: `curl -o /usr/local/bin/stovetab https://stovetab.com/stovetab && chmod +x /usr/local/bin/stovetab`. Then `stovetab login`, `search`, `show ID`, `open ID` (the author's page), `list add ID --servings 6`, `cook ID --stars 5`, `import URL` and more; `--json` on every command.