vk-cloud-mcp-server

vk-cloud-mcp-server

1

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

  1. Создайте файл конфигурации (config.yaml) с вашими учетными данными VK Cloud.
    Все данные для заполнения можно найти в разделе "Настройки проекта" -> "Доступ по API"
    https://cloud.vk.com/docs/ru/tools-for-using-services/api/rest-api/enable-api

    vkcloud:
      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"
    
  2. Пример файла для настройки 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 (требуется включение деструктивных операций)

Для получения подробной информации о параметрах и использовании каждого инструмента см. документацию в коде.