openstack-kr/python-openstackmcp-server

openstack-kr/python-openstackmcp-server

от openstack-kr
MCP сервер для управления OpenStack через AI-ассистентов. Предоставляет полный набор инструментов для работы с вычислительными ресурсами, сетями, хранилищами и образами. Упрощает автоматизацию облачной инфраструктуры.

python-openstackmcp-server

Openstack mcp server is a Model Context Protocol (MCP) server that provides an interface for AI assistants to interact with OpenStack services.

flowchart LR
    AI[AI Assistant] <-->|MCP Protocol| Server[OpenStack MCP Server]
    Server <-->|OpenStack SDK| SDK[OpenStack SDK]
    SDK <-->|REST API| Cloud[OpenStack Cloud]

Table of Contents

Features

  • MCP Protocol Support: Implements the Model Context Protocol for AI assistants.
  • Compute Tools: Manage OpenStack compute resources (servers, flavors).
  • Image Tools: Manage OpenStack images.
  • Identity Tools: Handle OpenStack identity and authentication.
  • Network Tools: Manage OpenStack networking resources.
  • Block Storage Tools: Manage OpenStack block storage resources.

Quick Start with Claude Desktop

Get started quickly with the OpenStack MCP server using Claude Desktop

Requirements

  • Python 3.10 or higher
  • OpenStack credentials configured in clouds.yaml file
  • Claude Desktop installed

Часто задаваемые вопросы

Инструменты были проиндексированы:
action_server

Выполняет действие на Compute server.

Параметры
  • actionstringобязательный

    Действие, которое нужно выполнить. Доступные действия: - pause: Ставит сервер на паузу. Изменяет его статус на PAUSED. - unpause: Снимает паузу с приостановленного сервера и изменяет его статус на ACTIVE. - suspend: Приостанавливает сервер и изменяет его статус на SUSPENDED. - resume: Возобновляет приостановленный сервер и изменяет его статус на ACTIVE. - lock: Блокирует сервер. - unlock: Разблокирует заблокированный сервер. - rescue: Переводит сервер в режим восстановления и изменяет его статус на RESCUE. - unrescue: Выводит сервер из режима восстановления. Изменяет статус на ACTIVE. - start: Запускает остановленный сервер и изменяет его статус на ACTIVE. - stop: Останавливает работающий сервер и изменяет его статус на SHUTOFF. - shelve: Откладывает сервер. - shelve_offload: Выгружает из хранилища, или удаляет, отложенный сервер. - unshelve: Возвращает из хранилища, или восстанавливает, отложенный сервер. В настоящее время поддерживаются только перечисленные выше действия.

  • idstringобязательный

    Идентификатор сервера.

add_router_interface

Добавляет интерфейс к маршрутизатору по подсети или порту. Укажите subnet_id или port_id.

Параметры
  • port_idstring | null

    ID порта для подключения (не используется вместе с subnet_id)

  • router_idstringобязательный

    Целевой идентификатор маршрутизатора

  • subnet_idstring | null

    Идентификатор подсети для подключения (взаимоисключающе с port_id)

assign_first_available_floating_ip

Назначает первый доступный плавающий IP-адрес из сети порту. Если ни одного нет, создает новый и назначает его.

Параметры
  • floating_network_idstringобязательный

    Внешний сетевой идентификатор.

  • port_idstringобязательный

    Идентификатор целевого порта

attach_volume

Подключает том к Compute server.

Параметры
  • devicestring | null

    Имя устройства, например /dev/vdb. Если вы указываете этот параметр, устройство не должно существовать в гостевой операционной системе.

  • server_idstringобязательный

    UUID сервера.

  • volume_idstringобязательный

    UUID подключаемого тома.

create_domain

Создаёт новый домен.

Параметры
  • descriptionstring | null

    Описание домена.

  • is_enabledboolean | null

    Включен ли домен.

  • namestringобязательный

    Название домена.

create_floating_ip

