arnstarn/mcp-server-spotinst

arnstarn/mcp-server-spotinst

от arnstarn
MCP-сервер для управления облачными кластерами через Spotinst. Поддерживает AWS и Azure Ocean, мультиаккаунтный доступ. Предоставляет инструменты для кластеров, VNG, cost-анализа, роллов и удаления...

mcp-server-spotinst

PyPI version CI License: MIT Python 3.10+

MCP server for the Spot.io (Spotinst) API. Supports both AWS and Azure Ocean clusters with multi-account access.

Tools (34)

Cross-Account

Tool Description
list_accounts List all Spotinst accounts accessible with the current token
list_all_clusters List ALL clusters across ALL accounts and clouds (AWS + Azure)

AWS Ocean

Tool Description
list_clusters List AWS Ocean K8s clusters
get_cluster Get AWS Ocean cluster details
list_vngs List AWS Virtual Node Groups (launch specs)
get_vng Get AWS VNG details
list_elastigroups List all Elastigroups
get_elastigroup Get Elastigroup details
get_allowed_instance_types Get allowed EC2 instance types
get_right_sizing Get right-sizing resource suggestions (AWS only)

Azure Ocean

Tool Description
list_clusters_azure List Azure Ocean clusters
get_cluster_azure Get Azure Ocean cluster details
list_vngs_azure List Azure Virtual Node Groups
get_vng_azure Get Azure VNG details

Both Clouds (pass cloud="azure" for Azure)

Tool Description
get_cluster_nodes List nodes in an Ocean cluster
get_cluster_costs Get aggregated cost breakdown by namespace or resource
list_rolls List deployment rolls
get_roll Get roll details
get_cluster_log Get scaling and activity log events
create_vng

РАЗРУШИТЕЛЬНОЕ: Создает новый AWS VNG (спецификацию запуска) под кластером Ocean. Требует confirm=true. Передавайте поля спецификации запуска в виде JSON-строки. `oceanId` подставляется из аргумента `ocean_id`; не включайте его в `spec_json`. Как и в update_vng, обычный текст `userData` по умолчанию автоматически кодируется в base64. Аргументы: ocean_id: Родительский ID кластера Ocean (например, o-abcd1234). Обязательно. spec_json: JSON-строка полей спецификации запуска (name, instanceTypes, labels, taints, resourceLimits, userData и т. д.). Не включайте `oceanId`. confirm: Должен быть true для выполнения. Защита от случайного запуска. account_id: Необязательный ID аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. initial_nodes: Если >0, Spot запускает то количество узлов сразу при создании. encode_user_data: Если true (по умолчанию) и `userData` содержит обычный текст, кодирует его в base64 перед отправкой.

РАЗРУШИТЕЛЬНОЕ: Создает новый AWS VNG (спецификацию запуска) под кластером Ocean. Требует confirm=true. Передавайте поля спецификации запуска в виде JSON-строки. `oceanId` подставляется из аргумента `ocean_id`; не включайте его в `spec_json`. Как и в update_vng, обычный текст `userData` по умолчанию автоматически кодируется в base64. Аргументы: ocean_id: Родительский ID кластера Ocean (например, o-abcd1234). Обязательно. spec_json: JSON-строка полей спецификации запуска (name, instanceTypes, labels, taints, resourceLimits, userData и т. д.). Не включайте `oceanId`. confirm: Должен быть true для выполнения. Защита от случайного запуска. account_id: Необязательный ID аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. initial_nodes: Если >0, Spot запускает то количество узлов сразу при создании. encode_user_data: Если true (по умолчанию) и `userData` содержит обычный текст, кодирует его в base64 перед отправкой.

Параметры

  • ocean_idstringобязательный
  • spec_jsonstringобязательный
  • confirmboolean
  • account_idstring
  • initial_nodesany
  • encode_user_databoolean
delete_vng

ДЕСТРУКТИВНО: Удаляет AWS VNG (спецификацию запуска). Требует confirm=true. Аргументы: vng_id: Идентификатор VNG/спецификации запуска для удаления. confirm: Должен быть true для выполнения. Защитный предохранитель. account_id: Необязательный идентификатор аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. delete_nodes: Если true, выполняет drain + detach + terminate для всех узлов в этой VNG. Если false (по умолчанию), VNG удаляется, но узлы продолжают работу до естественного завершения или перемещения. force_delete: Если true, удаляет даже если это единственная VNG, не являющаяся шаблоном.

ДЕСТРУКТИВНО: Удаляет AWS VNG (спецификацию запуска). Требует confirm=true. Аргументы: vng_id: Идентификатор VNG/спецификации запуска для удаления. confirm: Должен быть true для выполнения. Защитный предохранитель. account_id: Необязательный идентификатор аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. delete_nodes: Если true, выполняет drain + detach + terminate для всех узлов в этой VNG. Если false (по умолчанию), VNG удаляется, но узлы продолжают работу до естественного завершения или перемещения. force_delete: Если true, удаляет даже если это единственная VNG, не являющаяся шаблоном.

