# update_shopping_items

Bulk update shopping items. Each item must include id and shoppingListId.

Agent View of the PolicyLayer registry record for `update_shopping_items`. HTML page: https://policylayer.com/tools/nikopol666-mealie-mcp/update-shopping-items

## Facts

- Tool: `update_shopping_items`
- Server: Mealie MCP Server (`nikopol666/mealie-mcp`) — https://policylayer.com/tools/nikopol666-mealie-mcp.md
- Homepage: https://github.com/nikopol666/mealie-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_shopping_items",
    "arguments": {}
  }
}
```

## Why update_shopping_items is rated Medium

This tool modifies existing data (shopping list items) but does not permanently delete data, execute arbitrary code, or create financial transactions. The bulk nature increases the severity to medium—a single command can modify multiple shopping items. It falls clearly under Write category as it creates or modifies data reversibly.

From the tool's own definition: "Tool performs bulk update of shopping items. The description explicitly states it 'updates' existing shopping items (rather than creating new ones), which is a reversible data modification."

## Use case

AI agents use update_shopping_items to create or update resources in Mealie MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mealie MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Mealie MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "update_shopping_items": {
      "limits": [
        {
          "counter": "update_shopping_items_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mealie MCP Server (242)

- `bulk_delete_recipes` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/bulk-delete-recipes.md
- `delete_admin_backup` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-backup.md
- `delete_admin_group` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-group.md
- `delete_admin_household` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-household.md
- `delete_admin_user` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-admin-user.md
- `delete_category` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-category.md
- `delete_comment` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-comment.md
- `delete_cookbook` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-cookbook.md
- `delete_food` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-food.md
- `delete_group_label` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-group-label.md
- `delete_group_report` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-group-report.md
- `delete_household_notification` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-household-notification.md
- `delete_household_webhook` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-household-webhook.md
- `delete_meal_plan_entry` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-meal-plan-entry.md
- `delete_meal_plan_rule` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-meal-plan-rule.md
- `delete_recipe` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe.md
- `delete_recipe_action` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-action.md
- `delete_recipe_image` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-image.md
- `delete_recipe_timeline_event` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-timeline-event.md
- `delete_recipe_tool` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-recipe-tool.md
- `delete_shared_recipe_record` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shared-recipe-record.md
- `delete_shopping_item` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-item.md
- `delete_shopping_items` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-items.md
- `delete_shopping_list` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-shopping-list.md
- `delete_tag` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-tag.md
- `delete_unit` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-unit.md
- `delete_user_api_token` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-user-api-token.md
- `delete_user_favorite` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/delete-user-favorite.md
- `purge_recipe_exports` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/purge-recipe-exports.md
- `remove_recipe_from_shopping_list` — Destructive — https://policylayer.com/tools/nikopol666-mealie-mcp/remove-recipe-from-shopping-list.md
- …and 212 more: https://policylayer.com/tools/nikopol666-mealie-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=nikopol666-mealie-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/nikopol666-mealie-mcp