Создаёт новый Floating IP. Типичные сценарии использования: - Выделить из пула и прикрепить сразу: укажите port_id (и, опционально, fixed_ip_address). - Выделить для последующего использования: опустите port_id (непривязанное состояние). - Добавить метаданные: укажите description.

Параметры
  • descriptionstring | null

    Описание Floating IP (оставьте пустым, чтобы не заполнять)

  • fixed_ip_addressstring | null

    Внутренний фиксированный IP-адрес для сопоставления при подключении к порту.

  • floating_network_idstringобязательный

    Внешний (плавающий) идентификатор сети

  • port_idstring | null

    Идентификатор порта для подключения (опустите для неназначенного распределения)

  • project_idstring | null

    ID проекта для назначения владельца

create_floating_ips_bulk

Создаёт несколько плавающих IP-адресов в указанной внешней сети.

Параметры
  • countintegerобязательный

    Количество создаваемых плавающих IP-адресов (отрицательное значение считается как 0)

  • floating_network_idstringобязательный

    Внешний сетевой идентификатор.

create_image

Создаёт новый образ OpenStack. Этот метод обрабатывает оба случая создания образа: 1. Если передан том, создаёт образ из тома. 2. Если том не передан, создаёт образ с помощью метода импорта образов. Для этого метода обязательно поле import_options. Поддерживаются следующие способы импорта: - glance-direct: данные образа передаются сервису образов через двоичный файл Stage. - web-download: данные образа передаются сервису образов путём размещения их по доступному URL, который вы знаете. - необходимо указать URI данных образа. - copy-image: данные образа передаются сервису образов путём копирования существующего образа. - glance-download: данные образа передаются сервису образов путём получения образа, доступного в другом сервисе glance, заданном именем региона и идентификатором образа, которые вы знаете. - необходимо указать glance_region и glance_image_id.

Параметры
  • image_dataobjectобязательный

    Экземпляр CreateImage, содержащий детали изображения.

create_network

Создаёт новую сеть.

Параметры
  • descriptionstring | null

    Описание сети

  • is_admin_state_upboolean

    Административное государство

  • is_sharedboolean

    Является ли сеть общей.

  • namestringобязательный

    Имя сети

  • project_idstring | null
  • provider_network_typestring | null

    Тип сети провайдера (например, 'vlan', 'flat', 'vxlan')

  • provider_physical_networkstring | null

    Имя физической сети

  • provider_segmentation_idinteger | null

    Идентификатор сегментации для VLAN/VXLAN

create_port

Создаёт новый порт.

Параметры
  • descriptionstring | null

    Описание порта.

  • device_idstring | null

    Device ID

  • fixed_ipsobject[] | null

    Список фиксированных IP

  • is_admin_state_upboolean

    Административное государство

  • namestring | null

    Имя порта

  • network_idstringобязательный

    ID родительской сети

  • security_group_idsstring[] | null

    Список идентификаторов групп безопасности

create_project

Создаёт новый проект.

Параметры
  • descriptionstring | null

    Описание проекта.

  • domain_idstring | null

    Идентификатор домена.

  • is_enabledboolean

    Включен ли проект.

  • namestringобязательный

    Название проекта.

  • parent_idstring | null

    Идентификатор родительского проекта.

create_region

Создаёт новый регион.

Параметры
  • descriptionstring | null

    Описание региона.

  • idstringобязательный

    Идентификатор региона.

create_router

Создаёт новый маршрутизатор. Типичные варианты использования: - Создание базового маршрутизатора: name="r1" (по умолчанию admin_state_up=True) - Создание распределённого маршрутизатора: is_distributed=True - Создание с внешним шлюзом для трафика север-юг: external_gateway_info={"network_id": "ext-net", "enable_snat": True, "external_fixed_ips": [{"subnet_id": "ext-subnet", "ip_address": "203.0.113.10"}]} - Создание с принадлежностью проекту: project_id="proj-1" Примечания: - external_gateway_info должна соответствовать схеме Neutron: как минимум включает "network_id"; опциональные ключи включают "enable_snat" и "external_fixed_ips".

