Yango Delivery MCP

io.github.A1-x-Tech由 GitHub 帳號 A1-x-Tech 發布v1.2.1更新於 Nov 1, 2026

MCP server for the Yango Delivery claims B2B API: price checks, delivery claims, courier tracking.

概覽

AI 產生的概覽

將助理連接到企業 Yango Delivery 帳戶,用來詢價、建立、確認、追蹤與取消當日快遞配送。

可以做什麼
  • 在不建立訂單的情況下估算路線價格、距離與預計送達時間
  • 建立、讀取、搜尋、確認與取消配送訂單,並查詢取消條款
  • 追蹤進行中的配送:外送員位置、各途經點預計時間、臨時外送員電話與確認碼
  • 取得可分享給收件人的公開追蹤連結
  • 透過原始請求工具直接呼叫其他 Yango Delivery 訂單 API 方法
適用情境
適合擁有企業 Yango Delivery 帳戶、想用自然語言讓助理詢價快遞、準備並下單,以及追蹤進行中配送的情況。它只涵蓋即時配送訂單 API,不支援隔日配送、取貨點或包裹櫃。
執行需求
透過 npm 套件 mcp-yango-delivery 以 stdio 在本機執行,需要 Node.js 20+。需要企業 Yango Delivery 帳戶與整合權杖,以 YANGO_DELIVERY_TOKEN 提供。選用設定:YANGO_DELIVERY_BASE_URL、YANGO_DELIVERY_LANG、YANGO_DELIVERY_TIMEOUT_MS、YANGO_DELIVERY_MAX_RETRIES。需要連線到 Yango Delivery API 主機的網路。
安裝前請注意
所有操作都直接作用於正式環境且沒有沙箱:確認訂單會真的派單並產生費用,取消可能收費,因此在 accept_claim、cancel_claim、帶 auto_accept=true 的 create_claim 或會改變狀態的 raw_request 之前應先與使用者確認。權杖以明文存放在用戶端設定中,變更帳戶密碼會使其失效。匿名遙測預設開啟,可用 ASKADS_TELEMETRY=0 關閉。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Yango Delivery MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[A1] Yango Delivery MCP

English | Русский

[npm] [Glama] [CI] [License: MIT]

A1 Yango Delivery MCP connects an AI app to a corporate Yango Delivery account. Estimate an express delivery, order a courier, track the route and share a tracking link with the recipient using ordinary language.

This server works with the international Express Claims API. It does not support next-day delivery, pickup points or parcel lockers.

  • 13 tools. Seven for the delivery lifecycle, five for tracking and courier contact, plus one direct API request tool.
  • Estimate before ordering. Check the current price, route distance and ETA without creating a delivery claim.
  • Create and order separately. A claim can be prepared and reviewed before courier search starts.
  • Follow an active delivery. Get its status, courier position, point ETAs, temporary phone number, confirmation code and recipient tracking link.

Start with:

Estimate delivery of a 2 kg parcel from [pickup address] to [delivery address].

Connect the server · Explore use cases · Open technical documentation


See it work in a minute

You: Estimate delivery of a 2 kg parcel from our warehouse to the customer's address.

Assistant: I returned the current price, route distance and ETA. No delivery claim was created.

You: Create the claim and stop before ordering the courier.

Assistant: The claim has been created. I will show its id, price, status and version before acceptance.

You: Accept the offer.

Assistant: The claim has been accepted and courier search has started.

You: Send me the recipient's tracking link.

Assistant: I returned the public tracking link for the destination.

Price, availability, status and cancellation terms always come from the connected delivery account and the current API response.

Contents

Quick start

You need Node.js 20+, a Yango Delivery corporate account and an integration token.

  1. Get an integration token.

  2. Add the server to your AI app using one of the instructions below.

  3. Start with a price estimate:

    Estimate delivery of a 2 kg parcel from [pickup address] to [delivery address].

Codex

In the app:

  1. Open Settings → MCP servers.

  2. Select Add server.

  3. Choose STDIO, then enter the launch command npx -y mcp-yango-delivery@latest and the YANGO_DELIVERY_TOKEN environment variable with your token.

  4. Select Save, then Restart.

From the command line:

bash
codex mcp add yango-delivery \  --env YANGO_DELIVERY_TOKEN=your_token \  -- npx -y mcp-yango-delivery@latest

