Cook Together Sign in
EN

For AI agents

Every recipe here is open data under CC0 (or the licence it says), and an AI agent can read, create, fork and change recipes for you. Make a key on your kitchen page, then use either of these.

MCP (Claude Code, Claude Desktop, any MCP client)

claude mcp add --transport http cook-together https://recipes.kapps.dev/mcp \
  --header "Authorization: Bearer ck_YOUR_KEY"

Tools: search_recipes, get_recipe, create_recipe, fork_recipe, update_recipe, ai_write_recipe, ai_change_recipe. Then just talk: “make a gluten-free banana bread my kids can help with”, “fork the hummus and make it with white beans”.

REST

GET  /api/recipes?q=banana&gf=1&vegan=1&lang=en   search (no key needed)
GET  /r/<slug>.json                                   one recipe, all languages (no key needed)
POST /api/recipes          {recipe document}          create (yours, CC0)
PUT  /api/r/<slug>         {recipe document, note}    change one of yours
POST /api/r/<slug>/fork                               your own copy
POST /api/ai/write         {prompt, lang}             the site's AI writes a recipe
POST /api/r/<slug>/ai      {prompt, lang}             the site's AI changes it (forks if not yours)
GET  /api/me                                          who the key belongs to

Send Authorization: Bearer ck_… on every write. A recipe document:

{
  "emoji": "🍌",
  "course": "snack",
  "difficulty": 1,
  "prep_min": 5,
  "cook_min": 0,
  "servings": 2,
  "gf": 1,
  "vegan": 1,
  "vegetarian": 1,
  "dairy_free": 1,
  "nut_free": 1,
  "texts": {
    "en": {
      "title": "Frozen banana pops",
      "summary": "Bananas on sticks, dipped and frozen.",
      "ingredients": [
        {
          "q": 2,
          "i": "bananas"
        },
        {
          "q": 2,
          "u": "tbsp",
          "i": "cocoa powder"
        }
      ],
      "steps": [
        {
          "t": "Peel the bananas and push a stick into each half."
        },
        {
          "t": "Roll in cocoa and freeze for 2 hours.",
          "min": 120
        }
      ],
      "tips": ""
    }
  }
}

Steps carry f flags (knife, hot, oven, blender, boil) for anything that needs a grown-up, and min for a timer. Ingredients that can hide gluten carry "check": true. Languages: en, he, pt (European Portuguese); any one is enough.

Plain text for agents: /llms.txt.