Параметры
  • descriptionstring | null

    Описание маршрутизатора

  • external_gateway_infoobject | null

    Инфо-словарь внешнего шлюза.

  • is_admin_state_upboolean

    Административное государство

  • is_distributedboolean | null

    Флаг распределённого маршрутизатора

  • namestring | null

    Имя маршрутизатора

  • project_idstring | null

    Владение проектом

create_security_group

Создаёт новую группу безопасности.

Параметры
  • descriptionstring | null

    Описание группы безопасности

  • namestringобязательный

    Имя группы безопасности

  • project_idstring | null

    ID проекта для назначения владельца

create_server

Создаёт новый Compute server.

Параметры
  • flavorintegerобязательный

    Идентификатор используемого варианта.

  • imagestringобязательный

    Идентификатор изображения для использования.

  • key_namestring | null

    Имя пары ключей для использования.

  • namestringобязательный

    Имя сервера.

  • networkstringобязательный

    Идентификатор сети, к которой нужно подключиться.

  • security_groupsstring[] | null

    Список имен групп безопасности для подключения.

  • user_datastring | null

    Данные пользователя для передачи на сервер.

create_subnet

Создаёт новую подсеть.

Параметры
  • allocation_poolsobject[] | null

    Список пулов выделения

  • cidrstringобязательный

    CIDR подсети

  • descriptionstring | null

    Описание подсети

  • dns_nameserversstring[] | null

    Список DNS-серверов

  • gateway_ipstring | null

    IP-адрес шлюза

  • host_routesobject[] | null

    Статические маршруты хостов.

  • ip_versioninteger

    Версия IP

  • is_dhcp_enabledboolean

    Включен ли DHCP

  • namestring | null

    Имя подсети

  • network_idstringобязательный

    ID родительской сети

create_volume

Создаёт новый том.

Параметры
  • availability_zonestring | null

    Зона доступности (необязательно)

  • bootableboolean | null

    Необязательный флаг, делающий том загрузочным.

  • descriptionstring | null

    Необязательное описание для тома

  • imagestring | null

    Необязательное имя Image, ID или объект, из которого создаётся.

  • namestringобязательный

    Название для нового тома

  • sizeintegerобязательный

    Размер тома в ГБ

  • volume_typestring | null

    Необязательный тип тома.

delete_domain

Удаляет домен.

Параметры
  • namestringобязательный

    Название домена.

delete_floating_ip

Удаляет Floating IP.

Параметры
  • floating_ip_idstringобязательный

    ID плавающего IP для удаления

delete_image

Удаляет образ OpenStack.

Параметры
  • image_idstringобязательный

    Идентификатор изображения для удаления.

delete_network

Удаляет сеть.

Параметры
  • network_idstringобязательный

    ID сети для удаления

delete_port

Удаляет порт.

Параметры
  • port_idstringобязательный

    Идентификатор порта для удаления

delete_project

Удаляет проект.

Параметры
  • idstringобязательный
delete_region

Удаляет регион.

Параметры
  • idstringобязательный

    Идентификатор региона.

delete_router

Удаляет маршрутизатор.

Параметры
  • router_idstringобязательный

    ID маршрутизатора, который нужно удалить

delete_security_group

Удаляет группу безопасности.

Параметры
  • security_group_idstringобязательный

    ID группы безопасности для удаления

delete_server

Удаляет Compute server.

Параметры
  • idstringобязательный

    UUID сервера.

delete_subnet

Удаляет подсеть.

Параметры
  • subnet_idstringобязательный

    ID подсети для удаления

delete_volume

Удаляет том.

Параметры
  • forceboolean

    Следует ли принудительно удалить том?

  • volume_idstringобязательный

    Идентификатор тома, который нужно удалить.

detach_volume

Отсоединяет том от сервера Compute.

Параметры
  • server_idstringобязательный

    UUID сервера.

  • volume_idstringобязательный

    UUID тома, который нужно отсоединить.

extend_volume

Расширяет том до нового размера.