Check the connection:

bash
codex mcp list

Codex MCP documentation

Claude Code
bash
claude mcp add \  --env YANGO_DELIVERY_TOKEN=your_token \  --transport stdio \  --scope user \  yango-delivery \  -- npx -y mcp-yango-delivery@latest

Check the connection:

bash
claude mcp list

Claude Code MCP documentation

Claude Desktop

The current official path is Settings → Extensions. For a custom desktop extension, open Advanced settings → Extension Developer → Install Extension…, select a .mcpb file and follow the prompts.

This repository currently publishes an npm stdio package and does not contain a .mcpb bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:

json
{  "mcpServers": {    "yango-delivery": {      "command": "npx",      "args": ["-y", "mcp-yango-delivery@latest"],      "env": {        "YANGO_DELIVERY_TOKEN": "your_token"      }    }  }}

In those builds, save it to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.

Claude Desktop MCP documentation

Cursor

Add a user-level server to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows:

json
{  "mcpServers": {    "yango-delivery": {      "type": "stdio",      "command": "npx",      "args": ["-y", "mcp-yango-delivery@latest"],      "env": {        "YANGO_DELIVERY_TOKEN": "your_token"      }    }  }}

Cursor MCP documentation

VS Code

Run MCP: Open User Configuration from the Command Palette and add:

json
{  "servers": {    "yango-delivery": {      "type": "stdio",      "command": "npx",      "args": ["-y", "mcp-yango-delivery@latest"],      "env": {        "YANGO_DELIVERY_TOKEN": "${input:yango_delivery_token}"      }    }  },  "inputs": [    {      "type": "promptString",      "id": "yango_delivery_token",      "description": "Yango Delivery integration token",      "password": true    }  ]}

Check the server with MCP: List Servers.

VS Code MCP documentation

What you can ask it to do

Estimate an express delivery

  • Calculate the current price, route distance and ETA without creating a claim.
  • Estimate courier, express or cargo service for the supplied addresses, weight and dimensions.
  • Check whether the API can build the route and satisfy the requested vehicle or delivery requirements.

Prepare and order a courier

  • Create a claim with sender and recipient contacts, route points, items and delivery requirements.
  • Review the returned price, status and claim version before ordering.
  • Accept a claim after successful estimation and start courier search.
  • Find a claim by id, phone number, status, date or external order id.

Track the delivery and contact the courier

  • Get the current courier position and ETA for each route point.
  • Generate a public tracking link for the recipient.
  • Get a temporary forwarded phone number for the courier.
  • Get a pickup or delivery confirmation code when the current claim supports one.

Check and cancel a delivery

  • Check whether cancellation is free, paid or no longer available.
  • Cancel a claim using its current version and the cancellation mode returned by the API.

Use additional API methods

raw_request covers methods without a dedicated tool, including tariffs, delivery methods, proof of delivery, claim editing and return operations. It can create or change real data, so it is intended for technical users who understand the upstream API.

Complete schemas, response fields and status details are available in the tool reference.

How a delivery becomes real

  1. Estimate. A price check returns the current offer, distance and ETA without creating anything.
  2. Create. A claim is added to the account and moves through estimation. By default, no courier is ordered yet.
  3. Review. Read the latest claim status, price and version. A successful claim becomes ready for approval.
  4. Accept. Acceptance starts courier search. From this point, the delivery is ordered and can lead to a real charge.
  5. Track. Once a courier is assigned, the server can return the position, ETA, contact details and recipient link.

The priced offer usually expires about ten minutes after estimation. If auto_accept: true is passed when creating a claim, the separate review and acceptance step is skipped and the courier can be ordered automatically.

What changes in the account

The server exposes MCP annotations for reading, writing and destructive actions. The AI client decides when and how to ask for confirmation.

ActionResultChanges the account
Price estimateReturns the current price, distance and ETANo
Read, search and tracking toolsReturns claim, courier and cancellation informationNo
Create a claimAdds a real claim, but does not order a courier by defaultYes
Accept a claimStarts courier search and can lead to a chargeYes
Cancel a claimCancels the delivery; a cancellation fee may applyYes
raw_requestCalls another API method, including possible writesDepends on the method

Claim creation uses a unique request_id, so repeating it with the same id returns the same claim. Acceptance and cancellation are not automatically repeated after a network error or a 5xx response because the operation may already have succeeded. Read the current claim before trying again.