Параметры

  • vng_idstringобязательный
  • confirmboolean
  • account_idstring
  • delete_nodesboolean
  • force_deleteboolean
detach_instances

РАЗРУШАЮЩЕЕ ДЕЙСТВИЕ: Отсоединяет и, при необходимости, завершает инстансы из кластера AWS Ocean. Требует confirm=true. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) instance_ids: Идентификаторы EC2 инстансов через запятую (например, i-abc123,i-def456) confirm: Должен быть true для выполнения. Защита от случайного запуска. should_terminate: Завершать инстансы после отсоединения (по умолчанию: true) should_decrement_capacity: Уменьшать целевую ёмкость (по умолчанию: true) account_id: Необязательный идентификатор учётной записи. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID.

РАЗРУШАЮЩЕЕ ДЕЙСТВИЕ: Отсоединяет и, при необходимости, завершает инстансы из кластера AWS Ocean. Требует confirm=true. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) instance_ids: Идентификаторы EC2 инстансов через запятую (например, i-abc123,i-def456) confirm: Должен быть true для выполнения. Защита от случайного запуска. should_terminate: Завершать инстансы после отсоединения (по умолчанию: true) should_decrement_capacity: Уменьшать целевую ёмкость (по умолчанию: true) account_id: Необязательный идентификатор учётной записи. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • cluster_idstringобязательный
  • instance_idsstringобязательный
  • confirmboolean
  • should_terminateboolean
  • should_decrement_capacityboolean
  • account_idstring
export_cluster_yaml

Экспортирует конфигурацию кластера Ocean в YAML. Пригодится для сравнения GitOps или резервного копирования. Аргументы: cluster_id: Идентификатор кластера Ocean (например o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Экспортирует конфигурацию кластера Ocean в YAML. Пригодится для сравнения GitOps или резервного копирования. Аргументы: cluster_id: Идентификатор кластера Ocean (например o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
export_vng_yaml

Экспортирует конфигурацию VNG в YAML. Подходит для сравнения GitOps или резервного копирования. Аргументы: vng_id: Идентификатор VNG (например, ols-abc12345 для AWS, vng-abc12345 для Azure) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Экспортирует конфигурацию VNG в YAML. Подходит для сравнения GitOps или резервного копирования. Аргументы: vng_id: Идентификатор VNG (например, ols-abc12345 для AWS, vng-abc12345 для Azure) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • vng_idstringобязательный
  • account_idstring
  • cloudstring
filter_clusters_by_tag

Фильтрует кластеры Ocean по ключу тега (и опционально значению тега). Работает для AWS и Azure. Возвращает компактные сводки по умолчанию. Установите verbose=true для полных конфигураций кластера. Аргументы: tag_key: Ключ тега для фильтрации (например environment, team) tag_value: Опциональное значение тега для сопоставления (например production). Если пусто, соответствует любому значению для данного ключа. account_id: Опциональный ID аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию false). Используйте при анализе настроек кластера, устранении неполадок или сравнении конфигураций.

Фильтрует кластеры Ocean по ключу тега (и опционально значению тега). Работает для AWS и Azure. Возвращает компактные сводки по умолчанию. Установите verbose=true для полных конфигураций кластера. Аргументы: tag_key: Ключ тега для фильтрации (например environment, team) tag_value: Опциональное значение тега для сопоставления (например production). Если пусто, соответствует любому значению для данного ключа. account_id: Опциональный ID аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию false). Используйте при анализе настроек кластера, устранении неполадок или сравнении конфигураций.

Параметры

  • tag_keystringобязательный
  • tag_valuestring
  • account_idstring
  • cloudstring
  • verboseboolean
filter_vngs_by_tag

Фильтрует VNG по ключу тега (и опционально значению тега). Работает для AWS и Azure. По умолчанию возвращает краткие сводки. Укажите verbose=true для полных конфигураций VNG. Аргументы: tag_key: Ключ тега для фильтрации (например, team, workload-type) tag_value: Опциональное значение тега для сопоставления. Если не указано, подходит любое значение для этого ключа. ocean_id: Опциональный идентификатор кластера Ocean для фильтрации account_id: Опциональный идентификатор аккаунта для запроса. По умолчанию берётся из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию false). Используется при анализе настроек VNG, поиске неисправностей или сравнении конфигураций.

Фильтрует VNG по ключу тега (и опционально значению тега). Работает для AWS и Azure. По умолчанию возвращает краткие сводки. Укажите verbose=true для полных конфигураций VNG. Аргументы: tag_key: Ключ тега для фильтрации (например, team, workload-type) tag_value: Опциональное значение тега для сопоставления. Если не указано, подходит любое значение для этого ключа. ocean_id: Опциональный идентификатор кластера Ocean для фильтрации account_id: Опциональный идентификатор аккаунта для запроса. По умолчанию берётся из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию false). Используется при анализе настроек VNG, поиске неисправностей или сравнении конфигураций.

