Skip to main content
Glama
Zé Delivery MCP

Zé Delivery MCP

Unofficial. Not affiliated with, endorsed by, or supported by Zé Delivery or Ambev. The consumer GraphQL at api.ze.delivery/public-api can change without notice.

Never pays by default. ze_place_order and ze_cancel_order do nothing unless ZE_ALLOW_MUTATIONS is enabled and explicit_user_intent is true. Guest tokens cannot charge. Street, phone, email and GPS/latlng polylines are redacted.

Setup in 60 seconds

npx -y ze-mcp-unofficial setup
npx -y ze-mcp-unofficial auth --from-header "Bearer eyJ…"
npx -y ze-mcp-unofficial doctor

Token is not OAuth. Capture a consumer request to api.ze.delivery → copy the Authorization header. Catalog/search still run without a token; pay tools stay blocked.

Stdio snippet (Claude Desktop, Cursor, Grok Bot). Do not set mutations in the snippet:

{
  "mcpServers": {
    "ze": {
      "command": "npx",
      "args": ["-y", "ze-mcp-unofficial"]
    }
  }
}

See examples/claude-desktop.json and examples/grok-bot.md.

Related MCP server: mcp-kroger

Skill or MCP

Same package, two doors. MCP registers tools on stdio/HTTP. The skill is the workflow (search → stop before order) and can drive the same tools through the CLI when the client has no MCP:

npx -y ze-mcp-unofficial call ze_search --json '{"query":"brahma"}'

Gates are identical. Copy skill/SKILL.md into your agent skills dir (~/.agents/skills/ze/ or Claude/Grok equivalent).

Tools

Kind

Tools

Read · catalog

ze_list_categories, ze_list_groups, ze_search, ze_load_category, ze_product_detail

Read · cart / pay

ze_get_cart, ze_list_payment_methods, ze_load_checkout, ze_checkout_preview

Read · account

ze_order_history, ze_track_order

Meta

ze_connection_status, ze_capabilities (includes honest_gaps), ze_privacy_audit

Gated cart

ze_bulk_add_to_cart (also 18+), ze_clear_cart_items, ze_apply_coupon

Gated pay (mutations and intent)

ze_place_order (also 18+), ze_complete_checkout (also 18+), ze_cancel_order

Intent only

ze_logout, ze_rate_order

HTTP (optional, loopback)

Default transport is stdio. Streamable HTTP binds 127.0.0.1 and checks Origin against http://127.0.0.1:<port> (override with ZE_MCP_ALLOWED_ORIGIN). This is DNS-rebinding mitigation, not a public server.

npx -y ze-mcp-unofficial --http
# GET  http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp

Security

Tokens live in ~/.ze-mcp/tokens.json (0600). They are not in git, the npm tarball, or default examples. Full notes: SECURITY.md. Agents: llms.txt.

Tests

npm test

No live Zé login required.

Available Tools

22 tools
ze_apply_couponApply Zé coupon (gated)B
Destructive

applyCoupon(couponCode: String!). Dual-gated. Does not checkout.

Inputs: coupon_code (required), response_format, explicit_user_intent.

ze_bulk_add_to_cartBulk add to Zé cart (gated)B
Destructive

bulkAddToCart(bulkAddToCartInput). Dual-gated plus fail-closed 18+ confirmation. Does not checkout.

Inputs: bulk_add_to_cart_input (required), response_format, confirmed_legal_age, explicit_user_intent.

ze_cancel_orderCancel a Zé order (gated)A
Destructive

Fail-closed. Needs ZE_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge.

Inputs: order_id (required), response_format, explicit_user_intent.

ze_capabilitiesZé capabilitiesB
Read-onlyIdempotent

What this unofficial MCP can read and which writes stay gated.

Inputs: response_format.

ze_checkout_previewZé checkout previewA
Read-onlyIdempotent

Read-only loadCheckout query. Does not run the manageCheckout mutation and does not charge.

Inputs: privacy_mode, response_format.

ze_clear_cart_itemsClear Zé cart items (gated)C
Destructive

clearCartItems. Dual-gated. Does not checkout.

Inputs: response_format, explicit_user_intent.

ze_complete_checkoutComplete Zé checkout (gated pay)B
Destructive

completeCheckout needs access token (401 without). Dual-gated plus 18+ confirmation.

Inputs: input, response_format, confirmed_legal_age, explicit_user_intent.

ze_connection_statusZé connection statusC
Read-onlyIdempotent

Local doctor: token present, mutations off by default, unofficial Zé Delivery GraphQL.

Inputs: response_format.