Параметры
  • new_sizeintegerобязательный

    Новый размер в ГБ (должен быть больше текущего размера)

  • volume_idstringобязательный

    Идентификатор расширяемого тома.

get_attachment_details

Получает подробную информацию о конкретном вложении.

Параметры
  • attachment_idstringобязательный

    Идентификатор вложения, для которого нужно получить подробности.

get_attachments

Получает список вложений.

Параметры
  • instancestring | null

    Идентификатор экземпляра.

  • volume_idstring | null

    ID тома.

get_cloud_config

Предоставляет облачную конфигурацию со скрытыми секретами из конфигурационного файла текущего пользователя. :return: Словарь облачной конфигурации с замаскированными учётными данными.

Параметры

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

get_cloud_name

Возвращает имя текущего выбранного облака. :return: текущее имя облака OpenStack.

Параметры

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

get_cloud_names

Перечисляет доступные конфигурации облаков. :return: Имена облаков OpenStack из конфигурационного файла пользователя.

Параметры

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

get_domain

Получает домен.

Параметры
  • namestringобязательный

    Название домена.

get_domains

Получает список доменов Identity. :return: Список объектов Domain, представляющих домены.

Параметры

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

get_flavors

Получает flavors (конфигурации аппаратного обеспечения сервера). :возвращает: Список объектов Flavor.

Параметры

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

get_floating_ips

Получает список Floating IP с необязательной фильтрацией.

Параметры
  • floating_network_idstring | null

    Фильтровать по внешнему ID сети.

  • port_idstring | null

    Фильтровать по ID прикрепленного порта

  • project_idstring | null

    Фильтровать по ID проекта

  • status_filterstring | null

    Фильтруйте по статусу IP (например, ACTIVE).

  • unassigned_onlyboolean | null

    Если True, возвращать только неназначенные IP-адреса.

get_image

Получает образ OpenStack по идентификатору.

Параметры
  • idstringобязательный
get_images

Получает список образов OpenStack с опциональной фильтрацией. Поведение фильтрации следующее: - По умолчанию возвращаются все доступные образы без применения фильтрации. - Фильтры применяются только тогда, когда пользователь указывает конкретные значения.

Параметры
  • namestring | null

    Фильтровать по имени изображения.

  • statusstring | null

    Фильтр по статусу

  • visibilitystring | null

    Фильтр по видимости

get_network_detail

Получает подробную информацию о конкретной сети.

Параметры
  • network_idstringобязательный

    ID сети для получения

get_networks

Получает список сетей с опциональной фильтрацией.

Параметры
  • shared_onlyboolean

    Если True, показывать только общие сети

  • status_filterstring | null

    Фильтруйте сети по статусу (например, ACTIVE, DOWN)

get_port_allowed_address_pairs

Получает разрешенные пары адресов, настроенные на порту.

Параметры
  • port_idstringобязательный

    Идентификатор порта

get_port_detail

Получает подробную информацию о конкретном порте.

Параметры
  • port_idstringобязательный

    ID порта для получения

get_ports

Получает список Ports с необязательной фильтрацией.

Параметры
  • device_idstring | null

    Фильтрует по device ID.

  • network_idstring | null

    Фильтр по ID сети

  • status_filterstring | null

    Фильтровать по статусу порта (например, ACTIVE, DOWN)

get_project

Получает проект.

Параметры
  • namestringобязательный

    Название проекта.

get_projects

Получает список проектов Identity. :возвращает: Список объектов Project, представляющих проекты.

Параметры

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

get_region

Получает регион.

Параметры
  • idstringобязательный

    Идентификатор региона.

get_regions

Получает список регионов Identity. :return: Список объектов Region, представляющих регионы.

Параметры

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

get_router_detail

Получает подробную информацию о конкретном Router.

Параметры
  • router_idstringобязательный

    ID роутера для получения

get_router_interfaces

Выводит список интерфейсов, подключенных к маршрутизатору.

Параметры
  • router_idstringобязательный

    Целевой идентификатор маршрутизатора