Параметры

  • tag_keystringобязательный
  • tag_valuestring
  • ocean_idstring
  • account_idstring
  • cloudstring
  • verboseboolean
get_allowed_instance_types

Получает список разрешённых типов инстансов EC2 для кластера AWS Ocean. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию - переменная окружения SPOTINST_ACCOUNT_ID.

Получает список разрешённых типов инстансов EC2 для кластера AWS Ocean. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию - переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • cluster_idstringобязательный
  • account_idstring
get_cluster

Получает сведения о конкретном кластере AWS Ocean. Параметры: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Получает сведения о конкретном кластере AWS Ocean. Параметры: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • cluster_idstringобязательный
  • account_idstring
get_cluster_azure

Получает детали конкретного кластера Azure Ocean. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-390ef886) account_id: Идентификатор учётной записи Azure.

Получает детали конкретного кластера Azure Ocean. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-390ef886) account_id: Идентификатор учётной записи Azure.

Параметры

  • cluster_idstringобязательный
  • account_idstring
get_cluster_costs

Получает сводку затрат для кластера Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) start_time: Время начала в формате ISO 8601 (например, 2026-03-01T00:00:00Z) end_time: Время окончания в формате ISO 8601 (например, 2026-03-20T00:00:00Z) group_by: Группирует затраты по: namespace (по умолчанию: namespace). В настоящее время API поддерживает только 'namespace'. account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws) limit: Максимальное количество агрегаций по namespace для возврата, отсортированных по убыванию затрат (по умолчанию: 50). Установите limit=0, чтобы получить все.

Получает сводку затрат для кластера Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) start_time: Время начала в формате ISO 8601 (например, 2026-03-01T00:00:00Z) end_time: Время окончания в формате ISO 8601 (например, 2026-03-20T00:00:00Z) group_by: Группирует затраты по: namespace (по умолчанию: namespace). В настоящее время API поддерживает только 'namespace'. account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws) limit: Максимальное количество агрегаций по namespace для возврата, отсортированных по убыванию затрат (по умолчанию: 50). Установите limit=0, чтобы получить все.

Параметры

  • cluster_idstringобязательный
  • start_timestringобязательный
  • end_timestringобязательный
  • group_bystring
  • account_idstring
  • cloudstring
  • limitinteger
get_cluster_health

Выполняет комплексную проверку работоспособности кластера Ocean. Возвращает состояние узлов, недавние ошибки и активные rolls за один вызов. Аргументы: cluster_id: идентификатор кластера Ocean (например, o-abc12345) account_id: необязательный идентификатор аккаунта для запроса. По умолчанию берется из переменной окружения SPOTINST_ACCOUNT_ID. cloud: облачный провайдер: aws или azure (по умолчанию: aws)

Выполняет комплексную проверку работоспособности кластера Ocean. Возвращает состояние узлов, недавние ошибки и активные rolls за один вызов. Аргументы: cluster_id: идентификатор кластера Ocean (например, o-abc12345) account_id: необязательный идентификатор аккаунта для запроса. По умолчанию берется из переменной окружения SPOTINST_ACCOUNT_ID. cloud: облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
get_cluster_log

Получает события масштабирования и журнала действий для кластера Ocean (AWS или Azure). Параметры: cluster_id: Идентификатор кластера Ocean (например o-abc12345) from_date: Дата начала в формате YYYY-MM-DD (например 2026-03-19) to_date: Дата окончания в формате YYYY-MM-DD (например 2026-03-20) severity: Фильтр по уровню важности: ALL, INFO, WARN, ERROR (по умолчанию ALL) limit: Максимальное количество записей в журнале (по умолчанию 500) account_id: Необязательный идентификатор учетной записи для запроса. По умолчанию берется из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Получает события масштабирования и журнала действий для кластера Ocean (AWS или Azure). Параметры: cluster_id: Идентификатор кластера Ocean (например o-abc12345) from_date: Дата начала в формате YYYY-MM-DD (например 2026-03-19) to_date: Дата окончания в формате YYYY-MM-DD (например 2026-03-20) severity: Фильтр по уровню важности: ALL, INFO, WARN, ERROR (по умолчанию ALL) limit: Максимальное количество записей в журнале (по умолчанию 500) account_id: Необязательный идентификатор учетной записи для запроса. По умолчанию берется из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Параметры

  • cluster_idstringобязательный
  • from_datestringобязательный
  • to_datestringобязательный
  • severitystring
  • limitinteger
  • account_idstring
  • cloudstring
get_cluster_nodes

Перечисляет все узлы в кластере Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345). account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws). limit: Максимальное количество возвращаемых элементов (по умолчанию: 50). Укажите limit=0 для получения всех результатов.

Перечисляет все узлы в кластере Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345). account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws). limit: Максимальное количество возвращаемых элементов (по умолчанию: 50). Укажите limit=0 для получения всех результатов.

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
  • limitinteger
