Skip to main content
Glama
mdegrasse

vcf-automation-mcp-server

by mdegrasse

vcf-automation-mcp

MCP-сервер, оборачивающий REST API VCF Automation (ранее Aria Automation) и предоставляющий проекты, элементы каталога и развертывания как MCP-инструменты, чтобы LLM-клиент мог напрямую просматривать и управлять подготовлнной инфраструктурой.

Это аналог vcf-ops-mcp, который вместо этого оборачивает в corresponde Operations (vROps).

Данный сервер может подготавливать и удалять реальную инфраструктуру (request_catalog_item, run_deployment_action/run_deployment_resource_action, delete_deployment). Относитесь к его bearer-токену и лежащему в основе refresh-токену VCF Automation так же, как к собernм учетным сетим, которые могут создавать и уничтожать виртуальные машины вс посто вашьей среде monitoring — потому что именно это они и есть.

Настройка

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env   # then fill in your VCF Automation details

Требуемая конфигурация (через .env или настоянie переменные окружения):

Переменная

Описание

VCFA_BASE_URL

Базовый URL устроева VCF Automation, например https://vcfa.example.com

VCFA_REFRESH_ТOKEN

API refresh-токен, созданнн inter. "My Account **"API Tokens"

VCFA_ОRG

Имя организации-тенна (tenant), от имени которой аутентиф. Оставьте не заполеннным уровене провадера ("system")

VCFA_TOKEN_URL

Для специилистов: переопределяет вычисленную OAuth ток-точку

VCFA_VERIFY_SSL

Установите false, чтобы отключить проверку TLS для самоподписанных лабораторных экземпляров

VCFA_TIMEOUT

Таймаут запроса в секундах (по умолчанию 30)

VCFA_API_VERSION_IAAS

?apiVersion= для IaaS API (по умолчанию 2021-07-15)

VCFA_API_VERSION_CATALOG

?apiVersion= для API каталога (по умолчанию 2020-08-25)

VCFA_API_VERSION_DEPLOYMENT

?apiVersion= для API развертываний (по умолчанию 2020-08-25)

Получение refresh-токена

В отличие от VCF Operations (имя пользователя/пароль), VCF Automation аутентифицируется с помощью долгоживущего API refresh-токена, который вы один раз создаете в интересе. Этот сервер обменивает его на короткоживущие (примерно 1 час) bearer токенны доступа от вашего имени, прозрачно кэшируя и обновляя их:

  1. Войдите в интерфейс VCF Automation как организация (tenant), от имени которой должен работать сервер.

  2. Нажмите в правом верхнем углу на ваше имя пользователя > My Account > API Tokens > New.

  3. Дайте токену имя и создайте его, затем скопируйте в VCFA_REFRESH_TOKEN.

  4. Укажите в VCFA_ORG имя этой организации (как показано в Provider Management Portal) либо оставьте егоне заданным, если создablished tokenы на уровне провайдера (system).

Точный путь обмена токеноm (VCFA_TOKEN_URL) документирован несовпадает по vерсиям VCF Automation; этот сервер по умолчанию использует /tm/oAuth/tenant/<org>/token (tenant) or /oauth/provider/token (provider) и позволяет переопределить его, если фактический путь в вашей среде (.env) отличается.

Конфигурация транспорта/аутентификации сервера (также через .env directвых переменных окружения):

Переменная

Описание

VCFA_MCP_TRANSPORT

streamable-http (по умолчанию) или stdio

VCFA_MCP_HOST

Адрес при явки для streamable-http ( по умолчанию 127.0.0.1)

VCFA_CP_PORT

Порт/а доя streamable-http ( по умолчанию 8000)

VCFA_MCP_BEARER_ТОК

Обязательное для streamable-http. Клиенты должны отправять Authorization: Bearer <value>

VCFA_MCP_ALLOWED_HOSTS

Список разрешенных Host-заголовков через заятые для защиты от DNS-rebinding

Related MCP server: Foundry Agents MCP Server

Запуск

По умолччанию это работает как автономный удаленный сервер через streamable-http, привяззнный к 127.0.0.1:8000, требующий токен bearer на каждом запросе:

export VCFA_MCP_BEARER_TOKEN="$(openssl rand -hex 32)"
vcf-automation-mcp
# or
python -m vcf_automation_mcp

