vk-cloud-mcp-server
VK Cloud MCP Server is an unofficial project that provides a Model Context Protocol (MCP) server for managing VK Cloud infrastructure through standardized operations. It was developed independently and offers a variety of management tools for virtual machines, networks, and security within VK Cloud.
VK Cloud MCP Server
Сервер Model Context Protocol (MCP) для VK Cloud — это решение, которое предоставляет возможность управлять облачной инфраструктурой с помощью LLM через стандартизированный интерфейс. Позволяет ИИ-ассистентам и другим инструментам взаимодействовать с ресурсами VK Cloud.
ВАЖНАЯ ИНФОРМАЦИЯ
НЕОФИЦИАЛЬНЫЙ ПРОЕКТ: Это неофициальная реализация сервера Model Context Protocol (MCP) для VK Cloud.
Данный проект не связан с VK Cloud, не поддерживается и не одобрен ими. Он был разработан независимо в качестве экспериментального проекта выходного дня для исследования возможностей MCP.
Вопросы, предложения и вклад в проект приветствуются. Пожалуйста, свяжитесь со мной через Telegram: @volinski.
Возможности
Данный MCP сервер предоставляет следующие операции для VK Cloud:
Операции с виртуальными машинами (VM)
- Просмотр списка всех VM в проекте
- Запуск остановленной VM
- Остановка работающей VM
- Перезапуск VM (мягкая или жесткая перезагрузка)
- Создание новой VM с различными опциями конфигурации
- Просмотр списка типов VM (flavors) с возможностью фильтрации
- Просмотр списка образов VM с расширенными возможностями фильтрации
Сетевые операции
- Просмотр списка всех сетей в проекте
- Просмотр списка всех групп безопасности в проекте
Операции с хранилищем
- Просмотр списка всех дисков (томов) с возможностью фильтрации
- Создание загрузочных томов из образов
Операции с доступом
- Просмотр списка всех SSH-ключей в проекте
Требования
- Python 3.8 или выше
- Активная учетная запись VK Cloud с доступом к API
Установка
Create virtual environment
python -m venv vk-cloud-mcp-venv
Activate the virtual environment
On Windows:
vk-cloud-mcp-venv\Scripts\activate
On macOS/Linux:
source vk-cloud-mcp-venv/bin/activate
Install dependencies
pip install -r requirements.txt
-
Создайте файл конфигурации (
config.yaml
) с вашими учетными данными VK Cloud.
Все данные для заполнения можно найти в разделе "Настройки проекта" -> "Доступ по API"
https://cloud.vk.com/docs/ru/tools-for-using-services/api/rest-api/enable-apivkcloud: auth_url: "https://infra.mail.ru:35357/v3/" username: "your-username" password: "your-password" project_id: "your-project-id" user_domain_name: "users" project_domain_name: "Default" destructive_operations: false # Установите true для разрешения создания/запуска/остановки VM compute_endpoint: "https://infra.mail.ru:8774/v2.1" image_endpoint: "https://infra.mail.ru:9292/v2" block_storage_endpoint: "https://public.infra.mail.ru:8776/v3"
-
Пример файла для настройки MCP сервера для Windsurf
mcp_config.json
https://docs.windsurf.com/windsurf/mcp#adding-a-new-server https://docs.windsurf.com/windsurf/mcp#mcp-config-json{ "mcpServers": { "vkcloud": { "serverUrl": "http://localhost:8000/sse" } } }
Запуск сервера
Запустите сервер командой:
python main.py
Это запустит MCP сервер по адресу http://localhost:8000/sse по умолчанию.
Соображения безопасности
- По умолчанию деструктивные операции (создание, запуск, остановка, перезапуск VM) отключены. Установите
destructive_operations: true
в файле конфигурации.
Доступные инструменты MCP
Сервер предоставляет следующие инструменты MCP:
vkcloud_vm_list
: Список всех VM в проектеvkcloud_network_list
: Список всех сетейvkcloud_security_group_list
: Список всех групп безопасностиvkcloud_vm_start
: Запуск VM (требуется включение деструктивных операций)vkcloud_vm_stop
: Остановка VM (требуется включение деструктивных операций)vkcloud_vm_restart
: Перезапуск VM (требуется включение деструктивных операций)vkcloud_flavor_list
: Список типов VM с возможностью фильтрацииvkcloud_image_list
: Список образов VM с расширенными возможностями фильтрацииvkcloud_disk_list
: Список всех дисков (томов) с возможностью фильтрацииvkcloud_keypair_list
: Список всех SSH-ключейvkcloud_create_bootable_volume
: Создание загрузочного тома (требуется включение деструктивных операций)vkcloud_vm_create
: Создание новой VM (требуется включение деструктивных операций)
Для получения подробной информации о параметрах и использовании каждого инструмента см. документацию в коде.