get_cluster_scheduling

Получает конфигурацию планирования и автоскалера для кластера Ocean (AWS или Azure). Показывает часы отключения, запланированные задачи и настройки автоскалера. Args: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Получает конфигурацию планирования и автоскалера для кластера Ocean (AWS или Azure). Показывает часы отключения, запланированные задачи и настройки автоскалера. Args: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
get_cost_trending

Получает тренды затрат за несколько временных периодов для кластера Ocean. Показывает изменения затрат понедельно или за произвольный период. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) periods: Количество сравниваемых периодов (по умолчанию 4) period_days: Дней в периоде (по умолчанию 7 для недели) group_by: Группировка затрат по: namespace (по умолчанию namespace). API поддерживает только 'namespace'. account_id: Дополнительный идентификатор аккаунта для запроса. По умолчанию из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Получает тренды затрат за несколько временных периодов для кластера Ocean. Показывает изменения затрат понедельно или за произвольный период. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) periods: Количество сравниваемых периодов (по умолчанию 4) period_days: Дней в периоде (по умолчанию 7 для недели) group_by: Группировка затрат по: namespace (по умолчанию namespace). API поддерживает только 'namespace'. account_id: Дополнительный идентификатор аккаунта для запроса. По умолчанию из переменной окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws)

Параметры

  • cluster_idstringобязательный
  • periodsinteger
  • period_daysinteger
  • group_bystring
  • account_idstring
  • cloudstring
get_elastigroup

Получает подробную информацию о конкретном Elastigroup. Аргументы: group_id: Идентификатор Elastigroup (например, sig-abc12345) account_id: Необязательный идентификатор учетной записи для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Получает подробную информацию о конкретном Elastigroup. Аргументы: group_id: Идентификатор Elastigroup (например, sig-abc12345) account_id: Необязательный идентификатор учетной записи для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • group_idstringобязательный
  • account_idstring
get_right_sizing

Получает рекомендации по изменению размера ресурсов для рабочих нагрузок в кластере Ocean (AWS или Azure). Результаты сортируются по потенциалу экономии (сначала наибольшее изменение CPU) и обрезаются до `limit`. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) namespace: Опциональное пространство имен для фильтрации рекомендаций account_id: Опциональный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) limit: Максимальное количество возвращаемых элементов, отсортированных по потенциалу экономии (по умолчанию 50). Установите limit=0 для всех результатов.

Получает рекомендации по изменению размера ресурсов для рабочих нагрузок в кластере Ocean (AWS или Azure). Результаты сортируются по потенциалу экономии (сначала наибольшее изменение CPU) и обрезаются до `limit`. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) namespace: Опциональное пространство имен для фильтрации рекомендаций account_id: Опциональный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию aws) limit: Максимальное количество возвращаемых элементов, отсортированных по потенциалу экономии (по умолчанию 50). Установите limit=0 для всех результатов.

Параметры

  • cluster_idstringобязательный
  • namespacestring
  • account_idstring
  • cloudstring
  • limitinteger
get_roll