ze_get_cartInspect Zé cartC
Read-onlyIdempotent

loadCart { cart { id } }. Field names other than cart failed GraphQL validation.

Inputs: privacy_mode, response_format.

ze_list_categoriesList Zé catalog categoriesA
Read-onlyIdempotent

Read-only listCategories on the unofficial public GraphQL. Does not place an order.

Inputs: privacy_mode, response_format.

ze_list_groupsList Zé root product groupsA
Read-onlyIdempotent

Read-only listRootProductGroups (Ofertas, Cervejas, …). Does not place an order.

Inputs: privacy_mode, response_format.

ze_list_payment_methodsZé payment methodsC
Read-onlyIdempotent

listPaymentMethods (200 with internal error without a full session). Last-four redacted. Does not charge.

Inputs: privacy_mode, response_format.

ze_load_categoryLoad a Zé categoryD
Read-onlyIdempotent

Read-only loadCategory (live 200 with checkout-information-not-found without session).

Inputs: category_id (required), privacy_mode, response_format.

ze_load_checkoutZé loadCheckoutA
Read-onlyIdempotent

Read-only loadCheckout. Does not complete payment.

Inputs: privacy_mode, response_format.

ze_logoutClear local Zé tokenA
DestructiveIdempotent

Deletes ~/.ze-mcp/tokens.json. Requires explicit_user_intent.

Inputs: response_format, explicit_user_intent.

ze_order_historyZé order historyA
Read-onlyIdempotent

Past consumer orders. Read-only. Street/phone/GPS redacted.

Inputs: privacy_mode, response_format.

ze_place_orderPlace a Zé order (gated)A
Destructive

Fail-closed. Needs ZE_ALLOW_MUTATIONS and explicit_user_intent. Guest tokens cannot charge. Default examples never enable this.

Inputs: input, response_format, confirmed_legal_age, explicit_user_intent.

ze_privacy_auditZé privacy auditA
Read-onlyIdempotent

Shows redaction defaults (street/phone/GPS) and that place-order is off unless both gates are set.

Inputs: response_format.

ze_product_detailZé product detailC
Read-onlyIdempotent

loadProduct(id) with category. Read-only.

Inputs: product_id (required), privacy_mode, response_format.

ze_rate_orderRate a Zé orderC
Destructive

rateOrder(orderNumber, rating). Requires explicit_user_intent. Does not charge.

Inputs: rating (required), order_id (required), response_format, explicit_user_intent.

ze_track_orderTrack a Zé orderB
Read-onlyIdempotent

loadOrder(orderNumber). Status only. Does not return GPS polylines or courier phone.

Inputs: order_id (required), privacy_mode, response_format.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.6/5.0

    Scored across 22 tools

    Disambiguation2/5

    Several tools overlap in purpose: ze_checkout_preview and ze_load_checkout both describe the same read-only loadCheckout operation, and ze_place_order versus ze_complete_checkout has unclear boundaries around checkout versus order placement. The three meta tools (ze_connection_status, ze_capabilities, ze_privacy_audit) also cover similar ground, and ze_list_groups/ze_list_categories/ze_load_category are not clearly differentiated.

    Naming Consistency3/5

    The ze_ prefix and snake_case are consistent, and many names follow verb_noun (ze_search, ze_apply_coupon, ze_cancel_order). However, there is a mix of noun-phrase names like ze_order_history, ze_product_detail, ze_connection_status, ze_capabilities, and ze_privacy_audit, plus ze_checkout_preview inverts the verb-object order. The pattern is readable but not consistently applied.

    Tool Count3/5

    22 tools is on the heavy side for the apparent scope, especially with duplicate checkout-reading tools and several overlapping meta/status tools. The count feels padded rather than deliberately minimal, though not so large as to be overwhelming.

    Completeness2/5

    Core browsing and ordering flows exist, but there are major gaps: ze_get_cart only returns the cart id, not its contents, and there is no remove-item or update-quantity tool. There is also no login flow to complement ze_logout, and order tracking deliberately omits details like GPS and courier info, leaving agents unable to fully support cart management or order follow-up.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to search products, manage shopping carts, clip digital coupons, check fuel points, schedule delivery/pickup, and place grocery orders with Kroger.
      15
      51 npm
      2
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      Enables AI agents to access iFood orders, addresses, restaurants, and cart locally, with fail-closed checkout requiring explicit opt-in.
      33
      35 npm
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI agents to search ClickBus places and trips, view booking history, and track bookings while keeping credentials local, with booking and cancellation actions blocked by default until explicitly enabled.
      14
      23 npm
      MIT