get_routers

Получает список маршрутизаторов с опциональной фильтрацией.

Параметры
  • is_admin_state_upboolean | null

    Фильтр по состоянию администратора

  • project_idstring | null

    Фильтровать по ID проекта

  • status_filterstring | null

    Фильтровать по статусу маршрутизатора (например, ACTIVE, DOWN)

get_security_group_detail

Получает подробную информацию о конкретной группе безопасности.

Параметры
  • security_group_idstringобязательный

    Идентификатор группы безопасности для получения.

get_security_groups

Получает список Security Groups с опциональной фильтрацией.

Параметры
  • idstring | null

    Фильтровать по ID группы безопасности

  • namestring | null

    Фильтр по имени группы безопасности

  • project_idstring | null

    Фильтровать по ID проекта

get_server

Получает конкретный вычислительный сервер.

Параметры
  • idstringобязательный

    Идентификатор сервера, который нужно получить.

get_servers

Получает список Compute серверов. :return: Список объектов Server.

Параметры

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

get_subnet_detail

Получает подробную информацию о конкретном Subnet.

Параметры
  • subnet_idstringобязательный

    ID подсети для получения

get_subnets

Получает список подсетей с возможностью фильтрации. Используйте её, чтобы сузить результаты по сети, проекту, версии IP, наличию шлюза и состоянию включённого DHCP. Примечания: - has_gateway применяется на стороне клиента после получения данных и проверяет, установлен ли gateway_ip. - is_dhcp_enabled соответствует фильтру Neutron enable_dhcp. - Объединение фильтров дополнительно ограничивает результат (логическое И). Примеры: - Все IPv4 подсети в сети: network_id="net-1", ip_version=4 - Только подсети со шлюзом: has_gateway=True - Подсети с включённым DHCP для проекта: project_id="proj-1", is_dhcp_enabled=True

Параметры
  • has_gatewayboolean | null

    True для подсетей со шлюзом, False для подсетей без шлюза.

  • ip_versioninteger | null

    Фильтр по версии IP (например, 4, 6)

  • is_dhcp_enabledboolean | null

    True для подсетей с включенным DHCP, False для отключенных подсетей.

  • network_idstring | null

    Фильтр по ID сети

  • project_idstring | null

    Фильтровать по ID проекта

get_volume_details

Получает подробную информацию о конкретном томе.

Параметры
  • volume_idstringобязательный

    Идентификатор тома, для которого нужно получить сведения

get_volumes

Получает список томов Block Storage. :return: Список объектов Volume, представляющих тома.

Параметры

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

remove_router_interface

Удаляет интерфейс из маршрутизатора по подсети или порту. Укажите subnet_id или port_id.

Параметры
  • port_idstring | null

    ID порта для отсоединения (взаимоисключающе с subnet_id)

  • router_idstringобязательный

    Целевой идентификатор маршрутизатора

  • subnet_idstring | null

    ID подсети для отсоединения (нельзя указывать вместе с port_id)

set_cloud_name

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

Параметры
  • cloud_namestringобязательный

    Название профиля облака OpenStack для активации.

set_port_binding

Устанавливает атрибуты привязки для порта.

Параметры
  • host_idstring | null

    Привязка host ID

  • port_idstringобязательный

    Идентификатор порта

  • profileobject | null

    Профиль привязки

  • vnic_typestring | null

    Тип VNIC

update_domain

Обновляет домен.

Параметры
  • descriptionstring | null

    Описание домена.

  • idstringобязательный

    Идентификатор домена.

  • is_enabledboolean | null

    Включен ли домен.

  • namestring | null

    Название домена.

update_floating_ip

Обновляет атрибуты плавающего IP. Изменяются только указанные параметры; опущенные параметры остаются нетронутыми. Типичные сценарии использования: - Привязка к порту: port_id="port-1" (опционально fixed_ip_address="10.0.0.10"). - Отвязка от порта: clear_port=True и port_id не указывается (устанавливает port_id=None). - Сохранение текущего порта: clear_port=False и port_id не указывается. - Обновление описания: description="new desc" или очистка с description=None. - Переназначение другому порту: port_id="new-port" (опционально fixed_ip_address). Примечания: - Передача None для description очищает его. - clear_port управляет тем, нужно ли отвязывать, когда port_id не указан. - fixed_ip_address опционален и может быть указан вместе с port_id.

