Skip to main content
Glama

Магазины и доставка

grocery_stores
Read-onlyIdempotent

Retrieve grocery stores for the user's address with nearest delivery window, delivery fee, minimum order, and cashback. Sort by speed, price, or minimum sum when requested.

Instructions

Магазины, доступные по адресу пользователя: appId/pointId (нужны всем остальным grocery-тулам), окно ближайшей доставки, её цена, минимальная сумма заказа и кешбэк.

Это ИНСТРУМЕНТ, а не политика: без sort_by порядок остаётся тем, что вернул банк. Сортируй, только когда пользователь назвал критерий.

sort_by: speed (быстрее приедет) | price (дешевле доставка) | min_sum (ниже минимальная сумма). order: asc | desc.

«Быстрее» считается по КОНЦУ ближайшего окна — «привезут не позже», — потому что банк отдаёт два разных вида слота: «до 15 мин» и «завтра 08:00–11:00», и сравнимы они только по этому числу. Магазины, у которых слота нет (или он уже прошёл), уходят в КОНЕЦ и при asc, и при desc: «неизвестно» не равно нулю и не должно выигрывать запрос «побыстрее».

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orderNoasc
sort_byNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the safety profile (readOnlyHint, idempotentHint, destructiveHint), so the description adds genuinely valuable behavioral semantics: 'fast' is measured by the END of the nearest delivery window because the bank returns two incomparable slot types ('within 15 min' vs 'tomorrow 08:00–11:00'), and stores with no or elapsed slot always go to the END of the sorted result. This edge-case rule prevents an agent from incorrectly treating 'unknown' as a zero value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is longer than average, but every sentence is load-bearing: result contents, dependency note, sort policy, parameter values, and the edge-case semantics. It is front-loaded with what the tool returns, and the sorting rationale is necessary to justify a non-obvious rule rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the result shape, parameter semantics, and sorting edge cases, and an output schema exists so return format does not need to be repeated. What is missing is minor: no mention of behavior when the store list is large/empty or how the result interacts with the user's address, but for a 2-parameter read-only tool this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are no enums, so the description carries the entire load. It fully documents sort_by (speed/price/min_sum with their meanings) and order (asc|desc), and even explains the behavior of borderline values. The descriptions' param info is high-value and completes the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb+resource: the list of stores available at the user's address, with the delivery window, price, minimum order sum, and cashback. It also distinguishes the tool from its many grocery siblings by noting it provides the appId/pointId that all other grocery tools need, positioning it as the entry-point listing tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit usage rule — sort only when the user named a criterion, otherwise keep the order the bank returned ('this is a TOOL, not a policy'). It also signals when the tool fits in a flows as the source of the appId/pointId that the other grocery tools depend on. However, it doesn't name sibling tools to avoid (e.g., grocery_search) with explicit when-to-use-vs-not wording.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/icyberdeveloper/tbank-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server