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 MCPSearch 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: winelab-mcp
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).
This server cannot be deployed
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
- FlicenseNot gradedqualityDmaintenanceConsumer-side MCP server for Webless storefront operations, enabling catalog browsing, product search, and order lookup via tools.-
- AlicenseAqualityAmaintenanceEnables 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