Параметры
  • clear_portboolean

    Если True и port_id опущен, отсоединяется (устанавливается port_id=None); если False и port_id опущен, сохраняется текущее подключение.

  • descriptionstring | null

    Новое описание (пропустите, чтобы оставить без изменений, None для очистки)

  • fixed_ip_addressstring | null

    Конкретный фиксированный IP-адрес для сопоставления при подключении

  • floating_ip_idstringобязательный

    Floating IP ID для обновления

  • port_idstring | null

    ID порта для подключения; если не указан, порт останется подключенным или будет отсоединен в зависимости от clear_port

update_network

Обновляет существующий Network.

Параметры
  • descriptionstring | null

    Новое описание сети

  • is_admin_state_upboolean | null

    Новое административное государство

  • is_sharedboolean | null

    Новое общее состояние

  • namestring | null

    Новое имя сети

  • network_idstringобязательный

    ID сети для обновления

update_port

Обновляет существующий порт. Изменяются только переданные параметры; пропущенные остаются без изменений. Типичные сценарии использования: - Установка admin state down: is_admin_state_up=False - Переключение admin state: прочитать текущее через get_port_detail(); передать инвертированное значение - Замена security groups: security_group_ids=["sg-1", "sg-2"] - Замена allowed address pairs: 1) current = get_port_allowed_address_pairs(port_id) 2) отредактировать список (добавить/удалить словари) 3) update_port(port_id, allowed_address_pairs=current) - Замена fixed IPs: 1) current = get_port_detail(port_id).fixed_ips 2) отредактировать список 3) update_port(port_id, fixed_ips=current) Примечания: - Поля типа список (security groups, allowed address pairs, fixed IPs) заменяют весь список переданным значением. Передайте [] для удаления всех записей. - Для fixed IPs каждый словарь обычно включает ключи вида "subnet_id" и/или "ip_address". Примеры: - Добавить fixed IP: прочитать текущее, добавить новый {"subnet_id": "subnet-2", "ip_address": "10.0.1.10"}, затем передать fixed_ips=[...] - Очистить все security groups: security_group_ids=[]

Параметры
  • allowed_address_pairsobject[] | null

    Разрешенные пары адресов (заменяет весь список)

  • descriptionstring | null

    Описание нового порта

  • device_idstring | null

    Device ID

  • fixed_ipsobject[] | null

    Назначения фиксированных IP-адресов (заменяет весь список)

  • is_admin_state_upboolean | null

    Административное государство

  • namestring | null

    Новое имя порта

  • port_idstringобязательный

    ID порта для обновления

  • security_group_idsstring[] | null

    Список ID групп безопасности (заменяет весь список)

update_project

Обновляет проект.

Параметры
  • descriptionstring | null

    Описание проекта.

  • domain_idstring | null

    Идентификатор домена.

  • idstringобязательный

    Идентификатор проекта.

  • is_enabledboolean | null

    Включен ли проект.

  • namestring | null

    Название проекта.

  • parent_idstring | null

    Идентификатор родительского проекта.

update_region

Обновляет регион.

Параметры
  • descriptionstring | null

    Строковое описание региона.

  • idstringобязательный

    Идентификатор региона.

update_router

