mcp-yango-delivery
This MCP server integrates Yango Delivery's B2B API, enabling AI assistants to manage express courier deliveries end-to-end.
Estimate delivery costs: Use
check_priceto get price, distance, and ETA without creating a claim.Manage claims: Create (
create_claim), accept (accept_claim), retrieve (get_claim), search (search_claims), and cancel (cancel_claim) claims. Check cancellation terms first withget_cancel_info.Track couriers: Monitor live position (
get_performer_position), estimated arrival times per route point (get_points_eta), and generate shareable tracking links (get_tracking_links).Contact couriers: Get temporary phone numbers (
get_courier_phone) and delivery confirmation codes (get_confirmation_code).Direct API access: Call any other Yango Delivery API endpoint via
raw_requestfor endpoints not covered by dedicated tools.
Click on "Install 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., "@mcp-yango-deliveryEstimate delivery cost for a 2kg parcel to Amir Timur Ave 107"
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.
Yango Delivery MCP
English | Русский
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.
Related MCP server: delovye-linii-mcp
Contents
Quick start
You need Node.js 20+, a Yango Delivery corporate account and an integration token.
Add the server to your AI app using one of the instructions below.
Start with a price estimate:
Estimate delivery of a 2 kg parcel from [pickup address] to [delivery address].
In the app:
Open Settings → MCP servers.
Select Add server.
Choose STDIO, then enter the launch command
npx -y mcp-yango-delivery@latestand theYANGO_DELIVERY_TOKENenvironment variable with your token.Select Save, then Restart.
From the command line:
codex mcp add yango-delivery \
--env YANGO_DELIVERY_TOKEN=your_token \
-- npx -y mcp-yango-delivery@latestCheck the connection:
codex mcp listclaude mcp add \
--env YANGO_DELIVERY_TOKEN=your_token \
--transport stdio \
--scope user \
yango-delivery \
-- npx -y mcp-yango-delivery@latestCheck the connection:
claude mcp listThe 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:
{
"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
Add a user-level server to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows:
{
"mcpServers": {
"yango-delivery": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yango-delivery@latest"],
"env": {
"YANGO_DELIVERY_TOKEN": "your_token"
}
}
}
}Run MCP: Open User Configuration from the Command Palette and add:
{
"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.
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
Estimate. A price check returns the current offer, distance and ETA without creating anything.
Create. A claim is added to the account and moves through estimation. By default, no courier is ordered yet.
Review. Read the latest claim status, price and version. A successful claim becomes ready for approval.
Accept. Acceptance starts courier search. From this point, the delivery is ordered and can lead to a real charge.
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.
Action | Result | Changes the account |
Price estimate | Returns the current price, distance and ETA | No |
Read, search and tracking tools | Returns claim, courier and cancellation information | No |
Create a claim | Adds a real claim, but does not order a courier by default | Yes |
Accept a claim | Starts courier search and can lead to a charge | Yes |
Cancel a claim | Cancels the delivery; a cancellation fee may apply | Yes |
| Calls another API method, including possible writes | Depends 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
Register as a corporate Yango Delivery client and sign the delivery-service contract.
Open the Integration tab in the delivery account.
Select Get token.
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
Variable | Required | Default | Description |
| yes | — | Bearer token from the delivery account |
| no |
| API root override |
| no |
| Value of the |
| no |
| Timeout for one request, in milliseconds |
| no |
| Maximum retries for temporary failures; writes are not replayed unless they are idempotent |
| no | enabled |
|
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. Telemetry has a two-second timeout and does not block a tool call.
To disable telemetry, add:
ASKADS_TELEMETRY=0The 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-Afterwhen present and retries up toYANGO_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
MCP capability catalog — task-oriented pages for every tool.
All tools — input schemas, responses, statuses and errors.
Development — local setup and project checks.
Publishing — package release and MCP catalog listing.
npm package — the published
mcp-yango-deliverypackage.Yango/Yandex Delivery API — upstream method documentation.
Support
Found a bug or missing a use case? Create an issue or message us on Telegram.
Available Tools
13 toolsaccept_claimAccept a claimA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | Claim version from the latest get_claim response. | |
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-idempotent, but the description adds crucial context: the side effect of ordering the delivery, the offer expiration window, and a detailed breakdown of 409 errors (inappropriate_status, old_version, offer_expired, state_mismatch) with corrective actions. This far exceeds the annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly three sentences, each serving a distinct purpose: describing the action and consequence, warning about expiration, and detailing error handling and version source. There is no redundancy or filler, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description is remarkably complete for a mutation tool. It covers the prerequisite status, the side effect of ordering, the time constraint, the source of the version parameter, and all relevant error scenarios with recommended recovery actions. This is more than sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both claim_id and version. The description adds valuable context beyond the schema by stating that version comes from get_claim, and the 409 error explanation for old_version clarifies the parameter's significance. This supplements the schema rather than repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool confirms a claim after successful estimation and starts the courier search, with the consequence that the delivery is actually ordered. This uses specific verbs and resources, and the status precondition (ready_for_approval) distinguishes it from sibling tools like get_claim or cancel_claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool (after successful estimation, when status is ready_for_approval) and warns about the 10-minute offer expiration, implying prompt action. It does not explicitly name alternative tools, but the precondition is clear enough for an agent to select correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_claimCancel a claimADestructive
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.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | Claim version from the latest get_claim response. | |
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. | |
| cancel_state | Yes | Cancellation mode from get_cancel_info: free — no charge, paid — a fee applies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that cancelling an accepted claim is possible, that a paid cancellation incurs a fee, and lists specific 409 error conditions (old_version, inappropriate_status, free_cancel_is_unavailable). This adds behavioral context beyond the readOnlyHint/destructiveHint annotations, which already signal mutation and destructiveness. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action. It packs essential instructions and error information into a few sentences without extraneous content, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (state-dependent cancellation, fees, versioning), the description covers all necessary context: prerequisites, parameter sources, fee implications, and likely errors. There is no output schema, but the description sufficiently informs the agent about expected behavior and failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Though the schema already covers all parameters, the description enriches semantics by telling where each parameter comes from: cancel_state from get_cancel_info, version from get_claim, and claim_id from create_claim/search_claims. It also explains the free vs. paid meaning, adding clarity beyond the schema's enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Cancels a claim (including an already accepted one).' This uses a specific verb and resource, and explicitly notes that even accepted claims can be cancelled, which distinguishes it from sibling tools like accept_claim or get_cancel_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it tells the caller to first get terms with get_cancel_info and pass its cancel_state, and that version comes from get_claim. This effectively defines a workflow and prerequisites, which is exactly what an agent needs to use the tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_priceEstimate delivery priceARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Items / cargo places. | |
| requirements | No | Delivery requirements (class, body type, extra options). | |
| route_points | Yes | Route points: coordinates and/or an address (at least one of the two per point). | |
| skip_door_to_door | No | true — disable door-to-door delivery (default false). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable context by emphasizing that the returned price is a decimal STRING, not a number, and by listing typical error codes and meanings, which helps the agent interpret responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, focuses first on purpose, then output, then input, then errors. Every sentence adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description enumerates the return fields (price as string, currency_rules, distance_meters, eta, zone_id) and lists common error scenarios. For a read-only estimation tool, this covers the key contextual needs for invocation and response interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter property already has a semantic description. The description adds minimal extra parameter detail (e.g., reinforcing that route points can use coordinates and/or address), but the schema already provides that, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Preliminary delivery cost estimate WITHOUT creating a claim' and 'the pricing method for countries outside Russia', which differentiates it from claim-management siblings. The verb 'estimate' plus resource 'delivery cost' makes the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use for preliminary cost estimates before creating a claim, and only for countries outside Russia. However, it does not explicitly name an alternative tool for Russia or when to use a different tool, so it lacks a full when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_claimCreate a delivery claimA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| due | No | Desired courier arrival time (ISO-8601), e.g. 2026-08-10T12:00:00+05:00. | |
| items | Yes | Items to deliver. | |
| comment | No | Comment for the courier (up to 7000 characters). | |
| skip_act | No | true — do not generate a handover act. | |
| request_id | No | Idempotency token (1–128 characters, a query parameter). A UUID is generated automatically when omitted. | |
| auto_accept | No | true — confirm the claim automatically after successful estimation (no accept_claim needed). | |
| route_points | Yes | Route points (at least 2): a source and a destination at minimum. | |
| same_day_data | No | Same-day delivery settings: {delivery_interval: {from, to}} (a non-Russia feature). | |
| optional_return | No | true — the courier does not return items to the sender when hand-over fails. | |
| emergency_contact | No | Contact to reach if there is a problem with the delivery. | |
| shipping_document | No | Accompanying shipping document reference. | |
| skip_door_to_door | No | true — no door-to-door: hand over at the entrance. | |
| skip_client_notify | No | true — do not send SMS/push notifications to the recipient. | |
| callback_properties | No | Webhook for claim status changes. | |
| client_requirements | No | Delivery requirements. Optional per the docs, but always passing taxi_class is safest. | |
| skip_emergency_notify | No | true — do not notify the emergency contact. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavioral traits: non-immediate dispatch, status transitions, potential error_messages in a 200 response, and request_id-based idempotency. These go well beyond the sparse annotations (readOnlyHint=false, etc.), giving the agent critical expectations about side effects and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, but at ~4 sentences, it is longer than the 'two sentences' ideal. Every sentence conveys necessary information—workflow, return values, verification, idempotency—so it is not verbose, but it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 16 params, nested objects, no output schema, and complex state transitions, the description covers all essential operational aspects: what it creates, the estimation flow, required confirmation, return payload fields, verification method, error behavior, and idempotency. This is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for all 16 parameters, including nested objects. The description adds context for request_id (idempotency guarantee) and auto_accept (skips accept_claim), but these are already partially covered in the schema. Overall, the schema does the heavy lifting, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Creates a delivery claim', a specific verb+resource. It clearly distinguishes from sibling tools (get_claim, accept_claim, cancel_claim) by indicating it is the creation step. The additional detail about estimation workflow reinforces its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear workflow context: claims go through estimation and need accept_claim or auto_accept, and verification via get_claim. However, it does not explicitly state when not to use this tool or mention alternatives like check_price for pricing-only queries, so it falls short of full guideline coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cancel_infoGet cancellation termsARead-onlyIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description wisely adds domain semantics instead of restating safety. It explains the three cancel_state outcomes and the fee-related fields, which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose and sequencing instruction, followed by a compact but complete summary of return states. Every sentence earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only lookup with no output schema, the description fully covers the return semantics and the cancellation precondition. It provides enough information for an agent to invoke and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter claim_id is fully described in the schema with source and format details, so the description does not need to repeat it. The tool description adds no extra parameter-level meaning, but schema coverage is 100%, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as providing cancellation terms for a claim and explicitly relates it to cancel_claim, distinguishing its role. Although it lacks a direct verb like 'retrieve', the return-state explanation makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to call BEFORE cancel_claim, establishing a clear usage context. It does not enumerate alternative tools, but the pre-cancellation position is sufficient guidance for when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_claimGet claim infoARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: it warns that estimation errors can appear as an error_messages array inside a successful 200 response, and enumerates known statuses for interpreting results. This is valuable, non-obvious information that goes well beyond the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense; every section (field list, status list, caution) serves a purpose. It is well-organized and front-loaded with the purpose, though the status enumeration could be trimmed if considered overlong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully compensates by listing all returned fields, known statuses, and the error_messages edge case. It provides a comprehensive picture of what the tool returns and how to interpret it, making it complete for a read-only info retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (claim_id), which already explains its origin and format. The tool description adds no additional parameter semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns 'Full claim information' and lists the specific fields (status, version, items, route_points, etc.), establishing a clear purpose of retrieving comprehensive details for a single claim. It does not explicitly differentiate from sibling tools, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when full claim information is needed and notes that version is needed for accept/cancel, giving a weak contextual hint. However, it does not explicitly name alternatives or provide when-not-to-use guidance, so it falls short of clear usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_confirmation_codeGet confirmation codeARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, open-world, and idempotent. The description adds useful behavioral context by specifying the return values (code and attempts) and the 404 error condition, including a case where API issuance is prohibited. This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and wastes no words. It efficiently conveys behavior, return values, and error cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description covers the return values and the main 404 error condition. While it does not elaborate on the format of the code or the meaning of 'attempts,' the information is sufficient for basic usage given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the single claim_id parameter with coverage at 100%, including instructions to use the ID from create_claim or search_claims responses. The description adds no additional parameter semantics, so it appropriately relies on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'get_confirmation_code' retrieves a pickup/delivery confirmation code for the current point of a claim, with a scope qualifier ('when a code applies'). This is specific and distinct from sibling tools like get_claim or get_courier_phone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('when a code applies') but does not explicitly state when to choose this tool over alternatives or when not to use it. It lacks exclusionary guidance or references to sibling tools, so usage is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_courier_phoneGet courier phoneARead-onlyIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. | |
| point_id | No | Route point the contact person calls from (int64 point id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context: the number is temporary, has a TTL, and includes specific error codes (400, 404, 409). This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence listing output fields and error codes. It is front-loaded and every word adds value, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return values and errors sufficiently. It could mention what constitutes an 'active claim' more explicitly, but the error information compensates. The context is otherwise complete for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both claim_id and point_id have descriptions). The tool description adds no extra parameter-level detail, relying entirely on the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: providing a temporary forwarded phone number to call the courier of an active claim. It specifies the returned fields (phone, ext, ttl_seconds), distinguishing it from siblings like get_confirmation_code or get_tracking_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes the tool is for active claims and lists a 409 inappropriate_status error for completed orders, implying when not to use it. It doesn't explicitly name alternatives, but the context is clear and the sibling list provides alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performer_positionGet courier positionARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses the exact response structure and error conditions (404, 409). This adds behavioral context about expected failures and what data will be returned, which is valuable for an agent deciding whether to call this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence followed by a compact error list. It front-loads the main purpose and output, with no wasted words or redundant repetition of schema data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, no output schema, and annotation coverage, the description provides enough context: response fields, route_points, sharing_link, and specific error semantics. It could mention pagination or rate limits, but these are likely not relevant for a single-position endpoint. Overall, it is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a detailed description of claim_id (32–64 chars, from create_claim or search_claims). The tool description adds the critical semantic constraint that the claim must be active, which is not in the schema, enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the current courier geoposition for an active claim, listing the specific fields (lat, lon, timestamp, accuracy, speed, direction) and route_points with sharing_link. This directly aligns with the tool name and distinguishes it from siblings that provide different tracking or courier info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for active claims by noting error 409 when the claim is not active or no courier is assigned. However, it does not explicitly compare with alternative tools like get_courier_phone or get_tracking_links, nor state when-not-to-use. The context is clear but no exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_points_etaGet per-point ETAsARead-onlyIdempotent
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.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses specific error conditions (404 not_found, 409 when claim inactive/no courier/unknown position) and the exact structure of the response. This adds substantial behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, precondition, and return/error details. Every sentence provides essential information, and the structure is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully enumerates the returned object fields and error cases. For a single-parameter read operation, this covers all necessary context for an agent to invoke and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes claim_id with context (source from create_claim or search_claims responses). The description adds no additional parameter details beyond that, so a baseline of 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool returns: expected arrival times per route point plus the current courier position. It specifies the resource (route points for a claim) and distinguishes it from sibling tools like get_performer_position by including ETAs and visit statuses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when the tool works: only while the claim is active and a courier is assigned. It does not explicitly name alternatives or exclusions, but the precondition and return content make appropriate usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tracking_linksGet tracking linksARead-onlyIdempotent
Public courier tracking links — safe to share with the recipient. Returns route_points [{id, type, visit_order, sharing_link}]; sharing_link is available only for type=destination points. 409 errors: inappropriate_status, unknown_tracking_links.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes | Claim id (claim_id, 32–64 characters) from the create_claim or search_claims response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by disclosing the return format, the condition that sharing_link only appears for type=destination points, and possible 409 error codes. It does not contradict the readOnlyHint/idempotentHint annotations, and the disclosed behaviors are relevant for handling responses and errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences), front-loaded with the key purpose, and effectively includes essential details: safe-to-share, return structure, conditional field, and error codes. Every piece of information adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is fairly complete. It covers the return shape, the conditional availability of sharing_link, and error codes. It could be more complete by explicitly stating when to use it, but overall it provides sufficient context for an agent to invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter (claim_id) with a clear description (source and length). The tool description adds no additional parameter detail, but since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: obtaining public courier tracking links safe to share, and it specifies the return structure (route_points with sharing_link). However, it does not explicitly differentiate itself from sibling tools like get_claim or get_confirmation_code, though the 'public tracking links' and return format make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating the links are 'safe to share with the recipient', suggesting this tool is for sharing tracking info with customers. However, it lacks explicit guidance on when to use this tool instead of alternatives, such as get_claim, which might also contain tracking information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
raw_requestRaw Yango Delivery API callADestructive
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON request body. | |
| path | Yes | Relative API path, e.g. "b2b/cargo/integration/v2/claims/bulk_info". | |
| query | No | Query-string parameters, e.g. {"claim_id": "..."}. | |
| method | No | HTTP method; defaults to POST. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=true, openWorldHint=true), the description adds crucial details: state-changing operations possible, retry only for GETs on 5xx/network errors, and specifics about how query and body are mapped. This enriches the agent's understanding without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two well-structured sentences plus a focused caution. It is front-loaded with the core purpose, follows with usage details, and ends with safety warning. Every sentence contributes necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's open-ended nature and lack of output schema, the description covers purpose, usage boundaries, parameter behavior, and risk—sufficient for an agent to select and invoke it correctly. It is remarkably complete for an escape-hatch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already describes each parameter (100% coverage), the description adds meaningful context: paths are relative to the API root, query becomes query string, body is sent as JSON, and method defaults to POST. This goes beyond the schema descriptions and clarifies the HTTP mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an escape hatch for direct calls to the Yango Delivery API, explicitly listing example endpoints and specifying it is for endpoints without a dedicated tool. This strongly differentiates it from sibling tools like get_claim or cancel_claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance by stating 'for endpoints without a dedicated tool' and giving concrete examples. It also cautions about state-changing operations and retry behavior, which helps agents decide when to use it versus safer dedicated tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_claimsSearch claimsARead-onlyIdempotent
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many claims to return (up to 1000). | |
| phone | No | Filter by a phone number from the claim contacts. | |
| state | No | Status group: active, finished or delayed claims. | |
| cursor | No | Cursor from the previous response — an alternative to offset/limit. | |
| due_to | No | Courier arrival no later than (ISO-8601). | |
| offset | No | Offset for offset/limit pagination (default 0). | |
| status | No | Filter by status. 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. | |
| claim_id | No | Filter by claim id. | |
| due_from | No | Courier arrival no earlier than (ISO-8601). | |
| created_to | No | Created no later than (ISO-8601). | |
| created_from | No | Created no earlier than (ISO-8601). | |
| external_order_id | No | Filter by the external order id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and idempotent, so the description adds value by disclosing the return shape (claims like get_claim, plus a cursor), the sort order (creation date), and the pagination semantics (either offset/limit or cursor from previous response). This is beyond annotation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise, information-dense sentences. Front-loaded with the main purpose, then return shape, then pagination alternatives. No redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 12 optional parameters and no output schema, the description adequately covers the core behavior: searching with filters, sorted results, return shape (same as get_claim), and cursor pagination. The schema handles parameter details, so no need to list every filter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The main description adds little beyond the schema, only reiterating the cursor-based pagination mode already covered in the cursor parameter description. Baseline for high coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Search' and resource 'claims', clearly distinguishing it from sibling tools like get_claim (singular retrieval). It also specifies 'by filters with pagination' and 'sorted by creation date', which defines the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context on when to use this tool: to search claims with filters. It also explains two pagination modes (offset/limit or cursor-based) and notes that cursor-based pagination doesn't require other filters. However, it doesn't explicitly mention alternatives like get_claim for single claim retrieval, so no strong exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v0.1.0- First observed
accept_claim - First observed
cancel_claim - First observed
check_price - First observed
create_claim - First observed
get_cancel_info - First observed
get_claim - First observed
get_confirmation_code - First observed
get_courier_phone - First observed
get_performer_position - First observed
get_points_eta - First observed
get_tracking_links - First observed
raw_request - First observed
search_claims
TDQS
Each tool targets a distinct resource and action: creating, checking price, accepting, cancelling, searching, retrieving, tracking position/ETA, sharing links, contacting courier, confirming codes. Even closely related tools like get_performer_position, get_points_eta, and get_tracking_links are clearly differentiated by their descriptions.
The vast majority follow a consistent verb_noun pattern (get_claim, create_claim, cancel_claim, search_claims). The only deviation is 'raw_request', which breaks the pattern but serves as an obvious escape hatch rather than a regular domain operation.
13 tools is well within the ideal 3-15 range for a domain-specific server. Each tool serves a clear purpose in the delivery claim lifecycle, and the count feels neither thin nor bloated.
The tool set covers the full claim lifecycle: create, price check, accept, cancel (with cancel info), retrieve, and search. It also includes operational tools for tracking, ETA, courier contact, and confirmation codes. The raw_request escape hatch ensures no endpoint is unreachable, eliminating noticeable gaps.
Maintenance
Related MCP Connectors
Furgonetka MCP Server is an extension for LLMs (such as Claude) that integrates AI assistants with Poland's most popular courier brokerage platform. The server enables models to interact directly with services from various couriers (including InPost, DPD, DHL, UPS, and Poczta Polska) through a single, unified interface. With this integration, your AI stops just "writing about logistics" and starts actually managing it.
MCP server for ua_postal_tracking_mcp
MCP server for EasyPost — rate shipments, buy & refund labels, track packages, verify addresses.
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
Related MCP Servers
- AlicenseDqualityDmaintenanceMCP server for Yandex Delivery API, allowing AI assistants to manage deliveries, track couriers, and handle orders.21MIT
- AlicenseBqualityDmaintenanceAn MCP server for the Delovye Linii logistics API, enabling cargo delivery cost calculation, order creation, tracking, and directory lookups for cities and terminals.654MIT
- AlicenseAqualityFmaintenanceMCP server for Yandex GPT API enabling text generation, embeddings, classification, summarization, and tokenization.848MIT
- AlicenseAqualityCmaintenanceMCP server for Yandex Eats Vendor Management API, enabling AI agents to manage partner operations like orders, busy mode, menu import, and feedback.1110MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/A1-x-Tech/mcp-yango-delivery'
If you have feedback or need assistance with the MCP directory API, please join our Discord server