# Lezzoo (remote · mcp.lezzoo.com)

Order food, groceries & pharmacy delivery in Kurdistan & Iraq: search, menus, cart, checkout.

- Trust score: 70/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.lezzoo.com`: 70/100 (this document), [markdown](https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp.md), [page](https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp)

## Channel facts

- Endpoint: `https://mcp.lezzoo.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.15.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (place_order).
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 87/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2644 tokens (~97/item across 27 items; 21 tools + 6 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the Lezzoo MCP server?

Lezzoo is a hosted endpoint at https://mcp.lezzoo.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-lezzoo-lezzoo 'https://mcp.lezzoo.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-lezzoo-lezzoo": {
      "url": "https://mcp.lezzoo.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-lezzoo-lezzoo": {
      "type": "http",
      "url": "https://mcp.lezzoo.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-lezzoo-lezzoo]
url = "https://mcp.lezzoo.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-lezzoo-lezzoo": {
      "type": "remote",
      "url": "https://mcp.lezzoo.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-lezzoo-lezzoo --url 'https://mcp.lezzoo.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-lezzoo-lezzoo:
    url: "https://mcp.lezzoo.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-lezzoo-lezzoo": {
      "Transport": "http",
      "Url": "https://mcp.lezzoo.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-lezzoo-lezzoo -t streamable-http -u 'https://mcp.lezzoo.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-lezzoo-lezzoo": {
      "type": "http",
      "url": "https://mcp.lezzoo.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 67, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-29 (score 66)

First indexed and scored.

## MCP tools (21)

### `search` (~252 tokens)

Search restaurants & products

Search Lezzoo for restaurants/stores near a location. Results are ranked by relevance and proximity, so location matters: pass the user's latitude/longitude when known. If location is unknown, the user's area/address can be used to derive it; otherwise a configured default location applies. Returns restaurants as cards (when the host supports MCP Apps). Use a returned merchant's `merchant_id` with `search_merchant_products` to open its menu. Anonymous — no sign-in or account is required. Read-only.

Input parameters:

- `city` (string): City to scope results. Defaults server-side.
- `departmentId` (integer): Optional department id to scope to one vertical (e.g. Food, Grocery, Pharmacy).
- `language` (string): Result language: en, ar, kr, bd.
- `latitude` (number): User latitude (-90..90). Ask the user if unknown; falls back to the server default.
- `longitude` (number): User longitude (-180..180). Falls back to the server default.
- `page` (integer): 1-based result page (default 1).
- `query` (string, required): Free-text search term, e.g. 'burger', 'pharmacy', 'pizza'.

Output parameters:

- `merchants` (array): Matched restaurants/stores as cards (each has merchant_id, name, …).
- `summary` (object): Result summary: merchant_count, tags, truncated, note.

### `search_merchant_products` (~262 tokens)

Show a merchant's menu / products

Show the menu for a merchant/restaurant by merchant_id (from a `search` result). The result includes the menu's `categories` (sections); pass a `categoryId` to browse that section's items (paged via `page`, with `has_more`). Omit both to show the top items; provide `query` to search within the menu. Renders as cards with category tabs and Prev/Next when the host supports MCP Apps. Results are paginated — a single response is only part of the menu. To locate a specific item, call this with `query="<item name>"`, which searches the entire menu across pages and sections (more reliable than paging for finding a named item).

Input parameters:

- `categoryId` (integer): Menu section id (from the result's `categories`) to browse.
- `city` (string): City scope. Defaults server-side.
- `language` (string): Result language: en, ar, kr, bd.
- `merchantId` (integer, required): Merchant id, e.g. from a `search` result's merchant_id.
- `page` (integer): 1-based page within the category (default 1).
- `query` (string): Optional search term within this merchant; omit for the menu.

Output parameters:

- `categories` (array): Menu sections (id, name).
- `category_id` (number): The section this page is showing.
- `has_more` (boolean): Whether more pages exist for this section.
- `merchant` (object): The merchant (merchant_id, name).
- `page` (number): 1-based page within the category.
- `product_count` (number): Number of products in this response.
- `products` (array): Products on this page.
- `products_omitted` (number)
- `total_found` (number)

### `get_full_menu` (~118 tokens)

Show the full menu

Fetch the entire menu of a merchant in one call — all categories and all items. Use this when the user wants to browse the full menu, or when you need to find an item across all sections without paging. Returns every category with its products. Capped at 250 items total; if truncated, use search_merchant_products with query= to find specific items.

Input parameters:

- `language` (string): Result language: en, ar, kr, bd.
- `merchantId` (integer, required): Merchant id (from a search result's merchant_id).

Output parameters:

- `categories` (array): Every menu section, each with its products.
- `merchant` (object): The merchant (merchant_id, name).
- `product_count` (number): Total items across all sections.
- `truncated` (boolean): True if the menu was capped at 250 items.

### `get_product_details` (~130 tokens)

Show product details

Show full details for a single product/menu item by product_id (obtain it from a `search_merchant_products` result). Returns the image, description, price/discount, stock, and addon options (sizes, extras, toppings) with their prices — rendered as a card when the host supports MCP Apps. Call this when the user taps a product or asks about a specific item.

Input parameters:

- `language` (string): Result language: en, ar, kr, bd.
- `productId` (integer, required): Product id, e.g. from a `search_merchant_products` result's product_id.

Output parameters:

- `merchant` (object): The owning merchant (merchant_id, name, city).
- `product` (object): The product: name, price, stock, image, options/addons.

### `get_top_searches` (~35 tokens)

Get trending search terms

Return the platform's currently trending / most-searched terms. Useful for suggesting what users can look for. Takes no arguments.

Output parameters:

- `top_searches` (array): Trending search terms.

### `auth_status` (~22 tokens)

Check sign-in status

Return whether the customer is signed in for this session, and who.

Output parameters:

- `customer_id` (number)
- `signed_in` (boolean)

### `logout` (~21 tokens)

Sign out

Sign the customer out of this session (clears the stored token).

Output parameters:

- `signed_out` (boolean)

### `get_profile` (~47 tokens)

Get my Lezzoo profile

Return the signed-in customer's profile (name, phone, email, language, loyalty tier, total orders, member-since). Requires the customer to be signed in for this session. Read-only.

Output parameters:

- `city_id` (number)
- `customer_id` (number)
- `email` (string)
- `language` (string)
- `loyalty_tier`
- `member_since` (string)
- `name` (string)
- `phone` (string)
- `prime_expiry` (string)
- `subscription_id` (number)
- `total_orders` (number)
- `verified` (boolean)

### `get_addresses` (~39 tokens)

Get my saved addresses

Return the signed-in customer's saved delivery addresses (title, details, type, coordinates). Requires the customer to be signed in for this session. Read-only.

Output parameters:

- `addresses` (array): Saved delivery addresses (address_id, title, details, coords).

### `get_order_history` (~57 tokens)

Get my orders

Return the signed-in customer's orders — `current` (in-progress) and `history` (past), each with merchant, status, total, item count and date. Requires the customer to be signed in for this session. Read-only.

Output parameters:

- `current` (array): In-progress orders.
- `history` (array): Past orders.

### `track_order` (~121 tokens)

Track an order

Track a Lezzoo order live — status, ETA, driver name/status/location, merchant, destination, and the ordered items (name, description, quantity, price, chosen options, image) — rendered as a status card with a progress stepper (and a map when the driver's live position is available). Pass an order_id, or omit it to track the customer's most recent active order. Requires sign-in. Read-only. Call again to refresh.

Input parameters:

- `orderId` (integer): Order id to track. Omit to track the most recent active order.

Output parameters:

- `currency` (string)
- `destination`
- `driver`: Driver info, or null before assignment.
- `eta_minutes` (number)
- `fulfillment` (string)
- `items` (array): Ordered lines: product_id, name, description, quantity, price (unit, incl. options), line_total, image, options [{name, values:[{name, price}]}], instructions.
- `merchant`
- `message` (string)
- `order_id` (number)
- `placed_at` (string)
- `status` (string)
- `status_id` (number)
- `timeline` (object)
- `total` (number)
- `tracking`: null when there is no active order to track.
- `verification_code` (string)

### `view_cart` (~35 tokens)

View my cart

Show the current shopping cart (items, options, quantities, line prices, subtotal). Anonymous — no sign-in required. Read-only.

Output parameters:

- `currency` (string)
- `item_count` (number)
- `items` (array): Cart line items (line_id, product_id, name, quantity, prices, options).
- `merchant_city` (string)
- `merchant_id` (number)
- `merchant_name` (string)
- `message` (string): Present on an empty cart.
- `subtotal` (number)

### `add_to_cart` (~225 tokens)

Add to cart

Add one or more products to the cart in a single call (put a whole request's items in one call). For several of the SAME item use `quantity` (e.g. "2 Chili Boxes" → quantity: 2). For DIFFERENT products use `items` (an array of { productId, quantity?, optionValueIds? }), each with its own `quantity`. For a single product, pass `productId`/`quantity`/`optionValueIds` directly. product_id comes from search_merchant_products/get_product_details; optionValueIds are addon/size value ids from the product's options. One merchant per cart.

Input parameters:

- `items` (array): Add multiple items in one call.
- `language` (string): Language for item names (en, ar, kr, bd).
- `optionValueIds` (array): Option value ids for the single product.
- `productId` (integer): Single product id to add (when not using `items`).
- `quantity` (integer): Quantity for the single product (default 1).

Output parameters:

- `currency` (string)
- `item_count` (number)
- `items` (array): Cart line items (line_id, product_id, name, quantity, prices, options).
- `merchant_city` (string)
- `merchant_id` (number)
- `merchant_name` (string)
- `message` (string): Present on an empty cart.
- `subtotal` (number)

### `update_cart_item` (~55 tokens)

Update cart item quantity

Set the quantity of a cart line by line_id (from view_cart). Quantity 0 removes it.

Input parameters:

- `lineId` (string, required): line_id from view_cart.
- `quantity` (integer, required): New quantity (0 removes).

Output parameters:

- `currency` (string)
- `item_count` (number)
- `items` (array): Cart line items (line_id, product_id, name, quantity, prices, options).
- `merchant_city` (string)
- `merchant_id` (number)
- `merchant_name` (string)
- `message` (string): Present on an empty cart.
- `subtotal` (number)

### `remove_cart_item` (~34 tokens)

Remove a cart item

Remove a cart line by line_id (from view_cart).

Input parameters:

- `lineId` (string, required): line_id from view_cart.

Output parameters:

- `currency` (string)
- `item_count` (number)
- `items` (array): Cart line items (line_id, product_id, name, quantity, prices, options).
- `merchant_city` (string)
- `merchant_id` (number)
- `merchant_name` (string)
- `message` (string): Present on an empty cart.
- `subtotal` (number)

### `clear_cart` (~15 tokens)

Clear the cart

Remove all items from the cart.

Output parameters:

- `currency` (string)
- `item_count` (number)
- `items` (array): Cart line items (line_id, product_id, name, quantity, prices, options).
- `merchant_city` (string)
- `merchant_id` (number)
- `merchant_name` (string)
- `message` (string): Present on an empty cart.
- `subtotal` (number)

### `get_payment_methods` (~71 tokens)

List the available DIGITAL payment methods for checkout (e.g. Lezzoo Pay wallet, FIB, Card, Asia Pay, FastPay, Qi Card, NassWallet). Cash on delivery is NOT supported. Requires sign-in. Use this to map a payment method the user names to its payment_type_id.

Output parameters:

- `methods` (array): Digital payment methods (payment_type_id, name).

### `get_wallet_balance` (~30 tokens)

Get the current Lezzoo Pay (wallet) balance for the signed-in customer. Requires sign-in.

Output parameters:

- `balance` (number): Wallet balance in IQD.

### `review_order` (~152 tokens)

Review order

Prices the current cart for checkout (delivery, discount, fees, total) and renders an interactive widget in which the user selects their delivery address and payment method as tappable options — those details are chosen in the widget rather than in chat. Use when the user is ready to check out. Requires sign-in and a non-empty cart. Places no order.

Input parameters:

- `addressId` (integer): Optional — the user picks this in the widget; defaults to the first saved address in the merchant's city.
- `paymentTypeId` (integer): Optional — the user picks this in the widget; defaults to Lezzoo Pay wallet for the initial price.
- `voucherCode` (string): Voucher/promo code to apply.

Output parameters:

- `address_id` (number)
- `addresses` (array): Addresses eligible for this merchant's city.
- `currency` (string)
- `delivery` (number)
- `discount` (number)
- `fees` (number)
- `merchant_city` (string)
- `not_serviceable` (boolean)
- `payment_type_id` (number)
- `subtotal` (number)
- `total` (number)
- `voucher_error` (string)
- `wallet` (object): Wallet balance and can_pay flag.

### `place_order` (~158 tokens)

Place order

Place the order from the current cart. Call review_order first so the customer can confirm the total. Set confirm:true to actually place the order — without it, this returns a preview only. Requires sign-in and a non-empty cart.

Input parameters:

- `addressId` (integer): Address ID to deliver to. Defaults to your first saved address.
- `confirm` (boolean, required): Must be true to place the order. If false, returns a preview (same as review_order).
- `confirmActiveOrder` (boolean): Set true to place even though you have an active order — only after the user acknowledges.
- `paymentTypeId` (integer, required): Payment method ID (from get_payment_methods).
- `voucherCode` (string): Voucher/promo code to apply.

Output parameters:

- `_note` (string)
- `address_id` (number)
- `addresses` (array): Addresses eligible for this merchant's city.
- `confirm_required` (string)
- `currency` (string)
- `delivery` (number)
- `discount` (number)
- `fees` (number)
- `merchant_city` (string)
- `not_serviceable` (boolean)
- `note` (string)
- `order_id` (number)
- `paid_from_wallet` (boolean)
- `payment_type_id` (number)
- `payment_url` (string): Payment gateway URL for online methods.
- `subtotal` (number)
- `total` (number)
- `voucher_error` (string)
- `wallet` (object): Wallet balance and can_pay flag.

### `get_payment_link` (~52 tokens)

Generate a payment link for a placed order. Use this if the payment link expired or was not returned at order placement. Requires sign-in.

Input parameters:

- `orderId` (integer, required): The order ID returned by place_order.

Output parameters:

- `payment_url` (string): Payment gateway URL for the order.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp#diagnostics

## Score history

- 2026-11-05: 70
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 68
- 2026-11-01: 68
- 2026-10-31: 67
- 2026-10-30: 67
- 2026-10-29: 66

## Common questions

### What is the Lezzoo MCP server?

Lezzoo is an MCP server listed in the public MCP registry as com.lezzoo/lezzoo. Order food, groceries & pharmacy delivery in Kurdistan & Iraq: search, menus, cart, checkout. This page covers its hosted endpoint (https://mcp.lezzoo.com/mcp).

### Is the Lezzoo MCP server safe to use?

Lezzoo scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Lezzoo MCP server expose?

Lezzoo exposes 21 tools: search, search_merchant_products, get_full_menu, get_product_details, get_top_searches, and 16 more. Their descriptions and schemas cost roughly 1,931 tokens of context every time the server is loaded.

### Does the Lezzoo MCP server require authentication?

No. We connected to Lezzoo without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Lezzoo MCP server still maintained?

Lezzoo is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.lezzoo.com/mcp
- Website: https://www.lezzoo.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-lezzoo-lezzoo/mcp