Получает детали конкретного roll кластера Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) roll_id: Идентификатор roll (например, scr-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Получает детали конкретного roll кластера Ocean (AWS или Azure). Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) roll_id: Идентификатор roll (например, scr-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • roll_idstringобязательный
  • account_idstring
  • cloudstring
get_savings_summary

Получает сводку затрат/экономии за 30 дней для кластера Ocean. Показывает общие расходы, экономию на spot-экземплярах и разбивку затрат. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Получает сводку затрат/экономии за 30 дней для кластера Ocean. Показывает общие расходы, экономию на spot-экземплярах и разбивку затрат. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
get_stateful_node

Получает информацию о конкретном узле AWS Stateful Node (Managed Instance). Аргументы: node_id: Идентификатор Managed Instance (например, smi-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Получает информацию о конкретном узле AWS Stateful Node (Managed Instance). Аргументы: node_id: Идентификатор Managed Instance (например, smi-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • node_idstringобязательный
  • account_idstring
get_stateful_node_azure

Получает детали конкретного узла Azure Stateful Node. Аргументы: node_id: Идентификатор узла Azure Stateful Node account_id: Идентификатор учётной записи Azure.

Получает детали конкретного узла Azure Stateful Node. Аргументы: node_id: Идентификатор узла Azure Stateful Node account_id: Идентификатор учётной записи Azure.

Параметры

  • node_idstringобязательный
  • account_idstring
get_vng

Получает детали конкретного VNG AWS (спецификации запуска). Аргументы: vng_id: Идентификатор VNG/спецификации запуска (например, ols-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Получает детали конкретного VNG AWS (спецификации запуска). Аргументы: vng_id: Идентификатор VNG/спецификации запуска (например, ols-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID.

Параметры

  • vng_idstringобязательный
  • account_idstring
get_vng_azure

Получает сведения о конкретной Azure VNG. Аргументы: vng_id: Идентификатор VNG (например, vng-14e08b61) account_id: Идентификатор учётной записи Azure.

Получает сведения о конкретной Azure VNG. Аргументы: vng_id: Идентификатор VNG (например, vng-14e08b61) account_id: Идентификатор учётной записи Azure.

Параметры

  • vng_idstringобязательный
  • account_idstring
initiate_roll

DESTRUCTIVE: Запускает поэтапный перезапуск узлов в кластере Ocean. Поэтапно останавливает и заменяет узлы. Требуется confirm=true. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) confirm: Должен быть true для выполнения. Защита от случайного перезапуска. batch_size_percentage: Процент узлов, обрабатываемых за одну партию (по умолчанию: 20) batch_min_healthy_percentage: Минимальный процент работоспособных узлов в партии (по умолчанию: 50) respect_pdb: Учитывать PodDisruptionBudgets (по умолчанию: true) launch_spec_ids: Идентификаторы VNG через запятую для перезапуска (например, ols-abc,ols-def). Пусто — все. instance_ids: Идентификаторы инстансов через запятую для перезапуска. Пусто — все в области действия. account_id: Идентификатор аккаунта (опционально). По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

DESTRUCTIVE: Запускает поэтапный перезапуск узлов в кластере Ocean. Поэтапно останавливает и заменяет узлы. Требуется confirm=true. Аргументы: cluster_id: Идентификатор кластера Ocean (например, o-abc12345) confirm: Должен быть true для выполнения. Защита от случайного перезапуска. batch_size_percentage: Процент узлов, обрабатываемых за одну партию (по умолчанию: 20) batch_min_healthy_percentage: Минимальный процент работоспособных узлов в партии (по умолчанию: 50) respect_pdb: Учитывать PodDisruptionBudgets (по умолчанию: true) launch_spec_ids: Идентификаторы VNG через запятую для перезапуска (например, ols-abc,ols-def). Пусто — все. instance_ids: Идентификаторы инстансов через запятую для перезапуска. Пусто — все в области действия. account_id: Идентификатор аккаунта (опционально). По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • confirmboolean
  • batch_size_percentageinteger
  • batch_min_healthy_percentageinteger
  • respect_pdbboolean
  • launch_spec_idsstring
  • instance_idsstring
  • account_idstring
  • cloudstring
list_accounts

Выводит все учётные записи Spotinst, доступные с текущим токеном.

Выводит все учётные записи Spotinst, доступные с текущим токеном.

Параметры

Без параметров.

list_all_clusters

Перечисляет ВСЕ кластеры Ocean во ВСЕХ учётных записях и облачных провайдерах (AWS + Azure). Сканирует каждую учётную запись параллельно и возвращает единый список с информацией об учётной записи и облаке. По умолчанию возвращает компактные сводки (id, name, region, account, capacity). Установите verbose=true для полных конфигураций кластеров (сеть, типы инстансов, автоскейлер). Аргументы: verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек кластера, поиске неисправностей или сравнении конфигураций.

Перечисляет ВСЕ кластеры Ocean во ВСЕХ учётных записях и облачных провайдерах (AWS + Azure). Сканирует каждую учётную запись параллельно и возвращает единый список с информацией об учётной записи и облаке. По умолчанию возвращает компактные сводки (id, name, region, account, capacity). Установите verbose=true для полных конфигураций кластеров (сеть, типы инстансов, автоскейлер). Аргументы: verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек кластера, поиске неисправностей или сравнении конфигураций.

Параметры

  • verboseboolean
list_clusters

Выводит список кластеров AWS Ocean Kubernetes в аккаунте Spotinst. По умолчанию возвращает краткую сводку (id, имя, регион, ёмкость). Задайте verbose=true для полного описания кластера (сеть, типы инстансов, автомасштабирование). Параметры: account_id: Идентификатор аккаунта для запроса (например act-be5e7ffe). По умолчанию берётся из переменной окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полную конфигурацию вместо краткой сводки (по умолчанию false). Используйте при анализе настроек кластера, поиске неисправностей или сравнении конфигураций.

Выводит список кластеров AWS Ocean Kubernetes в аккаунте Spotinst. По умолчанию возвращает краткую сводку (id, имя, регион, ёмкость). Задайте verbose=true для полного описания кластера (сеть, типы инстансов, автомасштабирование). Параметры: account_id: Идентификатор аккаунта для запроса (например act-be5e7ffe). По умолчанию берётся из переменной окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полную конфигурацию вместо краткой сводки (по умолчанию false). Используйте при анализе настроек кластера, поиске неисправностей или сравнении конфигураций.

Параметры

  • account_idstring
  • verboseboolean
list_clusters_azure

Перечисляет кластеры Azure Ocean в аккаунте Spotinst. Возвращает краткие сводки по умолчанию (id, name, capacity). Задаёт verbose=true для полных конфигураций кластера (сетевые настройки, размеры ВМ, автомасштабирование). Аргументы: account_id: Идентификатор аккаунта для учетной записи Azure (например, act-9785011e). verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используется при анализе настроек кластера, устранении неполадок или сравнении конфигураций.

Перечисляет кластеры Azure Ocean в аккаунте Spotinst. Возвращает краткие сводки по умолчанию (id, name, capacity). Задаёт verbose=true для полных конфигураций кластера (сетевые настройки, размеры ВМ, автомасштабирование). Аргументы: account_id: Идентификатор аккаунта для учетной записи Azure (например, act-9785011e). verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используется при анализе настроек кластера, устранении неполадок или сравнении конфигураций.

Параметры

  • account_idstring
  • verboseboolean
list_elastigroups

Перечисляет все Elastigroups в учётной записи Spotinst. По умолчанию возвращает краткие сводки (id, name, region, capacity). Установите verbose=true для полных конфигураций Elastigroup (вычисления, сеть, масштабирование). Аргументы: account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используйте при анализе настроек Elastigroup, устранении неполадок или сравнении конфигураций.

Перечисляет все Elastigroups в учётной записи Spotinst. По умолчанию возвращает краткие сводки (id, name, region, capacity). Установите verbose=true для полных конфигураций Elastigroup (вычисления, сеть, масштабирование). Аргументы: account_id: Необязательный идентификатор учётной записи для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используйте при анализе настроек Elastigroup, устранении неполадок или сравнении конфигураций.

Параметры

  • account_idstring
  • verboseboolean
list_rolls

Выводит список всех развёртываний (deployment rolls) для кластера Ocean (AWS или Azure). Args: cluster_id: идентификатор кластера Ocean (например, o-abc12345) account_id: необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: облачный провайдер: aws или azure (по умолчанию: aws)

Выводит список всех развёртываний (deployment rolls) для кластера Ocean (AWS или Azure). Args: cluster_id: идентификатор кластера Ocean (например, o-abc12345) account_id: необязательный идентификатор аккаунта для запроса. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: облачный провайдер: aws или azure (по умолчанию: aws)

Параметры

  • cluster_idstringобязательный
  • account_idstring
  • cloudstring
list_stateful_nodes

Перечисляет все Stateful Nodes (Managed Instances) в аккаунте AWS. По умолчанию возвращает компактные сводки (id, имя, регион, ёмкость). Установите verbose=true для получения полных конфигураций (вычисления, сеть, сохранение состояния). Аргументы: account_id: Необязательный ID аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек узла, устранении неполадок или сравнении конфигураций.

Перечисляет все Stateful Nodes (Managed Instances) в аккаунте AWS. По умолчанию возвращает компактные сводки (id, имя, регион, ёмкость). Установите verbose=true для получения полных конфигураций (вычисления, сеть, сохранение состояния). Аргументы: account_id: Необязательный ID аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек узла, устранении неполадок или сравнении конфигураций.

Параметры

  • account_idstring
  • verboseboolean
list_stateful_nodes_azure

Перечисляет все Azure Stateful Nodes в учётной записи. По умолчанию возвращает краткие сводки (id, name, capacity). Установите verbose=true для полных конфигураций (вычисления, сеть, постоянное хранение). Аргументы: account_id: Идентификатор учётной записи Azure. verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используйте при анализе настроек узлов, устранении неполадок или сравнении конфигураций.

Перечисляет все Azure Stateful Nodes в учётной записи. По умолчанию возвращает краткие сводки (id, name, capacity). Установите verbose=true для полных конфигураций (вычисления, сеть, постоянное хранение). Аргументы: account_id: Идентификатор учётной записи Azure. verbose: Возвращает полные конфигурации вместо кратких сводок (по умолчанию: false). Используйте при анализе настроек узлов, устранении неполадок или сравнении конфигураций.

Параметры

  • account_idstring
  • verboseboolean
list_vngs

Выводит список AWS Ocean Virtual Node Groups (VNGs / launch specs). По умолчанию возвращает компактные сводки (id, name, oceanId). Установите verbose=true для полных конфигураций VNG (AMI, subnets, resource limits, labels). Аргументы: ocean_id: Необязательный идентификатор кластера Ocean для фильтрации (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек VNG, устранении неполадок или сравнении конфигураций.

Выводит список AWS Ocean Virtual Node Groups (VNGs / launch specs). По умолчанию возвращает компактные сводки (id, name, oceanId). Установите verbose=true для полных конфигураций VNG (AMI, subnets, resource limits, labels). Аргументы: ocean_id: Необязательный идентификатор кластера Ocean для фильтрации (например, o-abc12345) account_id: Необязательный идентификатор аккаунта для запроса. По умолчанию используется переменная окружения SPOTINST_ACCOUNT_ID. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек VNG, устранении неполадок или сравнении конфигураций.

Параметры

  • ocean_idstring
  • account_idstring
  • verboseboolean
list_vngs_azure

Выводит список Azure Ocean Virtual Node Groups. По умолчанию возвращает компактные сводки (id, name, oceanId). Установите verbose=true для получения полных конфигураций VNG (размеры виртуальных машин, метки, лимиты ресурсов). Аргументы: ocean_id: Необязательный идентификатор кластера Ocean для фильтрации (например, o-390ef886) account_id: Идентификатор учетной записи Azure. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек VNG, устранении неполадок или сравнении конфигураций.

Выводит список Azure Ocean Virtual Node Groups. По умолчанию возвращает компактные сводки (id, name, oceanId). Установите verbose=true для получения полных конфигураций VNG (размеры виртуальных машин, метки, лимиты ресурсов). Аргументы: ocean_id: Необязательный идентификатор кластера Ocean для фильтрации (например, o-390ef886) account_id: Идентификатор учетной записи Azure. verbose: Возвращает полные конфигурации вместо компактных сводок (по умолчанию: false). Используйте при анализе настроек VNG, устранении неполадок или сравнении конфигураций.

Параметры

  • ocean_idstring
  • account_idstring
  • verboseboolean
probe_token_capabilities

Проверяет, к каким конечным точкам API Spot.io имеет доступ текущий токен. Сначала вызовите этот инструмент, чтобы понять, какие инструменты будут работать с вашим токеном. Возвращает отчёт о доступных и запрещённых конечных точках.

Проверяет, к каким конечным точкам API Spot.io имеет доступ текущий токен. Сначала вызовите этот инструмент, чтобы понять, какие инструменты будут работать с вашим токеном. Возвращает отчёт о доступных и запрещённых конечных точках.

Параметры

Без параметров.

remove_instances

DESTRUCTIVE: Удаляет экземпляры из кластера Ocean по заданной стратегии. Это РЕКОМЕНДУЕМЫЙ инструмент для удаления экземпляров — он сам выбирает правильный API-вызов. Требует confirm=true. Стратегии: - "drain_and_replace": Корректно выводит поды (уважает PDB), завершает, Ocean заменяет. Использует rolling restart. Самый БЕЗОПАСНЫЙ вариант для продакшена. (По умолчанию, если не указано) - "replace": Немедленно завершает экземпляры, Ocean автоматически создаёт замену. Быстрее, но без корректного вывода — поды убиваются резко. - "remove_permanently": Завершает экземпляры И уменьшает ёмкость кластера. Экземпляры удаляются и НЕ заменяются. Используется для уменьшения размера. Аргументы: cluster_id: ID кластера Ocean (например o-abc12345) instance_ids: ID экземпляров через запятую (например i-abc123,i-def456) strategy: Одно из: drain_and_replace, replace, remove_permanently confirm: Должен быть true для выполнения. Страховочная проверка. batch_size_percentage: Только для drain_and_replace: % узлов за одну партию (по умолчанию: 20) account_id: ID аккаунта (опционально). По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws). Примечание: replace и remove_permanently доступны только для AWS.

DESTRUCTIVE: Удаляет экземпляры из кластера Ocean по заданной стратегии. Это РЕКОМЕНДУЕМЫЙ инструмент для удаления экземпляров — он сам выбирает правильный API-вызов. Требует confirm=true. Стратегии: - "drain_and_replace": Корректно выводит поды (уважает PDB), завершает, Ocean заменяет. Использует rolling restart. Самый БЕЗОПАСНЫЙ вариант для продакшена. (По умолчанию, если не указано) - "replace": Немедленно завершает экземпляры, Ocean автоматически создаёт замену. Быстрее, но без корректного вывода — поды убиваются резко. - "remove_permanently": Завершает экземпляры И уменьшает ёмкость кластера. Экземпляры удаляются и НЕ заменяются. Используется для уменьшения размера. Аргументы: cluster_id: ID кластера Ocean (например o-abc12345) instance_ids: ID экземпляров через запятую (например i-abc123,i-def456) strategy: Одно из: drain_and_replace, replace, remove_permanently confirm: Должен быть true для выполнения. Страховочная проверка. batch_size_percentage: Только для drain_and_replace: % узлов за одну партию (по умолчанию: 20) account_id: ID аккаунта (опционально). По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. cloud: Облачный провайдер: aws или azure (по умолчанию: aws). Примечание: replace и remove_permanently доступны только для AWS.

Параметры

  • cluster_idstringобязательный
  • instance_idsstringобязательный
  • strategystring
  • confirmboolean
  • batch_size_percentageinteger
  • account_idstring
  • cloudstring
update_vng

РАЗРУШИТЕЛЬНОЕ ДЕЙСТВИЕ: Обновляет конфигурацию AWS VNG (спецификации запуска). Требует confirm=true. Передаёт обновления в виде JSON-строки. API Spot.io требует, чтобы `userData` была **base64-кодирована**. Этот инструмент по умолчанию автоматически кодирует userData в обычном тексте (установите encode_user_data=false, чтобы отказаться от этого, если вы передаёте уже закодированные данные). Аргументы: vng_id: Идентификатор VNG/спецификации запуска (например, ols-abc12345) updates_json: JSON-строка полей для обновления (например, '{"resourceLimits": {"maxInstanceCount": 20}}') confirm: Должен быть true для выполнения. Защита безопасности. account_id: Необязательный идентификатор аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. auto_apply_tags: Если true, обновляет теги ресурса без запуска замены. Если None (по умолчанию), параметр опускается в запросе (применяется настройка Spot по умолчанию). encode_user_data: Если true (по умолчанию) и `userData` присутствует, но ещё не base64-кодирована, кодирует её в base64 перед отправкой. Установите false, чтобы передать как есть.

РАЗРУШИТЕЛЬНОЕ ДЕЙСТВИЕ: Обновляет конфигурацию AWS VNG (спецификации запуска). Требует confirm=true. Передаёт обновления в виде JSON-строки. API Spot.io требует, чтобы `userData` была **base64-кодирована**. Этот инструмент по умолчанию автоматически кодирует userData в обычном тексте (установите encode_user_data=false, чтобы отказаться от этого, если вы передаёте уже закодированные данные). Аргументы: vng_id: Идентификатор VNG/спецификации запуска (например, ols-abc12345) updates_json: JSON-строка полей для обновления (например, '{"resourceLimits": {"maxInstanceCount": 20}}') confirm: Должен быть true для выполнения. Защита безопасности. account_id: Необязательный идентификатор аккаунта. По умолчанию — переменная окружения SPOTINST_ACCOUNT_ID. auto_apply_tags: Если true, обновляет теги ресурса без запуска замены. Если None (по умолчанию), параметр опускается в запросе (применяется настройка Spot по умолчанию). encode_user_data: Если true (по умолчанию) и `userData` присутствует, но ещё не base64-кодирована, кодирует её в base64 перед отправкой. Установите false, чтобы передать как есть.

Параметры

  • vng_idstringобязательный
  • updates_jsonstringобязательный
  • confirmboolean
  • account_idstring
  • auto_apply_tagsany
  • encode_user_databoolean
update_vng_azure

ОПАСНО: Обновляет конфигурацию Azure VNG. Требует confirm=true. Передаёт обновления в виде JSON-строки. Аргументы: vng_id: Идентификатор VNG (например, vng-14e08b61) updates_json: JSON-строка обновляемых полей confirm: Должен быть true для выполнения. Предохранитель. account_id: Идентификатор учётной записи Azure.

ОПАСНО: Обновляет конфигурацию Azure VNG. Требует confirm=true. Передаёт обновления в виде JSON-строки. Аргументы: vng_id: Идентификатор VNG (например, vng-14e08b61) updates_json: JSON-строка обновляемых полей confirm: Должен быть true для выполнения. Предохранитель. account_id: Идентификатор учётной записи Azure.

Параметры

  • vng_idstringобязательный
  • updates_jsonstringобязательный
  • confirmboolean
  • account_idstring

Другие проверенные MCP-сервера

0xMassi/webclaw

0xMassi/webclaw

MCP-сервер webclaw преобразует веб-страницы в чистый Markdown, JSON и LLM-контекст для AI-агентов. Работает локально, подключается к Claude/Cursor, скрапит, краулит и извлекает структурированные да...

Rust1783
financial-datasets/mcp-server

financial-datasets/mcp-server

MCP сервер для доступа к финансовым данным из Financial Datasets. Предоставляет отчёты о прибылях, балансы, цены акций и криптовалют через интерфейс ИИ-ассистентов. Полезен для инвесторов и аналитиков.

Python2241
StacklokLabs/mkp

StacklokLabs/mkp

официальный

MKP - MCP-сервер на Go для Kubernetes даёт AI-агентам прямой доступ к API кластера: листинг, apply, exec-команды. Поддерживает рейт-лимитинг и любые CRD. Удобен для автоматизации через LLM.

Go59
cameroncooke/xcodebuildmcp

cameroncooke/xcodebuildmcp

MCP сервер и CLI для сборки iOS и macOS проектов: запускает xcodebuild, управляет устройством, анализирует логи. Полезен AI-агентам и разработчикам, работающим с Xcode.

TypeScript6090
haris-musa/excel-mcp-server

haris-musa/excel-mcp-server

MCP-сервер для работы с Excel-файлами без установленного офиса. Создавайте, читайте и редактируйте книги, листы, формулы, диаграммы и сводные таблицы через AI-агента. Подходит для автоматизации раб...

Python4041
Aas-ee/open-webSearch

Aas-ee/open-webSearch

open-websearch — это MCP-сервер и CLI для веб-поиска и извлечения контента без API-ключей. Поддерживает множество поисковиков (Bing, Baidu, DuckDuckGo и др.), загружает статьи и README с GitHub. Ра...

TypeScript1615
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин