# update_menu

Update an existing navigation menu. Requires passing the entire menu structure including all items and their IDs. Consider using update_menu_item_children for simpler partial updates.

Agent View of the PolicyLayer registry record for `update_menu`. HTML page: https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/update-menu

## Facts

- Tool: `update_menu`
- Server: Shopify Graphql (`uvu-store/shopify-graphql-mcp`) — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp.md
- Homepage: https://github.com/UVU-Store/shopify-graphql-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_menu",
    "arguments": {}
  }
}
```

## Why update_menu is rated Medium

This tool modifies existing data (navigation menu structure) but does not delete, destroy, or cause irreversible changes. It creates or updates menu configurations which are reversible operations. The blast radius is limited to storefront navigation—an AI agent misusing this could deface the store's menu layout or links, affecting user experience, but not causing data loss or financial impact.

From the tool's own definition: "Tool description states: 'Update an existing navigation menu. Requires passing the entire menu structure including all items and their IDs.' The verb 'Update' and context of modifying navigation menus indicates data modification."

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Shopify Graphql (318)

- `cancel_fulfillment_order` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/cancel-fulfillment-order.md
- `cancel_order` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/cancel-order.md
- `cancel_subscription_contract` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/cancel-subscription-contract.md
- `delete_app_proxy` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-app-proxy.md
- `delete_cart_transform` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-cart-transform.md
- `delete_channel` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-channel.md
- `delete_collection` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-collection.md
- `delete_company` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-company.md
- `delete_company_contact` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-company-contact.md
- `delete_custom_fulfillment_service` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-custom-fulfillment-service.md
- `delete_custom_pixel` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-custom-pixel.md
- `delete_customer` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-customer.md
- `delete_customer_address` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-customer-address.md
- `delete_delivery_customization` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-delivery-customization.md
- `delete_delivery_option_generator` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-delivery-option-generator.md
- `delete_discount` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-discount.md
- `delete_draft_order` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-draft-order.md
- `delete_file` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-file.md
- `delete_fulfillment_constraint_rule` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-fulfillment-constraint-rule.md
- `delete_location` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-location.md
- `delete_market` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-market.md
- `delete_marketing_engagements` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-marketing-engagements.md
- `delete_marketing_event` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-marketing-event.md
- `delete_menu` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-menu.md
- `delete_metaobject` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-metaobject.md
- `delete_metaobject_definition` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-metaobject-definition.md
- `delete_order` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-order.md
- `delete_packing_slip_template` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-packing-slip-template.md
- `delete_page` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-page.md
- `delete_payment_customization` — Destructive — https://policylayer.com/tools/uvu-store-shopify-graphql-mcp/delete-payment-customization.md
- …and 288 more: https://policylayer.com/tools/uvu-store-shopify-graphql-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=uvu-store-shopify-graphql-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/uvu-store-shopify-graphql-mcp
