Yandex Lavka Uzbekistan MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yandex Lavka Uzbekistan MCP Search for milk and eggs near my Tashkent address, then show my cart total."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Yandex Lavka Uzbekistan MCP
A local MCP server for exploring and managing a Yandex Lavka Uzbekistan cart—with explicit controls around consequential writes.
Unofficial · Uzbekistan ordering; RU/KZ anonymous search · Python · stdio
This server can modify a real cart, submit a paid order, and request cancellation. Its order and cancellation MCP paths are tested with mocked upstream responses,not a new live MCP transaction. Official-site transactions were observed separately; they do not prove this implementation works end to end. Use only with trusted clients, review every consequential action, and never retry an uncertain write blindly.
From a question to a cart
Connect a local MCP client, then ask it to search for products at a location in Uzbekistan. It can read the cart, show masked saved-card suffixes and quote a checkout. Cart updates and ordering are separate actions; a quote is neither a reservation nor a payment.
Capability | Tools | Boundary |
Discover |
|
|
Sign in |
| Private, short-lived QR login; see authentication. |
Cart |
| Coordinates are longitude, latitude; a cart quote does not select an address or card. |
Account and orders |
| Address details and order identifiers are private. Active tracking is not history. |
Checkout |
| Explicit confirmation and careful reconciliation are essential; see checkout. |
Prices, availability and delivery charges change. The server uses undocumented web APIs that may change or reject requests, and it is not affiliated with Yandex. Country-level currency confirmation does not prove coverage at an individual address.
Related MCP server: wegmans-mcp-cloudflare-workers
Country and delivery location
Choose a startup country when adding the MCP server by setting YANDEX_LAVKA_REGION to UZ, RU, or KZ; if omitted it defaults to UZ. Any other value prevents startup. See client setup for configuration examples. At any time call select_region(country="RU") (or KZ or UZ) to change the default for service_status and search_products. Selection is in memory for this stdio server process only; it is not written to a shared file and resets to the configured startup value when restarted. Use a separate server process per client session; this is not per-client isolation for a shared multi-client server.
service_status(country="RU") and search_products(country="KZ", longitude=..., latitude=...) explicitly override the selected country for that read only, without changing the selection. RU/KZ reads use fresh anonymous country-specific sessions and confirm currency. Login, address suggestions, location helpers, cart, payments and checkout are UZ-only and are refused while RU/KZ is selected. A region change is rejected while a UZ tool is in flight; retry after it completes, especially for an order with an uncertain outcome. Switching itself places no order. No country is inferred from IP or device geolocation.
For a delivery location, call delivery_location(country="UZ", longitude=..., latitude=...), or use detect_delivery_location(country="UZ") with an authenticated session. Detection returns candidate coordinates only when exactly one favorite exists; zero or multiple favorites require an explicit choice. For multiple favorites, review saved_addresses and pass its freshly obtained address_index to detect_delivery_location. Alternatively, use suggest_address and choose an address with usable coordinates. Indexes can change and similar favorites may differ in apartment details; verify the exact address before checkout.
These tools are stateless: changing location means passing the new coordinates to each search, cart and quote call. They do not update the account's address, select a checkout address, or persist a default. Refresh search and cart after a change; old prices and carts may be stale and cart identity may be shared across locations. Review the exact saved address again in order_preview. The bounding box is only a coarse input check, not proof that the coordinates lie in Uzbekistan or that delivery is available. Coordinates and saved addresses are private; use a trusted client and beware client logs.
Get started
Install mise first. From the repository root on a Unix-like system:
mise trust
mise install
mise run install
mise run test
.venv/bin/yandex-lavka-mcpmise manages uv; the install task uses uv to install a managed Python 3.12 and synchronize dependencies from uv.lock. The test task runs the offline suite.
The last command starts an MCP stdio server; it waits for an MCP client and is not an interactive CLI. Stop it with Ctrl-C. For a client, configure the virtual environment's Python as the command and the absolute path to lavka_uz.py as its argument. See client setup for a JSON example and connection checks.
Ask your client to call login_start when authenticated access is needed, then scan its QR code in the Yandex app or open its link, and poll qr_login_status. The QR image and link are temporary credentials: use a private, trusted client and channel; clients and chat logs may retain them. An existing session is not replaced unless explicitly requested.
Safety in practice
Confirm the exact item and quantity before a cart write. Quantities are absolute; zero removes an item. An ambiguous result calls for a fresh cart read, not an automatic retry.
Before an order, review the exact saved address, items, total in UZS, masked card and delivery in
order_preview; obtain explicit user approval for those terms. The preview expires and can change before submission.An order ID is not proof of payment. A cancellation response is not proof of cancellation or refund. Check the exact order in the official app and inspect payment independently.
The local duplicate-order guard does not cover other clients or installations. Unknown outcomes can be delayed; empty active tracking is not proof that no order exists. Read the recovery procedure.
Documentation
The root-level research notes are historical and may describe older implementations; where they conflict, use the current source and these operational guides.
License
GNU General Public License v3.0 only (GPL-3.0-only).
Available Tools
21 toolsactive_ordersA
Read the active tracking feed; an empty feed is not order history or reconciliation.
Inputs: no named parameters.
cancel_orderB
Cancel the exact order once only after explicit user confirmation. Refund status is unknown.
Inputs: order_id (required), explicit_confirmation (required).
checkout_previewB
Read a cart quote only; no address/card selection, confirmation, order or payment.
Inputs: latitude (required), longitude (required).
delivery_locationB
Choose coordinates for subsequent calls; no account or server state is changed.
Inputs: country (required), latitude (required), longitude (required).
detect_delivery_locationC
Use a single saved favorite or explicitly indexed favorite; coordinates are private.
Inputs: country (required), address_index.
get_cartB
Read the cart for these coordinates; does not select an address.
Inputs: latitude (required), longitude (required).
login_startA
Start login and return a QR image plus its short-lived link. Share only with the intended user; client logs may contain the link. Set replace_existing only with approval.
Inputs: replace_existing.
order_historyC
Read authenticated order history; older_than is a timezone-aware ISO timestamp.
Inputs: count, older_than.
order_previewA
Stage an exact checkout preview for a saved-address index and four-digit card suffix. Not an order.
Inputs: card_suffix (required), address_index (required).
qr_login_cancelA
Cancel pending login and delete its QR image, regardless of selected region.
Inputs: no named parameters.
qr_login_statusA
Poll QR login and verify Lavka session; never reveals credentials.
Inputs: no named parameters.
reconcile_checkoutA
Acknowledge an uncertain checkout after checking official history and payment. This cannot rule out delayed processing or duplicates; never retries or places an order.
Inputs: history_checked (required), payment_checked (required), explicit_confirmation (required), no_request_in_progress (required), +1 more.
saved_address_countA
Count saved favorite addresses without exposing their details.
Inputs: no named parameters.
saved_addressesA
List saved addresses with selection indexes; includes private address details.
Inputs: no named parameters.
saved_cardsA
List available saved cards by masked suffix only; this does not select one.
Inputs: latitude (required), longitude (required).
search_productsC
Search at supplied coordinates. RU/KZ use isolated anonymous storefronts; UZ uses the existing session.
Inputs: query (required), limit, country, latitude, +1 more.
select_regionB
Select the region for this stdio server session; does not place orders.
Inputs: country (required).
service_statusC
Get homepage storefront status. Does not confirm a specific address.
Inputs: country.
set_cart_itemB
Change cart item to an absolute quantity (0 removes). Explicit cart write; price must be from current search. Never retries ambiguous writes.
Inputs: price (required), latitude (required), quantity (required), longitude (required), +1 more.
submit_orderA
Place one paid order only after explicit user confirmation of the exact preview; never retries. Outcomes may be uncertain.
Inputs: preview_token (required), confirmed_total_uzs (required), explicit_confirmation (required).
suggest_addressC
Suggest addresses; never changes the account's delivery address.
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools target distinct lifecycle steps, but several pairs blur: checkout_preview vs order_preview, get_cart vs checkout_preview, and delivery_location vs detect_delivery_location. Detailed descriptions resolve these for a careful agent, but the names alone are not fully distinct.
All names use snake_case, but the convention is mixed: verb-first names such as submit_order, get_cart, and search_products coexist with noun-first names such as order_preview, saved_addresses, and qr_login_status. The pattern is readable but not predictable.
At 21 tools, the surface is on the heavy side for a grocery-ordering MCP. The multi-step flow justifies many operations, but tools like saved_address_count and the separate location-detection tools feel consolidatable, making the count borderline rather than clearly well-scoped.
Coverage is strong across authentication, region/location, saved addresses, cards, product search, cart, checkout preview, order submission, cancellation, reconciliation, and order history. Minor gaps remain around saved-address/card management and order-detail retrieval, but core workflows have no obvious dead ends.
Maintenance
Related MCP Connectors
Search multi-merchant supply, checkout, and track orders via MCP.
Remote MCP for Living Stack offer discovery and buyer-authorized checkout preparation.
Remote MCP for Universal Cart merchant readiness MCP, structured receipts, audit logs, and reviewer-
Real-time data APIs for 50+ commerce, grocery, social and maps platforms over one OAuth MCP server
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables searching WineLab's wine catalog and retrieving product details, filters, store locations, availability, and cart operations, with SMS-code login, from any MCP-compatible client.15MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search grocery products and stores, manage a cart, sync purchase history, and predict needed items through MCP tools. It also stores food preferences as server instructions so connected agents can respect them automatically.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables product search and authenticated grocery shopping-list management, including adding items, setting quantities, removing items, emptying the list, and reading purchase history.1MIT

PurchasePlus MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables MCP-capable clients to sign in with OAuth and perform purchaser tasks such as browsing catalogues, checking inventory, managing stocktakes and recipes, drafting requisitions, updating buy lists, exporting reports, and processing invoices. It also supports supplier access for listing and inspecting connections, catalogues, products, purchase orders, invoices, and entitled reports.MIT