Getting access

  1. Register as a corporate Yango Delivery client and sign the delivery-service contract.
  2. Open the Integration tab in the delivery account.
  3. Select Get token.
  4. Add the token to the AI client as YANGO_DELIVERY_TOKEN.

The token is tied to the corporate account. It does not expire by itself, but changing the account password resets it.

The integration token is stored as plain text in the AI client's local configuration. Treat it like a password and never commit a configuration containing a real token.

Configuration

VariableRequiredDefaultDescription
YANGO_DELIVERY_TOKENyes—Bearer token from the delivery account
YANGO_DELIVERY_BASE_URLnohttps://b2b.taxi.yandex.netAPI root override
YANGO_DELIVERY_LANGnoenValue of the Accept-Language header
YANGO_DELIVERY_TIMEOUT_MSno60000Timeout for one request, in milliseconds
YANGO_DELIVERY_MAX_RETRIESno3Maximum retries for temporary failures; writes are not replayed unless they are idempotent
ASKADS_TELEMETRYnoenabled0, false, off or no disables anonymous telemetry

Data and telemetry

Requests to Yango Delivery

The server runs on your machine and sends claim data directly to b2b.taxi.yandex.net. The integration token is attached only to requests to the configured API host. Even raw_request accepts a relative path and blocks requests that resolve to another host.

Anonymous telemetry

By default, the server sends technical events to usage.gistrec.cloud: server start, called tool name and a fixed reason code when startup fails.

Events contain a random installation id, package version, AI client name and version, Node.js version and operating system. The integration token, claim data, tool arguments and prompts are not read or sent. For each tool call it also sends the outcome and, on failure, an excerpt of the error text with e-mails, addresses, tokens, numbers of 4+ digits and quoted text replaced by #; a value from your request can appear in it if the error text contains it. Telemetry has a two-second timeout and does not block a tool call.

To disable telemetry, add:

text
ASKADS_TELEMETRY=0

The implementation is in src/telemetry.ts.

Limits and background work

  • There is no documented sandbox. Treat claim creation and acceptance as production operations.
  • The offer is time-limited. The priced offer usually expires about ten minutes after estimation; read the current claim before acceptance.
  • Tracking requires an active claim. Position, ETA, contact details and tracking links may be unavailable until a courier is assigned or after the claim is completed.
  • Numeric API quotas are not published. When the API returns 429, the server follows Retry-After when present and retries up to YANGO_DELIVERY_MAX_RETRIES.
  • There is no background monitoring. The server works only when called from the AI app. If the app supports scheduled tasks, it can check an active claim periodically.
  • There is no automatic rollback. After an uncertain acceptance or cancellation result, read the claim before repeating the action.

Technical documentation

Support

Found a bug or missing a use case? Create an issue or message us on Telegram.


[Две Моны дают пять]

You made it to the end!

來源:README.md,提交 22a2478

工具

13

check_price

Estimate delivery price

Preliminary delivery cost estimate WITHOUT creating a claim — the pricing method for countries outside Russia. Returns price (a decimal STRING, not a number!), currency_rules {code, sign, template}, distance_meters, eta (minutes) and zone_id. Route points take [longitude, latitude] coordinates and/or a full address string. Typical errors: 400 address_not_found (address not recognized), 409 estimating.cant_construct_route (no route between the points), 409 estimating.requirement_unavailable.

輸入參數items必填requirementsroute_points必填skip_door_to_door

create_claim

Create a delivery claim

Creates a delivery claim. IMPORTANT: the claim is NOT dispatched immediately — it goes through estimation (status: new → estimating → ready_for_approval) and must then be confirmed with accept_claim, or pass auto_accept=true. Returns id (claim_id), status, version, route_points, pricing, created_ts. Verify success via get_claim: estimation errors can arrive as an error_messages array inside a 200 response. request_id makes the call idempotent: a retry with the same request_id returns the same claim, not a duplicate.

輸入參數dueitems必填commentskip_actrequest_idauto_acceptroute_points必填same_day_dataoptional_returnemergency_contactshipping_documentskip_door_to_door另有 4 個

get_claim

Get claim info

