Yandex Lavka MCP vs Postals MCP
A side-by-side look at the Yandex Lavka MCP and Postals MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Yandex Lavka MCP for delivery work as a local process; choose Postals MCP for delivery as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose 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.
Choose Postals MCP when
- You need dedicated capabilities in the Delivery domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
POSTALS_API_KEY, POSTALS_SENDER_NAME, POSTALS_SENDER_ADDRESS, POSTALS_SENDER_CITY, POSTALS_SENDER_STATE, POSTALS_SENDER_ZIP, POSTALS_DEFAULT_CARD_IMAGE, POSTALS_TEST_MODE. - You want tools like
send_postcard, generate_message.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Delivery | Delivery |
| Quality signal | 63/100 · Good | 55/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | POSTALS_API_KEYPOSTALS_SENDER_NAMEPOSTALS_SENDER_ADDRESSPOSTALS_SENDER_CITYPOSTALS_SENDER_STATEPOSTALS_SENDER_ZIPPOSTALS_DEFAULT_CARD_IMAGEPOSTALS_TEST_MODE |
| Verified owner | Community listing | Community listing |
| GitHub stars | 24 | 2 |
| Directory activity | 3 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 17 | 2 |
| Full listing | View Yandex Lavka MCP | View Postals MCP |
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
Postals MCP tools 2
send_postcardSend a physical handwritten postcard to a US mailing address. Postals prints it with real robotic handwriting (pen and ink) and mails it via USPS. Delivery in 3-5 business days. Cost: $4.99 per card. Provide the recipient's address, a message (max 400 chars), and optionally an image URL for the card front. If no image is provided, uses the configured default card.generate_messageGenerate a personalized handwritten message for a postcard based on context about the recipient. Returns a ready-to-use message you can pass directly to send_postcard. Uses AI if Cloudflare credentials are configured (CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN); otherwise returns a structured prompt you can use to compose the message yourself.
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": {
"dudude-bit-yandex-lavka-mcp": {
"command": "uvx",
"args": [
"yandex-lavka-mcp"
]
}
}
}
Postals MCP
{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"postals-mcp"
],
"env": {
"POSTALS_API_KEY": "YOUR_POSTALS_API_KEY_HERE",
"POSTALS_SENDER_NAME": "YOUR_POSTALS_SENDER_NAME_HERE",
"POSTALS_SENDER_ADDRESS": "YOUR_POSTALS_SENDER_ADDRESS_HERE",
"POSTALS_SENDER_CITY": "YOUR_POSTALS_SENDER_CITY_HERE",
"POSTALS_SENDER_STATE": "YOUR_POSTALS_SENDER_STATE_HERE",
"POSTALS_SENDER_ZIP": "YOUR_POSTALS_SENDER_ZIP_HERE",
"POSTALS_DEFAULT_CARD_IMAGE": "YOUR_POSTALS_DEFAULT_CARD_IMAGE_HERE",
"POSTALS_TEST_MODE": "YOUR_POSTALS_TEST_MODE_HERE"
}
}
}
}
Frequently asked questions
Yandex Lavka MCP is categorized under Delivery and uses a local stdio subprocess. Postals MCP belongs to Delivery and uses a local stdio subprocess. Pick Yandex Lavka MCP for delivery work and Postals MCP for delivery.
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. Postals MCP has no declared pricing — check the project's own site. 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 postals-mcp 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. Postals MCP has 55/100 (Good) with 1 views, 0 installs and 2 GitHub stars.