Сценарий из mcp-everything. Актуально на 2026-10-24.
Автоматизировать облачную инфраструктуру VK Cloud: получить токен Keystone и вызывать API виртуальных машин, дисков и образов.
TOKEN=$(curl -si -X POST https://infra.mail.ru:5000/v3/auth/tokens \
-H 'Content-Type: application/json' \
-d '{"auth": {
"identity": {"methods": ["password"], "password": {"user": {
"domain": {"name": "<OS_USER_DOMAIN_NAME>"}, "name": "<OS_USERNAME>", "password": "<OS_PASSWORD>"}}},
"scope": {"project": {"id": "<OS_PROJECT_ID>", "region": "<OS_REGION_NAME>"}}}}' \
| grep -i '^x-subject-token' | cut -d' ' -f2 | tr -d '\r')
# Список виртуальных машин (Nova)
curl https://infra.mail.ru:8774/v2.1/servers/detail -H "X-Auth-Token: $TOKEN"
https://infra.mail.ru:5000https://infra.mail.ru:8774/v2.1https://public.infra.mail.ru:8776/v3/<project_id>https://infra.mail.ru:9292https://mcs.mail.ru/infra/karboii/v1https://public.infra.mail.ru:8786/v2/<project_id><project_id>Тип: Другое
Токен Keystone получают запросом POST /v3/auth/tokens с логином и паролем пользователя; токен возвращается в заголовке ответа x-subject-token. Доступ к API должен быть включён в настройках проекта.
Хост infra.mail.ru:5000, заголовок Content-Type: application/json.
Токен — в заголовке ответа x-subject-token.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
auth.identity.methods |
body | array | да | ["password"] |
auth.identity.password.user.domain.name |
body | string | да | Домен пользователя (OS_USER_DOMAIN_NAME) |
auth.identity.password.user.name |
body | string | да | Имя пользователя (OS_USERNAME) |
auth.identity.password.user.password |
body | string | да | Пароль (OS_PASSWORD) |
auth.scope.project.id |
body | string | да | ID проекта (OS_PROJECT_ID) |
auth.scope.project.region |
body | string | да | Регион (OS_REGION_NAME) |
Пример запроса:
{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"domain": { "name": "<OS_USER_DOMAIN_NAME>" },
"name": "<OS_USERNAME>",
"password": "<OS_PASSWORD>"
}
}
},
"scope": {
"project": {
"id": "<OS_PROJECT_ID>",
"region": "<OS_REGION_NAME>"
}
}
}
}
OS_* берутся из настроек проекта (раздел «Доступ по API»).jq.Если этого недостаточно — официальная документация: https://cloud.vk.ru/docs/en/tools-for-using-services/api/rest-api Вся интеграция одним документом: https://mcp-everything.ru/integrations/vk-cloud.md