Skip to main content
Glama

menu__get_external_menu_by_id

Read-only

Get an external menu by ID for selected organizations, including options for language, price category, and response version to match required data format.

Instructions

Получить внешнее меню по ID.

Args: menu_request: Параметры запроса MenuRequest

Returns: Ответ с данными внешнего меню Где взять ID: externalMenuId → menu__get_external_menus; organizationIds → organizations__get_organizations; priceCategoryId → menu__get_external_menus. Поле version выбирает модель данных ответа, а сам ответ — объединение ExternalMenuV2 | ExternalMenuV3 | ExternalMenuV4, поэтому форма результата зависит от version. version=4 (рекомендуется): отличается от третьей версии одним — items внутри группы это объединение обычной позиции и ExternalMenuComboItem, то есть комбо приходят прямо в списке позиций и различаются полем type; в v3 комбо доступны только через comboCategories. version=3: относительно второй версии переименовано itemCategories → itemGroups, у позиции itemId → id, canBeDivided → splittable, allergens → allergenGroupIds, taxCategory → taxCategoryId; у размера sizeId → id, portionWeightGrams и nutritionPerHundredGrams → weight и nutritions; у группы модификаторов itemGroupId → id, canBeDivided → splittable; у модификатора itemId → id, allergenGroups → allergenGroupIds, убрано position, добавлены nutritions, taxCategoryId, weight; byDefault → defaultQuantity; у категории убрано headerImageUrl; в корне добавлены taxCategories, allergenGroups, overrideTaxCategories. version=2: legacy-формат. Без version API отдаёт формат по умолчанию — версию лучше указывать явно. Троттлинг MCP-сервера (не лимит iikoCloud): не чаще 1 запрос(ов) за 120 с — кэшируйте результат в диалоге.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
menu_requestYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds significant behavioral detail: the response is a union of ExternalMenuV2|V3|V4 depending on version, and it explains version-specific differences in detail. It also discloses MCP throttling (1 request per 120 seconds) and recommends caching. This goes beyond annotations, though it could mention error handling or pagination.

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

Conciseness3/5

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

The description is long, but it is well-structured with newlines and separate paragraphs for each version difference. The essential purpose is front-loaded, and the version details are necessary for correct usage. However, it could be more concise; some version details are repeated and could be summarized more tightly. It is not tautological, but it is verbose.

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?

For a tool with complex versioned output, the description covers the main concerns: ID sourcing, version selection, throttling, and the union type. It lacks explicit explanation of the language, asyncMode, and startRevision parameters, and it doesn't mention pagination or limit handling, but the core usage is covered. Given the absence of an output schema, the version breakdown is especially valuable.

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

Parameters4/5

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

Schema description coverage is reported as 0%, so the description must carry the burden. It explains externalMenuId, organizationIds, priceCategoryId and where to obtain them, and it thoroughly explains the version parameter and its impact on the response structure. However, it does not clarify language, asyncMode, or startRevision, which remain undefined both in schema (per coverage) and description. It compensates for the most critical parameters but not all.

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 opens with 'Получить внешнее меню по ID' (get external menu by ID), a clear verb+resource statement. It distinguishes from siblings like menu__get_external_menus by implying that this tool requires an ID, and it even references the sibling as the source for obtaining the ID. The purpose is unambiguous.

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 explains where to get IDs (externalMenuId from menu__get_external_menus, organizationIds from organizations__get_organizations), which implies when to use this tool (when you have an ID). However, it does not explicitly state 'use this tool instead of menu__get_external_menus when you have an ID' or list exclusions. It provides context but not explicit alternatives.

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

Deploy Server

Other Tools