Обновляет атрибуты маршрутизатора атомарно. Изменяются только переданные параметры; пропущенные остаются нетронутыми. Типовые сценарии: - Переименование и изменение описания: name="r-new", description="d". - Переключение административного состояния: прочитать текущее через get_router_detail(); передать инвертированный bool в is_admin_state_up. - Установка флага distributed: is_distributed=True или False. - Установка внешнего шлюза: external_gateway_info={"network_id": "ext-net", "enable_snat": True, "external_fixed_ips": [...]}. - Очистка внешнего шлюза: clear_external_gateway=True (имеет приоритет над external_gateway_info). - Замена статических маршрутов: routes=[{"destination": "192.0.2.0/24", "nexthop": "10.0.0.1"}]. Передайте [], чтобы удалить все маршруты. Примечания: - Для полей типа список (routes) переданный список заменяет весь список на сервере. - Чтобы очистить внешний шлюз, используйте clear_external_gateway=True. Если указаны оба параметра, clear_external_gateway имеет приоритет.

Параметры
  • clear_external_gatewayboolean

    Если значение равно True, очищает внешний шлюз (устанавливает значение None).

  • descriptionstring | null

    Новое описание маршрутизатора

  • external_gateway_infoobject | null

    Внешний словарь информации о шлюзе для установки

  • is_admin_state_upboolean | null

    Административное государство

  • is_distributedboolean | null

    Флаг распределённого маршрутизатора

  • namestring | null

    Новое имя роутера

  • router_idstringобязательный

    ID маршрутизатора для обновления

  • routesobject[] | null

    Статические маршруты (заменяет весь список)

update_security_group

Обновляет существующую Security Group.

Параметры
  • descriptionstring | null

    Новое описание группы безопасности

  • namestring | null

    Название новой группы безопасности

  • security_group_idstringобязательный

    ID группы безопасности, которую нужно обновить

update_server

Обновляет имя, имя хоста или описание Compute server.

Параметры
  • accessIPv4string | null

    IPv6-адрес, который следует использовать для доступа к этому серверу.

  • accessIPv6string | null

    IPv6-адрес, который следует использовать для доступа к этому серверу.

  • descriptionstring | null

    Описание сервера в свободной форме.

  • hostnamestring | null

    Имя хоста для настройки экземпляра в службе метаданных.

  • idstringобязательный

    UUID сервера.

  • namestring | null

    Имя сервера.

update_subnet

Обновляет атрибуты подсети атомарно. Изменяются только переданные параметры; пропущенные параметры не меняются. Типовые примеры: - Установка шлюза: gateway_ip="10.0.0.1". - Очистка шлюза: clear_gateway=True. - Включение/отключение DHCP: is_dhcp_enabled=True или False. - Пакетные обновления: обновление имени/описания и DNS-серверов вместе. Примечания: - clear_gateway=True явно очищает gateway_ip (устанавливает в None). Если переданы и gateway_ip, и clear_gateway=True, приоритет у clear_gateway. - Для полей-списков (dns_nameservers, allocation_pools, host_routes) переданный список заменяет весь список на сервере. Передайте [], чтобы удалить все записи. - Для переключения DHCP прочитайте текущее значение через get_subnet_detail() и передайте инвертированное логическое значение в is_dhcp_enabled. Примеры: - Очистка шлюза и отключение DHCP: clear_gateway=True, is_dhcp_enabled=False - Замена DNS-серверов: dns_nameservers=["8.8.8.8", "1.1.1.1"]

Параметры
  • allocation_poolsobject[] | null

    Список пулов распределения (заменяет весь список)

  • clear_gatewayboolean

    Если значение истинно, очищает IP-адрес шлюза (устанавливает значение None).

  • descriptionstring | null

    Описание новой подсети

  • dns_nameserversstring[] | null

    Список DNS-серверов имен (заменяет весь список)

  • gateway_ipstring | null

    Новый IP-адрес шлюза

  • host_routesobject[] | null

    Статические маршруты хостов (заменяет весь список)

  • is_dhcp_enabledboolean | null

    Состояние включенного DHCP

  • namestring | null

    Новое имя подсети

  • subnet_idstringобязательный

    ID подсети для обновления

1.0.0основная
0.0.1a0
0.0.0.dev1

