Сценарий из mcp-everything. Актуально на 2026-10-24.
Поднять сервер из скрипта: для теста, CI или временной нагрузки.
OP=$(curl -s -X POST https://compute.api.cloud.yandex.net/compute/v1/instances \
-H "Authorization: Bearer $IAM_TOKEN" -H 'Content-Type: application/json' \
-d '{
"folderId": "<id каталога>",
"name": "test-vm",
"zoneId": "ru-central1-a",
"platformId": "standard-v3",
"resourcesSpec": {"memory": "2147483648", "cores": "2", "coreFraction": "20"},
"bootDiskSpec": {"diskSpec": {"size": "21474836480", "imageId": "<id образа>"}},
"networkInterfaceSpecs": [{"subnetId": "<id подсети>", "primaryV4AddressSpec": {"oneToOneNatSpec": {"ipVersion": "IPV4"}}}],
"metadata": {"user-data": "#cloud-config\nusers:\n - name: admin\n sudo: ALL=(ALL) NOPASSWD:ALL\n ssh_authorized_keys:\n - ssh-ed25519 AAAA..."}
}' | jq -r .id)
curl https://operation.api.cloud.yandex.net/operations/$OP -H "Authorization: Bearer $IAM_TOKEN"
https://iam.api.cloud.yandex.nethttps://resource-manager.api.cloud.yandex.nethttps://compute.api.cloud.yandex.nethttps://operation.api.cloud.yandex.netТип: Bearer-токен
Все запросы, кроме получения токена, передают IAM-токен в заголовке:
IAM-токен получают методом POST /iam/v1/tokens в обмен на OAuth-токен аккаунта на Яндексе или JWT сервисного аккаунта.
Authorization: Bearer <IAM-токен>
Асинхронная операция; её можно отменить, пока она выполняется.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
folderId |
body | string | да | ID каталога |
zoneId |
body | string | да | Зона доступности |
platformId |
body | string | да | Аппаратная платформа |
resourcesSpec.memory |
body | string | да | Объём памяти в байтах |
resourcesSpec.cores |
body | string | да | Число ядер |
resourcesSpec.coreFraction |
body | string | нет | Гарантированная доля vCPU: 0, 5, 20, 50, 100 |
resourcesSpec.gpus |
body | string | нет | Число GPU: 0, 1, 2, 4 |
bootDiskSpec |
body | object | да | Загрузочный диск: diskSpec (size, imageId, typeId) или diskId |
networkInterfaceSpecs |
body | array | да | Сетевые интерфейсы |
name |
body | string | нет | Имя ВМ |
description |
body | string | нет | Описание, до 256 символов |
labels |
body | object | нет | Метки ключ:значение |
metadata |
body | object | нет | Метаданные (в том числе пользовательские ключи) |
secondaryDiskSpecs |
body | array | нет | Дополнительные диски, до 3 |
hostname |
body | string | нет | Имя хоста |
schedulingPolicy |
body | object | нет | Политика планирования |
serviceAccountId |
body | string | нет | Сервисный аккаунт для аутентификации изнутри ВМ |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
instanceId |
path | string | да | ID виртуальной машины |
Хост operation.api.cloud.yandex.net.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
operationId |
path | string | да | ID операции |
Пример запроса:
GET https://operation.api.cloud.yandex.net/operations/fcmq0j5033e516c56ctq
id, created_at, created_by, modified_at, done, metadata и одно из полей response/error. Отслеживайте статус по id.done: true означает завершение операции, в том числе с ошибкой. Поле error может появиться раньше — пока сервис откатывает изменения.Create/Update поле response содержит созданный или изменённый ресурс.pageSize, memory, cores) передаются строками.pageSize и pageToken, следующая страница — по nextPageToken из ответа.Если этого недостаточно — официальная документация: https://yandex.cloud/ru/docs/api-design-guide/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-cloud.md