yandex-eats-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-eats-mcp show my order history for yesterday"
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-eats-mcp
MCP server for the Yandex Eats Vendor Management API.
Lets AI agents (Cursor, Claude Desktop, and other MCP hosts) manage partner operations: orders history/details, busy mode, place blocks, menu import, courier code validation, and feedback replies.
This wraps the push Vendor Management API (
https://dc-partner.eda.yandex.net). It is not a consumer ordering API.
Install / run
Cursor / Claude Desktop (recommended)
{
"mcpServers": {
"yandex-eats": {
"command": "npx",
"args": ["-y", "yandex-eats-mcp"],
"env": {
"YANDEX_EATS_CLIENT_ID": "your-client-id",
"YANDEX_EATS_CLIENT_SECRET": "your-client-secret",
"YANDEX_EATS_PARTNER_NAME": "your-partner-name"
}
}
}
}Pin a version: "args": ["-y", "yandex-eats-mcp@0.1.0"].
Local development
npm install
npm run build
npm startMCP config pointing at a local build:
{
"mcpServers": {
"yandex-eats": {
"command": "node",
"args": ["/absolute/path/to/yandex-eats-mcp/dist/index.js"],
"env": {
"YANDEX_EATS_CLIENT_ID": "...",
"YANDEX_EATS_CLIENT_SECRET": "...",
"YANDEX_EATS_PARTNER_NAME": "..."
}
}
}
}Related MCP server: Yandex Delivery MCP
Environment variables
Variable | Required | Description |
| yes | OAuth client id |
| yes | OAuth client secret |
| for several write tools | Sent as |
| no | Default |
| no | Default |
| no | If |
Credentials are never accepted as tool arguments. Access tokens are never returned to the agent.
Tools
Tool | Description |
| Credential / token cache status (no token value) |
| Force OAuth refresh |
| Order history (max 1000; 180 days) |
| Details by |
| High-demand places |
| Current blocks |
| Block places ( |
| Unblock places ( |
| Force menu / stop-list import |
| Validate courier pickup code |
| Reply to feedback (may need subscription) |
Resources
yandex-eats://docs/overviewyandex-eats://config/status
Prompts
yandex_eats_investigate_orderyandex_eats_resync_menu
Tests
# Unit + MCP integration (mocked Vendor API, in-memory transport)
npm test
# E2E: spawn dist/index.js over stdio (builds first). Live API smoke only if
# YANDEX_EATS_LIVE_E2E=1 and real CLIENT_ID/SECRET are set.
npm run test:e2e
npm run test:allSuite | Path | Network |
Unit |
| mocked |
Integration |
| mocked Vendor API + real MCP protocol (in-memory) |
E2E stdio |
| dry-run MCP child process |
E2E live |
| real Yandex (opt-in) |
Publish to npm
npm test && npm run build
npm pack --dry-run
npm publishRequires an npm account with publish rights for yandex-eats-mcp.
Docs
docs/YANDEX_EATS_API.md — API research
docs/MCP_SERVER_PLAN.md — implementation plan
License
MIT
Available Tools
11 toolsyandex_eats_auth_statusAuth statusA
Check whether Yandex Eats Vendor Management credentials are configured and whether a cached OAuth token is valid. Never returns the access token.
Inputs: no named parameters.
yandex_eats_block_placesBlock placesA
Block restaurant(s) in Yandex Eats (POST /block). Destructive. Requires confirm=true and Partner-Name. Tags: technical_problem | too_busy. If 'to' is omitted, block is indefinite.
Inputs: tag (required), from (required), confirm (required), vendorInfo (required), +2 more.
yandex_eats_block_statusBlock statusC
Get restaurant block status from Vendor Management (POST /v2/status). Requires Partner-Name.
Inputs: vendorInfo (required), limit, offset, statuses, +1 more.
yandex_eats_busy_mode_statusBusy mode statusB
List restaurants with active high-demand (busy) status (POST /partner-integration/v1/place-info/v1/busy-mode-status). High demand adds extra cooking minutes.
Inputs: limit, cursor, service, origin_ids, +2 more.
yandex_eats_feedback_answerAnswer customer feedbackA
Reply to customer order feedback with text and optional promo percent (POST /feedback-answer). Subscription-gated — may return 403 without subscription. Promo values: 10, 15, 20, 30, 40.
Inputs: text (required), feedback_id (required), promo, order_nr.
yandex_eats_orders_detailsOrder detailsA
Fetch detailed information for orders by Yandex eats_id list (POST /v1/get-orders-details). Max 100 ids per request; history retained 180 days. eats_id format: DDDDDD-DDDDDDDD.
Inputs: eats_ids (required), include_pii.
yandex_eats_orders_historyOrders historyA
Fetch order history from Vendor Management (POST /v1/orders-history). Limits: max 1000 orders in the response; history retained for the last 180 days. Status filter values are NEW, CANCELLED, DELIVERED.
Inputs: to (required), from (required), origin_ids (required), limit, +4 more.
yandex_eats_refresh_tokenRefresh OAuth tokenA
Force-refresh the OAuth2 client-credentials token from POST /oauth2/token on dc-partner.eda.yandex.net. Does not return the token.
Inputs: no named parameters.
yandex_eats_unblock_placesUnblock placesA
Unblock restaurant(s) (POST /unblock). Destructive. Requires confirm=true, Partner-Name, and blockIds from a prior block/status response.
Inputs: confirm (required), blockIds (required), vendorInfo (required).
yandex_eats_validate_courier_codeValidate courier codeB
Validate the courier pickup code for an order (POST /platform/orders/{orderId}/codes/validate). Requires Partner-Name. Sensitive operational tool.
Inputs: code (required), orderId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Every tool has a clearly distinct purpose: auth management, order history versus details, restaurant block versus busy mode, menu import, courier validation, and feedback. No two tools overlap in functionality.
All tools follow the consistent prefix 'yandex_eats_' and use a clear verb_noun pattern (e.g., refresh_token, block_places, validate_courier_code). Naming is predictable and uniform.
With 11 tools, the server is well-scoped for managing Yandex Eats vendor operations. The count covers essential actions without being overwhelming or too sparse.
The tool set covers core vendor workflows (auth, orders, block/unblock, menu import, feedback) but lacks tools for listing all restaurants, getting restaurant details beyond block status, or managing menu items individually. Some operations require workarounds.
Related MCP Connectors
MCP server enabling AI agents to manage Bitrix24 features via standardized protocol
MCP server for building and testing AI agents with multi-model experimentation and insights.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server for interacting with Yandex Cloud AI Studio, enabling chat, text generation, image generation, speech recognition/synthesis, embeddings, classification, search indexes, and AI agent creation with function calling.-
- AlicenseDqualityDmaintenanceMCP server for Yandex Delivery API, allowing AI assistants to manage deliveries, track couriers, and handle orders.21MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that gives AI agents direct access to the Yandex Direct API to manage campaigns, groups, ads, keywords, bids, and reports via natural language.117 npm6Apache 2.0
- AlicenseAqualityBmaintenanceMCP server for Yandex Delivery B2B API, enabling natural language interaction to calculate delivery costs, create and manage express and platform delivery orders, track couriers, and handle pickup points.16104 npmMIT