MCP server for Yandex Cloud — compute, storage, serverless infrastructure (Russia)
Server has 8 tools with basic schemas and descriptions in Russian. All tools are explicitly registered with name, description, and Zod schemas. However, descriptions are minimal (avg ~60 chars, well below the 194-char baseline), parameter descriptions are sparse or missing, and output schemas are not documented. No error handling guidance, no parameter constraints (enums, ranges), and no security annotations. Tool names follow verb_noun pattern (list_*, get_*, start_*, stop_*, invoke_*) which is good, but parameter documentation is weak. Schemas use Zod but are not fully visible in the provided code excerpt, only partial schema definitions shown. No evidence of pagination support, result limits, or chaining IDs in responses.
Получить информацию о виртуальной машине по ID.
Проверить статус асинхронной операции по ID.
Вызвать serverless-функцию с payload.
Список бакетов Object Storage в каталоге.
Список serverless-функций в каталоге.
Список виртуальных машин (Compute) в каталоге Yandex Cloud.
Запустить виртуальную машину.
Descriptions are too short (avg ~60 chars vs 194-char baseline). Descriptions like 'Список виртуальных машин (Compute) в каталоге Yandex Cloud.' lack context on WHEN to use the tool, what it returns, and prerequisites. LLMs cannot reliably select tools without richer descriptions.
Parameter descriptions are missing or minimal. 'folder_id' is described as 'ID каталога (по умолчанию из env)' but lacks format, constraints, or examples. 'payload' in invoke_function is described as 'JSON payload для вызова функции' but does not specify structure, size limits, or validation rules.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Остановить виртуальную машину.
No output schemas documented. Tools return JSON.stringify(result) as plain text, but the structure of 'result' is not specified. LLMs cannot plan downstream calls or extract required fields (e.g., instance_id from list_instances) without knowing the response schema.
No error handling guidance. fetchWithRetry() catches errors and throws generic messages like 'Yandex Cloud HTTP 500: ...' or 'Yandex Cloud: все попытки исчерпаны'. These do not tell the LLM whether to retry, ask the user, or give up. No recovery hints provided.
No pagination support visible. list_instances, list_buckets, and list_functions do not accept limit or offset parameters. If Yandex Cloud returns 1000+ items, the response will blow the context window. No result capping or pagination guidance documented.