Выберите клиент, чтобы установить openstack-kr/python-openstackmcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"openstack-kr-python-openstackmcp-server-eh7sk8qmmq\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"python-openstackmcp-server\"],\"env\":{\"OS_CLIENT_CONFIG_FILE\":\"/path/to/your/clouds.yaml\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add openstack-kr-python-openstackmcp-server-eh7sk8qmmq --env OS_CLIENT_CONFIG_FILE=/path/to/your/clouds.yaml -- uvx python-openstackmcp-server

Либо через JSON-конфиг:

claude mcp add-json openstack-kr-python-openstackmcp-server-eh7sk8qmmq "{\"command\":\"uvx\",\"args\":[\"python-openstackmcp-server\"],\"env\":{\"OS_CLIENT_CONFIG_FILE\":\"/path/to/your/clouds.yaml\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add openstack-kr-python-openstackmcp-server-eh7sk8qmmq --env OS_CLIENT_CONFIG_FILE=/path/to/your/clouds.yaml -- uvx python-openstackmcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.openstack-kr-python-openstackmcp-server-eh7sk8qmmq]
command = "uvx"
args = ["python-openstackmcp-server"]

[mcp_servers.openstack-kr-python-openstackmcp-server-eh7sk8qmmq.env]
OS_CLIENT_CONFIG_FILE = "/path/to/your/clouds.yaml"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите openstack-kr/python-openstackmcp-server, а в поле команды запуска — строку ниже:
uvx python-openstackmcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например openstack-kr-python-openstackmcp-server-eh7sk8qmmq.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: openstack-kr-python-openstackmcp-server-eh7sk8qmmq
    command: uvx
    args:
      - "python-openstackmcp-server"
    env:
      OS_CLIENT_CONFIG_FILE: /path/to/your/clouds.yaml
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "openstack-kr-python-openstackmcp-server-eh7sk8qmmq": {
      "command": "uvx",
      "args": [
        "python-openstackmcp-server"
      ],
      "env": {
        "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
      }
    }
  }
}

Похожие MCP-сервера

DigitalOcean MCP

DigitalOcean MCP

от digitalocean-labs

MCP сервер для управления облачными ресурсами DigitalOcean через API: дроплеты, базы данных и Kubernetes. Инструмент для автоматизации инфраструктуры разработчиками и DevOps.

Go⭐ 138
Vultr MCP

Vultr MCP

официальный

от vultr

Сервер Vultr MCP позволяет AI-агентам управлять облачными ресурсами через естественный язык. Инструменты генерируются из OpenAPI, поддерживаются STDIO и HTTP, аутентификация по API ключу и OAuth. Подходит для DevOps.

Python⭐ 2
jasonwilbur/cloud-cost-mcp

jasonwilbur/cloud-cost-mcp

от jasonwilbur

Сервер для сравнения цен на облачные ресурсы (вычисления, хранилище, трафик) между AWS, Azure, GCP и OCI. Запросы на естественном языке, оценка миграции и рабочих нагрузок. Полезен DevOps-инженерам...

TypeScript⭐ 4
jasonwilbur/oci-pricing-mcp

jasonwilbur/oci-pricing-mcp

от jasonwilbur

Этот MCP инструмент даёт AI-ассистентам данные о ценах Oracle Cloud. Сервер позволяет сравнивать стоимость ресурсов (VM, хранилища, БД), оценивать ежемесячные расходы и находить оптимальные конфигурации. Полезен DevOps и архитекторам для оптимизации затрат на OCI.

TypeScript⭐ 5
joshuarileydev/supabase-mcp-server

joshuarileydev/supabase-mcp-server

от joshuarileydev

MCP-сервер для управления Supabase через Management API: создание и удаление проектов, управление организациями, получение ключей. Полезен разработчикам и AI-агентам для автоматизации инфраструктуры.

JavaScript⭐ 52
gofireflyio/firefly-mcp

gofireflyio/firefly-mcp

от gofireflyio

Надежный MCP инструмент для интеграции ИИ-ассистентов с Firefly. Обнаруживает и кодифицирует облачные ресурсы в IaC, упрощая управление мультиоблачными средами для DevOps.

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

Лука Никитин