Full claim information: status, version (needed for accept/cancel), items, route_points (with visit status), pricing {offer, final_price, currency}, performer_info (courier name, vehicle, transport type), eta, created_ts/updated_ts. Known statuses: new, estimating, estimating_failed, ready_for_approval, accepted, performer_lookup, performer_draft, performer_found, performer_not_found, pickup_arrived, ready_for_pickup_confirmation, pickuped, delivery_arrived, ready_for_delivery_confirmation, delivered, delivered_finish, pay_waiting, returning, return_arrived, ready_for_return_confirmation, returned, returned_finish, failed, cancelled, cancelled_with_payment, cancelled_by_taxi, cancelled_with_items_on_hands. CAUTION: estimation errors can arrive as an error_messages array [{code, message}] inside a successful 200 response — check both the HTTP error and this field.

輸入參數claim_id必填

accept_claim

Accept a claim

Confirms a claim after successful estimation (status ready_for_approval) and starts the courier search — from this point the delivery is actually ordered. The priced offer inside a claim expires ~10 minutes after estimation, so accept promptly. version comes from get_claim. 409 errors: inappropriate_status (wrong claim status), old_version (stale version — re-read the claim), offer_expired (re-create the claim), state_mismatch.

輸入參數version必填claim_id必填

get_cancel_info

Get cancellation terms

Cancellation terms for a claim — call BEFORE cancel_claim. Returns cancel_state: free (free of charge), paid (a fee applies — price/price_with_vat and currency are returned) or unavailable (the claim can no longer be cancelled).

輸入參數claim_id必填

cancel_claim

Cancel a claim

Cancels a claim (including an already accepted one). Get the terms with get_cancel_info first and pass its cancel_state: with paid the cancellation fee is charged. version comes from get_claim. 409 errors: old_version, inappropriate_status, free_cancel_is_unavailable.

輸入參數version必填claim_id必填cancel_state必填

search_claims

Search claims

Search claims by filters with pagination (sorted by creation date). Returns claims (each shaped like get_claim) and a cursor for the next page. Pagination: either offset/limit, or cursor-based — pass the cursor from the previous response (other filters are then not needed).

輸入參數limitphonestatecursordue_tooffsetstatusclaim_iddue_fromcreated_tocreated_fromexternal_order_id

get_performer_position

Get courier position

Current courier geoposition for an active claim: position {lat, lon, timestamp (unix), accuracy, speed (m/s), direction (0–360°, clockwise from north)} and route_points with sharing_link. Errors: 404 — claim or courier position not found, 409 — the claim is not active or no courier is assigned.

輸入參數claim_id必填

get_points_eta

Get per-point ETAs

Expected arrival times per route point plus the current courier position. Works only while the claim is active and a courier is assigned. Returns route_points [{id, address, type, visit_order, visit_status (pending|arrived|visited|skipped), visited_at {expected, expected_waiting_time_sec, actual}}] and performer_position. Errors: 404 not_found; 409 — the claim is inactive, has no courier, or the courier position is unknown.

輸入參數claim_id必填

get_courier_phone

Get courier phone

Temporary forwarded phone number to call the courier of an active claim: phone (e.g. "+79099999998"), ext (extension, e.g. "0163") and ttl_seconds (how long the number stays operational). Errors: 400 invalid_point_phone; 404 — claim or courier not found; 409 inappropriate_status (the order is already completed).

輸入參數claim_id必填point_id

get_confirmation_code

Get confirmation code

Pickup/delivery confirmation code for the current point of the claim (when a code applies). Returns code (string) and attempts (remaining code entry attempts). 404 — claim not found or issuing a confirmation code via the API is prohibited.

輸入參數claim_id必填

raw_request

Raw Yango Delivery API call

Escape hatch: a direct call to any method of the Yango Delivery claims B2B API — for endpoints without a dedicated tool (tariffs, delivery-methods, claims/proof-of-delivery/info, claims/edit, claims/apply-changes, claims/return, claims/bulk_info, claims/journal, …). Paths are relative to the API root, e.g. "b2b/cargo/integration/v2/tariffs". query becomes the query string, body is sent as JSON. CAUTION: this tool can perform state-changing operations; 5xx/network errors are retried only for GETs.

輸入參數bodypath必填querymethod

版本歷史

3
  1. v1.2.1最新Oct 31, 2026
  2. v1.2.0Oct 31, 2026
  3. v1.1.0Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分