scraps-kitchen-mcp
by mitchmolstad
README.md
# Scraps Kitchen MCP Server
[](https://glama.ai/mcp/servers/mitchmolstad/scraps-mcp)
**Your AI assistant's cooking brain.** Scraps Kitchen gives any AI agent persistent, household-aware kitchen intelligence — pantry tracking, dietary safety, recipe management, shopping lists, and more.
Unlike generic chatbot memory, Scraps maintains structured cooking data: what's in your fridge, who you cook for, their allergies and preferences, your recipe history with cook notes, and your kitchen equipment. Any MCP-compatible agent can tap into this to have genuinely personalized cooking conversations.
**Live server:** `https://api.scraps.kitchen/mcp` (Streamable HTTP)
**Web app:** [scraps.kitchen](https://scraps.kitchen)
---
## Quick Start
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"scraps-kitchen": {
"type": "streamable-http",
"url": "https://api.scraps.kitchen/mcp"
}
}
}
```
### VS Code / Cursor
Add to your MCP settings:
```json
{
"servers": {
"scraps-kitchen": {
"type": "streamable-http",
"url": "https://api.scraps.kitchen/mcp"
}
}
}
```
On first use, you'll be prompted to authenticate via OAuth. You can create an account directly in the OAuth flow — a one-time code is sent to your email for verification. No need to visit scraps.kitchen separately.
---
## Tools (27)
### Meal Suggestions
| Tool | Description |
| -------------------- | ---------------------------------------------------------------------- |
| `suggest_quick_meal` | Generate a recipe from ingredients. 1 free call per user per 24 hours. |
### Pantry (6 tools)
| Tool | Description |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `get_pantry` | List pantry items with category, quantity, stock status, perishability, and storage hints. Filter by in-stock or stale items. |
| `add_pantry_items` | Add up to 50 items at once. Auto-enriched with food intelligence. |
| `update_pantry_item` | Update name, quantity, unit, category, or stock status. |
| `remove_pantry_item` | Permanently delete a pantry item. |
| `mark_ingredients_used` | Mark ingredients as consumed after cooking. Fuzzy name matching. Staples auto-skipped. |
| `confirm_pantry_fresh` | Reset staleness clock on items the user confirms are still good. |
### Shopping List (5 tools)
| Tool | Description |
| ------------------------------ | -------------------------------------------------------------------- |
| `get_shopping_list` | List shopping items with checked status. Filter by bought/remaining. |
| `add_shopping_list_item` | Add a single item to the list. |
| `add_recipe_to_shopping_list` | Add all ingredients from a saved recipe at once. |
| `check_off_shopping_item` | Mark items as bought or still needed. |
| `remove_shopping_list_item` | Remove a single item. |
| `clear_checked_shopping_items` | Remove all checked-off items at once (post-shopping cleanup). |
### Household (4 tools)
| Tool | Description |
| --------------- | --------------------------------------------------------------------------------------------------- |
| `get_household` | List household members with allergens, restrictions, preferences, dislikes, goals, and life stages. |
| `add_diner` | Add a household member with dietary profile. |
| `update_diner` | Update dietary details. Array fields replace entirely — send the full list. |
| `remove_diner` | Remove a member and their recipe ratings. |
### Equipment (4 tools)
| Tool | Description |
| ------------------ | --------------------------------------------- |
| `get_equipment` | List kitchen equipment (tools, appliances). |
| `add_equipment` | Add a piece of equipment with optional notes. |
| `update_equipment` | Update equipment name or notes. |
| `remove_equipment` | Remove equipment from inventory. |
### Recipes (6 tools)
| Tool | Description |
| ----------------------- | --------------------------------------------------------------------- |
| `get_recipes` | List saved recipes. Search by keyword, filter by status or favorites. |
| `get_recipe` | Full recipe detail: ingredients, steps, cook notes, diner ratings. |
| `update_recipe` | Update title, status, rating, favorite, or sharing status. |
| `delete_recipe` | Permanently delete a recipe and all associated data. |
| `add_recipe_note` | Record cook notes — observations, modifications, per-cook ratings. |
| `rate_recipe_for_diner` | Track which household members loved which recipes. |
---
## Authentication
All tools require authentication. Scraps uses **OAuth 2.1** with PKCE — most MCP clients handle this automatically. You'll see a login prompt on first connection, where you can sign in or create a new account with email OTP verification.
**Scopes:**
| Scope | Access |
| ----------------- | ------------------------------ |
| `read:pantry` | View pantry inventory |
| `read:household` | View household dietary info |
| `read:recipes` | View saved recipes |
| `write:pantry` | Update pantry |
| `write:recipes` | Save recipes and cooking notes |
| `write:shopping` | Manage shopping list |
| `write:household` | Manage household members |
| `write:equipment` | Manage kitchen equipment |
**Discovery:** `https://api.scraps.kitchen/.well-known/mcp.json`
---
## How Agents Use Scraps
Scraps is a **data layer**, not a reasoning engine. It stores structured kitchen intelligence that makes any AI assistant better at cooking conversations:
1. **Read the kitchen context** — `get_pantry`, `get_household`, `get_equipment`, `get_recipes`
2. **Use your own LLM** to reason about what to cook, considering allergies, preferences, and available ingredients
3. **Write back results** — `mark_ingredients_used`, `add_recipe_note`, `rate_recipe_for_diner`
Every interaction makes the data richer. More cook history, more diner feedback, more pantry accuracy — which makes the next conversation better.
---
## Example Workflows
**"What should I cook tonight?"**
1. `get_pantry` → see available ingredients
2. `get_household` → check dietary constraints and allergens
3. `get_equipment` → know what tools are available
4. `get_recipes(status: "cooked")` → see what's worked before
5. Agent reasons about a meal suggestion using all this context
**After cooking:**
1. `mark_ingredients_used(["chicken thighs", "ginger", "soy sauce"])` → update pantry
2. `add_recipe_note(recipe_id, "Added extra garlic, seared 2 min longer")` → build cook history
3. `rate_recipe_for_diner(recipe_id, diner_id, { loved_it: true })` → track preferences
**Grocery planning:**
1. `get_pantry(stale_only: true)` → items past freshness window
2. `get_shopping_list` → existing list
3. `add_shopping_list_item("eggs")` → add what's needed
4. After shopping: `add_pantry_items([...])` → restock, `clear_checked_shopping_items` → clean up list
---
## Links
- **Web app:** [scraps.kitchen](https://scraps.kitchen)
- **MCP endpoint:** `https://api.scraps.kitchen/mcp`
- **Discovery:** `https://api.scraps.kitchen/.well-known/mcp.json`
- **Official MCP Registry:** [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io)
---
## License
[MIT](LICENSE)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues