Yandex Lavka MCP vs Exa MCP Server

A side-by-side look at the Yandex Lavka MCP and Exa MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Yandex Lavka MCP logoYandex Lavka MCPDelivery · Local subprocess (stdio)Order groceries from Yandex Lavka (Russia): search the catalog, build a cart, and place an order with a two-step confirmation before any charge. Unofficial (reverse-engineered private web API); local stdio or remote HTTP with OAuth. uvx yandex-lavka-mcp.63GoodAuth: otherExa MCP Server logoExa MCP ServerSearch & Data Extraction · Local subprocess (stdio)A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.73GreatAuth: no auth required

Verdict: choose Yandex Lavka MCP for delivery work as a local process; choose Exa MCP Server for search & data extraction as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Yandex Lavka MCP logoChoose Yandex Lavka MCP when

  • You need dedicated capabilities in the Delivery domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: other.
  • You want tools like lavka_status, set_location, list_addresses.
Explore Yandex Lavka MCP

Exa MCP Server logoChoose Exa MCP Server when

  • You need dedicated capabilities in the Search & Data Extraction domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like web_search_exa, web_fetch_exa.
Explore Exa MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecYandex Lavka MCP logoYandex Lavka MCPExa MCP Server logoExa MCP Server
CategoryDeliverySearch & Data Extraction
Quality signal63/100 · Good73/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthotherNo auth required
PricingFreeFree
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars245,150
Directory activity 3 views 0 installs 0 upvotes 10 views 0 installs 0 upvotes
Tools172

Tools & capabilities

Yandex Lavka MCP tools 17

  • lavka_statusShow whether the Lavka session and delivery location are configured. Read-only. Call this first to check setup before other tools.
  • set_locationSet the delivery location (required before catalog/cart calls). Provide either lat+lon coordinates or a saved address_id. Persists to config.
  • list_addressesList your saved Lavka delivery addresses (by name). Read-only. Use a returned `label` with use_address to switch delivery to that place.
  • use_addressSwitch delivery to one of your saved addresses, matched by name. Catalog, cart and prices are location-scoped, so this re-points everything. A saved address carries city/street/house; pass flat/entrance/comment if the order needs them.
  • set_delivery_addressSet delivery to ANY address by free text — works for a new city. Resolves the address to coordinates + city/street/house via Lavka's own geo search. Example: set_delivery_address("Казань, улица Баумана, 1", flat="12").
  • search_productsSearch the Lavka catalog at the current delivery location. Read-only. Each result has an `id` (use it with add_to_cart) and a `slug`; get_product takes either.
  • get_productGet one product: price, size, stock, description, nutrition. Read-only. `product` is an `id` or `slug` from a search result, or a Lavka link (a lavka.yandex.ru/good/... page or a shared ...?item=<id> link). `nutrition` is the КБЖУ block exactly as the product card shows it, numbers as Lavka gives them (nothing recomputed), or null when the card has none (non-food items): - `per_100g`: {kcal, protein, fat, carbs} per 100 g, or null. - `per_portion`: the same per the card's other tab, with its `label` ("Всё блюдо", "На упаковку", "На 50 г", ...), or null if the card has only one tab. - `default_basis`: the only tab ("per_100g" / "per_portion") when the card has one; null when it has both (Lavka doesn't say which one opens). - `portion_grams`: the portion's weight when the card states it (from the label, or the item's weight for a whole dish/pack), else null. - `warning`: null, or a note that per_portion doesn't follow from per_100g for that weight — Lavka's own data is wrong then; don't log it blindly.
  • view_cartShow the current cart contents and running total. Read-only. The cart also reports order-readiness. Watch these: - `warning`: a plain-language problem to fix (or null). If set, act on it. - each item's `unavailable_on_depot`: true = it's in the cart but CANNOT be ordered from the current store (only in «Большая Лавка», or sold out here). - `available_for_checkout`: false = the order can't be placed as-is. Remove/replace flagged items with update_cart_item(product_id, 0) before checkout.
  • add_to_cartAdd a product to the cart (increments if already present). No charge. `product_id` is the `id` from a search result. Pass `price` from the same search result when available (Lavka validates it on cart writes). IMPORTANT: search can return items that are only stocked in «Большая Лавка» (a different store) — they add fine but can't be ordered from the current one. After adding, check the returned cart's `warning` and each item's `unavailable_on_depot`; drop any flagged item with update_cart_item(id, 0).
  • update_cart_itemSet the exact quantity of a cart item. quantity=0 removes it. No charge.
  • clear_cartRemove everything from the cart. No charge.
  • checkout_previewPreview the order: items, delivery fee, ETA, address, payment, TOTAL. Charges NOTHING. Show the returned total to the user and ask them to confirm it out loud before calling confirm_order. Always run this before confirming. If the summary has a `warning`, or `available_for_checkout` is false, or any item has `unavailable_on_depot: true`, the order will be REFUSED — fix the cart (remove/replace those items) and preview again before confirming.
  • +5 more on the listing page

Exa MCP Server tools 2

  • web_search_exaSearch the web for any topic and get clean, ready-to-use content. Best for: Finding current information, news, facts, people, companies, or answering questions about any topic. Returns: Clean text content from top search results. Query tips: describe the ideal page, not keywords. "blog post comparing React and Vue performance" not "React vs Vue". Use category:people / category:company to search through Linkedin profiles / companies respectively. If highlights are insufficient, follow up with web_fetch_exa on the best URLs.
  • web_fetch_exaRead a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL. Best for: Extracting full content from known URLs. Batch multiple URLs in one call. Returns: Clean text content and metadata from the page(s).

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Yandex Lavka MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "dudude-bit-yandex-lavka-mcp": {
      "command": "uvx",
      "args": [
        "yandex-lavka-mcp"
      ]
    }
  }
}

Exa MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "exa-labs-exa-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server"
      ]
    }
  }
}

Frequently asked questions

Yandex Lavka MCP is categorized under Delivery and uses a local stdio subprocess. Exa MCP Server belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Yandex Lavka MCP for delivery work and Exa MCP Server for search & data extraction.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Yandex Lavka MCP is listed as free. Auth: other. Exa MCP Server is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add dudude-bit-yandex-lavka-mcp and exa-labs-exa-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Yandex Lavka MCP has a quality signal of 63/100 (Good) with 3 views, 0 installs and 24 GitHub stars. Exa MCP Server has 73/100 (Great) with 10 views, 0 installs and 5,150 GitHub stars.