GET /healthz не требует аутентификации (для проверки живых балансировщиком / оркестратором); все остальные требуют bearer-токена. 127.0.0.1 слушает только локально — чтобы достучаться с него с другого хоста, установите VCFA_MCP_HOST=0.0.0.0 (или поместите за обратным прокси) и убедитесь, что bearer-токен — единственное, что разделяет весть и ваши учётные данные, которые могут подготавливать и удалять инфраструктуру в вашей управляемой среде. Поэтому обращайтесь с ним как с любым другим секретом и предпочтите TLS-терминацию (например, через обратный прокси) перед чист HTTP на ненадежной сети.

Когда VCFA_MCP_HOST не равен 127.0.0.1/localhost, собственная защита FastMCP от DNS-rebinding (проверка заголовка Host во входящем запросе) по умолчанию не имеет ничего в списке разрешений — она автоматически конфигурируется только для loopback-хоста. В брошенном состоянии никакая проверка Host-заголовков не выполняется, и единственный барьер — ваше bearer-токен; это нормально на доверенной сети, но на общем/ненадежном снизите, укажите в VCFA_MCP_ALLOWED_HOSTS список имен/IP:портов (через запятую), через которые реально подключаются клиенты, для выites в глубину.

Подключите MCP-client к нему как к streamable-http-серверу, например в Claude Code:

claude mcp add --transport http vcf-automation http://<host>:8000/mcp \
  --header "Authorization: Bearer <your-token>"

Запуск через stdio

Для локального использования, когда MCP-клиент запускает сервер как дочехний процsocc neck сеть; (но не нуж) — усmanовите VCFA_MCP_TRANSPORT=stdio, bearer-токен в этом режиме не требуется. Пример конфига Claude Desktop:

{
  "mcpServers": {
    "vcf-automation": {
      "command": "/absolute/path/to/.venv/bin/vcf-automation-mcp",
      "env": {
        "VCFA_MCP_TRANSPORT": "stdio",
        "VCFA_BASE_URL": "https://vcfa.example.com",
        "VCFA_REFRESH_TOKEN": "changeme",
        "VCFA_ORG": "my-tenant-org"
      }
    }
  }
}

Tools

Проекты

  • list_projects — грани видимости/изоляции для подготовленной инфраструктуры

  • get_project — полная информац about ододн проект

Каталог

  • list_catalog_items — список blueprints/шаблонов, доступых для запроса, по жеанию фильтр по проект

  • "полная информац" for one item* list_catalog_item_vers — опубликованные в actualные Versions item catalog, которые можно запросить

  • request_catаlog_item — подготявляет новое развертыван из элемент каталога

Развертывания

  • list_deployments — подготов upt в развертнутныез экземплрары blueprints/catalog item

  • get_deployment — полный данных of оном раз верне

  • list_deployment_resources — ресурсы (виртуальные машины, сети, задачи и т.д.) inside развертывания

  • get_deployment_resource — детализв По. дан одного ресурса

  • list_deployment_actions — доступній day-2 operations на в развертывании (например, ChangeLease)

  • list_deployment_resource_a actions — accessing day-2 дей и на ресурсе (например, PоwerOff)

  • run_deployment_action — выполняет day-2 действие развертывания

  • run_deployment_resource_action — выполняет day-2 действие ресурса

  • delete_deployment — уничтожает развертывания и его provisioned/resources.

Запросы

  • get_request — получить/s checks статус async-requests (развертывания/day-2)

Тестирование

pip install -e ".[dev]"
pytest

Тесты сммулируую HTTP API VC ф Autom withrespx — живом экземпляр не требу.

Примечания

  • Привякан к mcp<2.0.0: в лиенной 2.x MCP Python SDK FastMCP переименовал в MCPServer и перемещен в mcp.server.mcpserver. Этот The line target проекта на использующий стабильного Moreover...

  • API VCF Automation REST большой (облачные полные учетные записи, networking, policies, onboarding, blueprints, etc); данного сервера намерonly покрывает не "consumption/day-2" полной: проекты, каталог, развертывания, запросы — но не как настройку инфраструктуры (cloud accounts, zones, regions).

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language interaction with VMware SDDC Manager and vCenter APIs through MCP tools, allowing users to query workload domains, VMs, clusters, and more.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Exposes Azure AI Foundry agents, workflows, and AI Search vector-database capabilities as MCP tools, enabling natural language interaction with agents, semantic search, and index management.
    10
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding agents and humans to collaborate on local, evidence-driven planning by exposing MCP tools for plan listing and binding, workflow catalog/run operations, and task tracking with human-reviewed decisions.
    2
    AGPL 3.0