vcf-automation-mcp-server
vcf-automation-mcp
Un servidor MCP que envuelve la API REST de VCF Automation (anteriormente Aria Automation), exponiendo proyectos, elementos de catálogo y despliegues como herramientas MCP para que un cliente LLM pueda explorar y gestionar directamente la infraestructura aprovisionada.
Es la contrapartida de vcf-ops-mcp, que en su lugar envuelve VCF Operations (vROps).
Este servidor puede aprovisionar y eliminar infraestructura real (request_catalog_item, run_deployment_action/run_deployment_resource_action, delete_deployment). Trata su bearer token y el refresh token subyacente de VCF Automation con el mismo cuidado que las credenciales que pueden crear y destruir VMs en todo tu entorno supervisado, porque eso es exactamente lo que son.
Configuración
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # then fill in your VCF Automation detailsConfiguración requerida (mediante .env o variables de entorno reales):
Variable | Descripción |
| URL base del appliance de VCF Automation, p. ej. |
| Refresh token de API generado en la interfaz de usuario (Mi cuenta > Tokens de API) |
| Nombre de la organización (tenant) con la que autenticarse. Déjala sin definir si el token se generó a nivel de proveedor («system») |
| Avanzado: anula el endpoint de token OAuth calculado automáticamente |
| Establece |
| Tiempo de espera por petición en segundos (predeterminado |
|
|
|
|
|
|
Obtención de un refresh token
A diferencia de VCF Operations (usuario/contraseña), VCF Automation se autentica con un refresh token de API de larga duración que se genera una sola vez en la interfaz de usuario; este servidor lo canjea por tokens de acceso de tipo bearer de corta duración (~1 hora) en tu nombre, guardándolos en caché y renovándolos de forma transparente:
Inicia sesión en la interfaz de usuario de VCF Automation como la organización (tenant) para la que quieras que actúe el servidor.
Haz clic en tu nombre de usuario en la esquina superior derecha > Mi cuenta > Tokens de API > Nuevo.
Ponle nombre al token, créalo y cópialo en
VCFA_REFRESH_TOKEN.Define
VCFA_ORGcon el nombre de esa organización (tal como se muestra en el Portal de administración de proveedores), o déjala sin definir si generaste el token a nivel de proveedor («system»).
La ruta exacta de intercambio de tokens (VCFA_TOKEN_URL) se ha documentado de forma inconsistente según la versión de VCF Automation; este servidor usa por defecto /tm/oauth/tenant/<org>/token (a nivel de tenant) u /oauth/provider/token (a nivel de proveedor) y permite anularla si la ruta real de tu instancia difiere.
Configuración de transporte y autenticación del servidor (también mediante .env o variables de entorno reales):
Variable | Descripción |
|
|
| Host de escucha para streamable-http (predeterminado |
| Puerto de escucha para streamable-http (predeterminado |
| Requerido para streamable-http. Los clientes deben enviar |
| Lista permitida de cabeceras Host separadas por comas como protección contra el DNS rebinding |
Related MCP server: AI Core MCP Server
Ejecución
Por defecto se ejecuta como un servidor remoto independiente sobre streamable-http, escuchando en 127.0.0.1:8000 y requiriendo un bearer token en cada petición:
export VCFA_MCP_BEARER_TOKEN="$(openssl rand -hex 32)"
vcf-automation-mcp
# or
python -m vcf_automation_mcpGET /healthz no está autenticado (para comprobaciones de salud de balanceadores de carga/orquestadores); todo lo demás requiere el bearer token. 127.0.0.1 solo escucha en local; para alcanzarlo desde otro host, establece VCFA_MCP_HOST=0.0.0.0 (o ejecútalo detrás de un proxy inverso) y asegúrate de que el bearer token sea lo único que se interpone entre la red y unas credenciales capaces de aprovisionar y eliminar infraestructura en todo tu entorno gestionado. Trátalo, por tanto, como cualquier otro secreto y prefiere la terminación TLS (p. ej., con un proxy inverso) delante de él en lugar de HTTP en claro sobre una red no fiable.
Cuando VCFA_MCP_HOST no es 127.0.0.1/localhost, la protección DNS rebinding de FastMCP (una comprobación de la cabecera Host de la petición entrante) no tiene nada que permitir por defecto, porque solo configura automáticamente esa lista de permitidos para un host de loopback. Si se deja sin definir, no se aplica ninguna comprobación de cabecera Host y el bearer token es tu única barrera; puede ser suficiente en una red de confianza, pero define VCFA_MCP_ALLOWED_HOSTS con el hostname(s)/IP:puerto al que los clientes se conectan realmente (separado por comas) como defensa en profundidad en una red compartida o no fiable.
Apunta un cliente MCP a él como servidor streamable-http, p. ej., en Claude Code:
claude mcp add --transport http vcf-automation http://<host>:8000/mcp \
--header "Authorization: Bearer <your-token>"Ejecución con stdio
Para uso local, donde un cliente MCP inicia el propio servidor como subproceso (sin necesidad de exponerlo a la red), establece VCFA_MCP_TRANSPORT=stdio; el bearer token no es necesario en este modo. Configuración de ejemplo para 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"
}
}
}
}Herramientas
Proyectos
list_projects— límites de visibilidad/aislamiento de los recursos aprovisionadosget_project— detalle completo de un proyecto
Catálogo
list_catalog_items— explora los blueprints/plantillas disponibles para solicitar, opcionalmente por proyectoget_catalog_item— detalle completo de un elemento de catálogolist_catalog_item_versions— versiones publicadas de un elemento de catálogo que se pueden solicitarrequest_catalog_item— aprovisiona un nuevo despliegue a partir de un elemento de catálogo
Despliegues
list_deployments— instancias aprovisionadas de un blueprint/elemento de catálogoget_deployment— detalle completo de un desplieguelist_deployment_resources— recursos (VMs, redes, discos, etc.) dentro de un despliegueget_deployment_resource— detalle completo de un recurso dentro de un desplieguelist_deployment_actions— acciones day-2 disponibles en un despliegue (p. ej., ChangeLease)list_deployment_resource_actions— acciones day-2 disponibles en un recurso (p. ej., PowerOff)run_deployment_action— ejecuta una acción day-2 en un desplieguerun_deployment_resource_action— ejecuta una acción day-2 en un recursodelete_deployment— destruye un despliegue y sus recursos aprovisionados
Solicitudes
get_request— consulta el estado de una solicitud asíncrona (despliegue/acción day-2)
Pruebas
pip install -e ".[dev]"
pytestLas pruebas simulan la API HTTP de VCF Automation con respx; no se necesita una instancia real.
Notas
Fijado a
mcp<2.0.0: la línea 2.x del SDK de MCP para Python renombróFastMCPaMCPServery lo movió amcp.server.mcpserver. Este proyecto apunta a la estable (API de) 1.xmcp.server.fastmcp.FastMCP.La superficie de la API REST de VCF Automation es amplia (cuentas en la nube, redes, políticas, onboarding, blueprints, etc.); este servidor cubre intencionadamente solo la via de consumo/day-2 — proyectos, catálogo, despliegues, solicitudes —, no la configuración de infraestructura (cuentas en la nube, zonas, regiones).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables file system operations, web scraping, and AI-powered search through MCP tools for use by LLM agents.1
- AlicenseNot gradedqualityDmaintenanceExposes SAP AI Core APIs as MCP tools, enabling AI assistants to manage AI Core lifecycle and administration through natural language.5MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language interaction with VMware SDDC Manager and vCenter APIs through MCP tools, allowing users to query workload domains, VMs, clusters, and more.MIT
- AlicenseAqualityDmaintenanceExposes 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.102MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mdegrasse/vcf-automation-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server