diff options
Diffstat (limited to 'mcp_server')
| -rw-r--r-- | mcp_server/server.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/mcp_server/server.py b/mcp_server/server.py index cc8fe4a..dcc960b 100644 --- a/mcp_server/server.py +++ b/mcp_server/server.py @@ -73,15 +73,18 @@ def add_to_pantry(items: list[dict]) -> dict: """Add items the user bought. Each item is {name, location?, quantity?, unit?} — e.g. {"name": "pork mince", "location": "fridge"}. Existing items are restocked (set back to In) rather than duplicated.""" - payload = [ - { + payload = [] + for it in items: + entry = { "ingredient_name": it.get("name") or it.get("ingredient_name"), "location": it.get("location", "fridge"), - "quantity": it.get("quantity"), - "unit": it.get("unit"), } - for it in items - ] + # Only forward optional fields when set, so the API applies its defaults. + if it.get("quantity") is not None: + entry["quantity"] = it["quantity"] + if it.get("unit"): + entry["unit"] = it["unit"] + payload.append(entry) try: return _api.bulk_add(payload) except FoodApiError as e: |
