Search Cookwala recipes, dry-run them on a device, check safe bands, mandates and SMS. Read-only.
The open standard for cooking safely: people, kitchens and robots.
A Cookwala recipe says three things a machine can check: what to make, when it's done, and what must never happen. Devices dry-run a recipe before heating anything and refuse rather than guess; safety limits are enforced on the device and cannot be raised by any recipe, agent or message; records are hashed and signed; AI agents act only under a signed mandate and treat all text as data. A Humanitarian Profile lets food banks rescue surplus food safely by SMS and spreadsheet, with no personal data. A Household Context Profile keeps a home's facts at home.
Mission: help end hunger, make people healthier, and put robots to work for people. Hunger has many causes; Cookwala's part is real and partial: less waste, safer rescue, cheaper and healthier meals, machines that can feed people who cannot cook for themselves, and food organizations acting as one network. Evidence, with labels, is in docs/IMPACT.md.
Cookwala started as "the world's first and largest robot cooking recipes index and CLI", from one family's Egyptian recipes on fifi.cooking. The index and the CLI are here; "first" and "largest" were the original ambition, not claims; not a claim. Everything is open, royalty-free, model-neutral and device-neutral.
Status: Core 0.2 is a draft under public review; everything else is a draft or experimental profile. Live at cookwala.ai. Nothing is deployed in the field yet.
| Feature | Status | Note |
|---|---|---|
| Recipe format & schemas | ✅ Shipping | 2,043 recipes, 25+ languages each |
| Dry-run (device compatibility) | ✅ Shipping | Python & TypeScript SDKs produce identical results |
| Temperature envelope validation | ✅ Shipping | Safety limits enforced on device |
| Python SDK | ✅ Shipping | CLI + library (all Core operations) |
| TypeScript SDK | ✅ Shipping | MCP server + library (all Core operations) |
| Allergen data | ⚠️ 86% | 282 recipes missing allergen info (need 90%) |
| Search endpoint | ⏳ Blocked | Documented in OpenAPI, edge worker not deployed |
| Halal certification | 🔧 40% | Verification functions available, CLI/API/registry not yet |
| Humanitarian Profile | 🔧 Draft | SMS parsing & relief mode working |
| Certifications (RFC-0010) | 🔧 40% | Schema & conformance tests ready, deployment pending |
| You want to… | Go to |
|---|---|
| See it work in 2 minutes | Live dry run · cookwala dryrun examples/koshari.cookwala.json --device examples/capabilities/robot-arm.json |
| Read the standard | docs/CORE.md (normative) · whitepaper · RFCs |
| Browse 2,051 recipes, or use the SDK in your language | Recipe index (9 at V1, 2,042 imported from fifi.cooking at V0 (7 cuisines), names in 25 languages, text in Arabic and English) · SDK and 100 scenarios in Python, TypeScript, JavaScript, Go, Rust, Java, Kotlin, C#, Swift, C++, Ruby, PHP and curl · the site in six languages (English and Arabic by hand; French, Spanish, German and Portuguese by machine, labelled) |
| Build a device, hub or agent | Quickstart · Robots, ROS 2, datasets · reference hub · MCP server for AI agents (npx -y @cookwala/mcp, connect Claude, Codex, Copilot, Cursor, Windsurf, Devin, Antigravity) · Python · TypeScript · conformance |
| Start from working sample code | Samples: clients, agents, orchestrators, gates, recovery and reporting in Python, JavaScript, Java and C#, on simulated devices or a hub · packaged for pip, npm, Maven, Gradle, NuGet, Homebrew, Chocolatey, Scoop, apt, RPM, pacman, conda, snap, OCI and Artifactory, and as functions on Azure, AWS, Google Cloud and OpenShift (status: published on PyPI, npm, Maven Central, NuGet, Homebrew and GHCR; the other channels are prepared, not yet submitted) |
| Rescue food with phones and spreadsheets | Humanitarian Profile 0.2 · four worked flows · pilot protocol · concept note |
| Review nutrition and food-safety rules | rule packs · review template · claims policy |
| Understand what a household robot may know | Household Context Profile · facet registry · RFC-0001 |
| Publish or find things | Registry and directory · federation · certification path |
| Add a recipe | Open to anyone: by pull request, by GitHub issue (no git needed) or by API (RFC-0013) |
| Teach, research, legislate, think | lesson kit · research topics · policy brief · model language · essays |
| Play the simulators | home · city · country · world (illustrative models, not forecasts) |
| See every stakeholder's path | docs/STAKEHOLDERS.md · messaging rules · roadmap |
| Read the hard questions | critiques · action plan · backstory and gaps |
| Everything else | strategy · protocol and Missions (experimental) · kitchens and fleets · supply signals · prior art · patent landscape · governance · security · contributing |
python -m venv .venv && .venv/bin/pip install jsonschema pyyaml graphql-core cryptography
.venv/bin/python tools/validate_specs.py # schemas, examples, vocabularies, facet registry, APIs
.venv/bin/python tools/run_conformance.py # 137 vectors (Core and profiles); --report writes a ConformanceReport
.venv/bin/pip install -e sdk/python # the `cookwala` command used in the table above
node sim/run.mjs # the four simulators
bash tools/build_site.sh _site # the website
{
"id": "n11", "op": "cw.op.simmer", "inputs": ["eggs_in_wells"], "output": "shakshuka",
"params": { "heat": "low", "lid": "on" },
"until": { "all": [ { "vision": "cw.sense.egg_whites_set" },
{ "sensor": "cw.sense.core_temp", "target": "egg_white", "gte": 63, "optional": true } ],
"minTime": "PT5M", "maxTime": "PT10M" },
"onTimeout": "ask_human", "ccp": "ccp_eggs", "hazards": ["hz_steam"], "attention": "monitor"
}
Proposed changes, ideas from outside feedback and open questions, with an id per item for anyone to pick up or argue with: BACKLOG.md.
license field; collections whose rights are not yet confirmed carry LicenseRef-source-credited and publish structured facts only (LICENSES/LicenseRef-source-credited.md)Cookwala is started and operated by fifi.cooking. Cookwala data is provided without warranty. Device makers and operators are responsible for safe execution and for complying with local law.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @cookwala/mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"ai-cookwala-cookwala": {
"command": "npx",
"args": [
"-y",
"@cookwala/mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceCookwala works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.