Nutanix MCP Server
Servidor Nutanix MCP
Un servidor MCP (Model Context Protocol) que expone las API de Nutanix Prism Central y Prism Element como herramientas para asistentes de IA como GitHub Copilot, Claude y otros.
Características
Prism Central (API v4) — Gestión de máquinas virtuales, inventario de clústeres, gestión de hosts
Prism Element (API v2) — Acceso directo al clúster para almacenamiento, discos, alertas, dominios de protección
Informes de estado actual (As-Built) — Generación de documentación Markdown completa con diagramas de Excalidraw a nivel de entorno, clúster o máquina virtual
Enrutamiento de versiones de API — Prefiere v4, recurre a v3/v2 cuando es necesario
Asíncrono — Cliente HTTP no bloqueante usando httpx
Related MCP server: nutanix-mcp
Herramientas disponibles
Gestión de máquinas virtuales (Prism Central v4)
Herramienta | Descripción |
| Listar máquinas virtuales con filtrado OData |
| Obtener la configuración completa de la máquina virtual por UUID |
| Encender una máquina virtual |
| Apagar (ACPI o forzado) |
| Crear una nueva máquina virtual |
Gestión de clústeres (Prism Central v4)
Herramienta | Descripción |
| Listar clústeres registrados |
| Obtener detalles del clúster |
| Listar hosts del hipervisor |
| Obtener detalles del host |
| Listar contenedores de almacenamiento |
Redes e imágenes (Prism Central v4)
Herramienta | Descripción |
| Listar subredes/VLANs con CIDR, ID de VLAN y clúster |
| Obtener detalles de la subred, incluyendo pools de IP y configuración DHCP |
| Listar imágenes de disco (ISO, QCOW2) en la biblioteca de imágenes |
| Obtener detalles de la imagen: tamaño, tipo, origen |
| Listar claves y valores de categorías para etiquetado de recursos |
| Obtener todos los valores para una clave de categoría |
Prism Element (v2 — acceso directo al clúster)
Herramienta | Descripción |
| Salud, versión y capacidad del clúster |
| Máquinas virtuales en un clúster PE específico |
| Hosts con detalles de hardware |
| Contenedores de almacenamiento con información de replicación |
| Pools de almacenamiento y composición de discos |
| Inventario y estado de discos físicos |
| Alertas activas/resueltas |
| Políticas de protección de datos |
| Instantáneas por dominio de protección |
Informes de estado actual (As-Built)
Herramienta | Descripción |
| Informe completo del entorno: todos los clústeres, hosts, almacenamiento, redes y máquinas virtuales con diagrama de topología |
| Informe detallado para uno o más clústeres: configuración, hosts, contenedores, subredes y máquinas virtuales con diagrama de arquitectura |
| Informe detallado para máquinas virtuales específicas: cómputo, discos, NICs, categorías, configuración de arranque con diagrama de diseño |
Los informes generan documentación en Markdown y diagramas JSON de Excalidraw para la representación visual de la topología.
Recursos MCP (navegación basada en URI)
El servidor expone recursos a través de URIs nutanix://, permitiendo a los LLMs navegar por las entidades sin llamadas explícitas a herramientas:
Patrón de URI | Descripción |
| Navegar por todas las máquinas virtuales |
| Obtener una máquina virtual específica |
| Navegar por todos los clústeres |
| Obtener un clúster específico |
| Obtener un host específico |
| Obtener una subred específica |
| Obtener una imagen específica |
Prompts MCP
Prompt | Descripción |
| Configuración interactiva de credenciales (para clientes sin soporte de variables de entorno) |
| Visión general guiada del entorno: clústeres, hosts, almacenamiento, alertas |
Configuración
Requisitos previos
Python 3.10+
Acceso de red a su instancia de Prism Central (puerto 9440)
Credenciales de Nutanix con acceso a la API
Instalación
cd mcp/nutanix-mcp-server
pip install -e .O con dependencias de desarrollo:
pip install -e ".[dev]"Configuración
Copie .env.example a .env y rellene sus credenciales:
cp .env.example .envNUTANIX_HOST=your-prism-central.example.com
NUTANIX_PORT=9440
NUTANIX_USERNAME=your-username
NUTANIX_PASSWORD=your-password
NUTANIX_VERIFY_SSL=true
NUTANIX_TIMEOUT=30Ejecución
nutanix-mcpO directamente:
python -m nutanix_mcpConfiguración del cliente MCP
Este servidor utiliza transporte stdio: se comunica a través de stdin/stdout. Cada cliente configura un comando para iniciar el proceso del servidor.
Consejo: Almacene las credenciales en variables de entorno o en un archivo
.env, nunca en archivos de configuración confirmados en el control de versiones.
Claude Code (CLI)
Añada el servidor a su proyecto con el comando claude mcp add:
claude mcp add nutanix -- python -m nutanix_mcpO cree/edite manualmente .mcp.json en la raíz de su proyecto:
{
"mcpServers": {
"nutanix": {
"type": "stdio",
"command": "python",
"args": ["-m", "nutanix_mcp"],
"cwd": "/path/to/mcp/nutanix-mcp-server",
"env": {
"NUTANIX_HOST": "your-prism-central.example.com",
"NUTANIX_USERNAME": "your-username",
"NUTANIX_PASSWORD": "your-password",
"NUTANIX_VERIFY_SSL": "true"
}
}
}
}Para disponibilidad a nivel de usuario (todos los proyectos), añádalo a ~/.claude.json en su lugar.
Claude Desktop
Edite el archivo de configuración en:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"nutanix": {
"type": "stdio",
"command": "python",
"args": ["-m", "nutanix_mcp"],
"cwd": "/path/to/mcp/nutanix-mcp-server",
"env": {
"NUTANIX_HOST": "your-prism-central.example.com",
"NUTANIX_USERNAME": "your-username",
"NUTANIX_PASSWORD": "your-password",
"NUTANIX_VERIFY_SSL": "true"
}
}
}
}Reinicie Claude Desktop completamente después de editar.
GitHub Copilot (VS Code)
Añada a .vscode/mcp.json en su espacio de trabajo:
{
"servers": {
"nutanix": {
"type": "stdio",
"command": "python",
"args": ["-m", "nutanix_mcp"],
"cwd": "${workspaceFolder}/mcp/nutanix-mcp-server",
"env": {
"NUTANIX_HOST": "your-prism-central.example.com",
"NUTANIX_USERNAME": "your-username",
"NUTANIX_PASSWORD": "your-password",
"NUTANIX_VERIFY_SSL": "true"
}
}
}
}OpenCode (sst/opencode)
Añada a opencode.json (o opencode.jsonc) en la raíz de su proyecto:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"nutanix": {
"type": "local",
"command": ["python", "-m", "nutanix_mcp"],
"environment": {
"NUTANIX_HOST": "your-prism-central.example.com",
"NUTANIX_USERNAME": "your-username",
"NUTANIX_PASSWORD": "your-password",
"NUTANIX_VERIFY_SSL": "true"
},
"enabled": true
}
}
}Nota: OpenCode utiliza "command" como una matriz y "environment" en lugar de "env".
Docker MCP Gateway
El Docker MCP Gateway puede actuar como proxy de este servidor dentro de un contenedor. Dos enfoques:
Opción A: Ejecutar directamente a través de Docker
Construya una imagen de contenedor y haga referencia a ella en la configuración de su cliente MCP:
FROM python:3.12-slim
WORKDIR /app
COPY mcp/nutanix-mcp-server/ .
RUN pip install --no-cache-dir -e .
CMD ["python", "-m", "nutanix_mcp"]Luego, en cualquier configuración de cliente MCP:
{
"mcpServers": {
"nutanix": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "NUTANIX_HOST=your-prism-central.example.com",
"-e", "NUTANIX_USERNAME=your-username",
"-e", "NUTANIX_PASSWORD=your-password",
"-e", "NUTANIX_VERIFY_SSL=true",
"nutanix-mcp-server"
]
}
}
}Opción B: Registrar con Docker MCP Gateway
Si tiene Docker Desktop con el kit de herramientas MCP:
docker mcp gateway runConfigure el perfil de la puerta de enlace para incluir el servidor nutanix. La puerta de enlace expone entonces todos los servidores MCP registrados como un único punto final unificado.
En su cliente de IA, apunte a la puerta de enlace:
{
"mcpServers": {
"MCP_DOCKER": {
"command": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}La puerta de enlace gestiona el enrutamiento, el ciclo de vida y el aislamiento de credenciales.
Estrategia de versiones de API
Versión | Patrón de endpoint | Caso de uso |
v4 (preferido) |
| Máquinas virtuales, clústeres, hosts, redes |
v3 (alternativa) |
| Recursos aún no disponibles en v4 |
v2 (PE directo) |
| Almacenamiento por clúster, discos, alertas |
Descubrimiento de hosts de Prism Element
Utilice list_clusters para encontrar los UUID de los clústeres, luego list_hosts para encontrar las IP de los CVM. Esas IP de CVM se pueden utilizar como pe_host en las herramientas de Prism Element.
Desarrollo
# Lint
ruff check src/
# Type check
mypy src/
# Test
pytestReferencias
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
- AlicenseAqualityCmaintenanceMCP server for Nutanix Prism Central v4 REST API, enabling AI agents to list and inspect VMs, control VM power state, list clusters, read alerts, and list subnets.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Nutanix infrastructure (VMs, hosts, storage, alerts, etc.) using natural language through GitHub Copilot. Supports Prism Element, Prism Central, and Nutanix Move with secure credential storage.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Proxmox VE infrastructure, including VMs, containers, storage, and cluster operations via natural language.MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to manage Proxmox VE infrastructure, including VMs, containers, storage, network, high availability, replication, SDN, and node administration.10033MIT
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Connect AI assistants to ITM Platform projects, tasks, budgets, risks, and team workload.
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/jkmills/nutanix-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server