Nutanix MCP Server
Nutanix MCP 서버
Nutanix Prism Central 및 Prism Element API를 GitHub Copilot, Claude 등과 같은 AI 어시스턴트를 위한 도구로 노출하는 MCP(Model Context Protocol) 서버입니다.
주요 기능
Prism Central (v4 API) — VM 관리, 클러스터 인벤토리, 호스트 관리
Prism Element (v2 API) — 스토리지, 디스크, 알림, 보호 도메인에 대한 직접적인 클러스터 액세스
As-Built 보고서 — 환경, 클러스터 또는 VM 범위에서 Excalidraw 다이어그램이 포함된 포괄적인 Markdown 문서 생성
API 버전 라우팅 — v4를 우선 사용하며, 필요 시 v3/v2로 대체
비동기(Async) — httpx를 사용하는 비차단(non-blocking) HTTP 클라이언트
Related MCP server: nutanix-mcp
사용 가능한 도구
VM 관리 (Prism Central v4)
도구 | 설명 |
| OData 필터링을 사용하여 VM 목록 조회 |
| UUID로 전체 VM 구성 가져오기 |
| VM 전원 켜기 |
| VM 전원 끄기 (ACPI 또는 강제 종료) |
| 새 VM 생성 |
클러스터 관리 (Prism Central v4)
도구 | 설명 |
| 등록된 클러스터 목록 조회 |
| 클러스터 세부 정보 가져오기 |
| 하이퍼바이저 호스트 목록 조회 |
| 호스트 세부 정보 가져오기 |
| 스토리지 컨테이너 목록 조회 |
네트워킹 및 이미지 (Prism Central v4)
도구 | 설명 |
| CIDR, VLAN ID 및 클러스터별 서브넷/VLAN 목록 조회 |
| IP 풀 및 DHCP 구성을 포함한 서브넷 세부 정보 가져오기 |
| 이미지 라이브러리의 디스크 이미지(ISO, QCOW2) 목록 조회 |
| 이미지 세부 정보(크기, 유형, 소스) 가져오기 |
| 리소스 태깅을 위한 카테고리 키 및 값 목록 조회 |
| 카테고리 키에 대한 모든 값 가져오기 |
Prism Element (v2 — 직접 클러스터 액세스)
도구 | 설명 |
| 클러스터 상태, 버전 및 용량 |
| 특정 PE 클러스터의 VM 목록 |
| 하드웨어 세부 정보가 포함된 호스트 목록 |
| 복제 정보가 포함된 스토리지 컨테이너 목록 |
| 스토리지 풀 및 디스크 구성 |
| 물리적 디스크 인벤토리 및 상태 |
| 활성/해결된 알림 목록 |
| 데이터 보호 정책 |
| 보호 도메인별 스냅샷 |
As-Built 보고서
도구 | 설명 |
| 전체 환경 보고서 — 모든 클러스터, 호스트, 스토리지, 네트워킹, 토폴로지 다이어그램이 포함된 VM |
| 하나 이상의 클러스터에 대한 상세 보고서 — 구성, 호스트, 컨테이너, 서브넷, 아키텍처 다이어그램이 포함된 VM |
| 특정 VM에 대한 상세 보고서 — 컴퓨팅, 디스크, NIC, 카테고리, 레이아웃 다이어그램이 포함된 부팅 구성 |
보고서는 시각적 토폴로지 표현을 위해 Markdown 문서와 Excalidraw JSON 다이어그램을 출력합니다.
MCP 리소스 (URI 기반 브라우징)
이 서버는 nutanix:// URI를 통해 리소스를 노출하며, LLM이 명시적인 도구 호출 없이 엔티티를 탐색할 수 있도록 합니다:
URI 패턴 | 설명 |
| 모든 VM 탐색 |
| 특정 VM 가져오기 |
| 모든 클러스터 탐색 |
| 특정 클러스터 가져오기 |
| 특정 호스트 가져오기 |
| 특정 서브넷 가져오기 |
| 특정 이미지 가져오기 |
MCP 프롬프트
프롬프트 | 설명 |
| 대화형 자격 증명 구성 (환경 변수 지원이 없는 클라이언트용) |
| 가이드가 포함된 환경 개요 — 클러스터, 호스트, 스토리지, 알림 |
설정
사전 요구 사항
Python 3.10 이상
Prism Central 인스턴스에 대한 네트워크 액세스 (포트 9440)
API 액세스 권한이 있는 Nutanix 자격 증명
설치
cd mcp/nutanix-mcp-server
pip install -e .또는 개발 의존성 포함:
pip install -e ".[dev]"구성
.env.example을 .env로 복사하고 자격 증명을 입력하세요:
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=30실행
nutanix-mcp또는 직접 실행:
python -m nutanix_mcpMCP 클라이언트 구성
이 서버는 stdio 전송을 사용하며 stdin/stdout을 통해 통신합니다. 각 클라이언트는 서버 프로세스를 시작하기 위한 명령을 구성합니다.
팁: 자격 증명은 환경 변수나
.env파일에 저장하고, 소스 제어에 커밋되는 구성 파일에는 절대 저장하지 마십시오.
Claude Code (CLI)
claude mcp add 명령으로 프로젝트에 서버를 추가하세요:
claude mcp add nutanix -- python -m nutanix_mcp또는 프로젝트 루트에 .mcp.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"
}
}
}
}사용자 전체(모든 프로젝트)에서 사용하려면 대신 ~/.claude.json에 추가하세요.
Claude Desktop
다음 위치의 구성 파일을 편집하세요:
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"
}
}
}
}편집 후 Claude Desktop을 완전히 다시 시작하세요.
GitHub Copilot (VS Code)
워크스페이스의 .vscode/mcp.json에 추가하세요:
{
"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)
프로젝트 루트의 opencode.json (또는 opencode.jsonc)에 추가하세요:
{
"$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
}
}
}참고: OpenCode는 "command"를 배열로 사용하며 "env" 대신 "environment"를 사용합니다.
Docker MCP Gateway
Docker MCP Gateway는 컨테이너 내부에서 이 서버를 프록시할 수 있습니다. 두 가지 접근 방식이 있습니다:
옵션 A: Docker를 통해 직접 실행
컨테이너 이미지를 빌드하고 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"]그런 다음 모든 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"
]
}
}
}옵션 B: Docker MCP Gateway에 등록
MCP 툴킷이 포함된 Docker Desktop을 사용하는 경우:
docker mcp gateway run게이트웨이 프로필을 구성하여 Nutanix 서버를 포함하세요. 그러면 게이트웨이가 등록된 모든 MCP 서버를 단일 통합 엔드포인트로 노출합니다.
AI 클라이언트에서 게이트웨이를 가리키도록 설정하세요:
{
"mcpServers": {
"MCP_DOCKER": {
"command": "docker",
"args": ["mcp", "gateway", "run"]
}
}
}게이트웨이가 라우팅, 수명 주기 관리 및 자격 증명 격리를 처리합니다.
API 버전 전략
버전 | 엔드포인트 패턴 | 사용 사례 |
v4 (권장) |
| VM, 클러스터, 호스트, 네트워킹 |
v3 (대체) |
| v4에 아직 없는 리소스 |
v2 (PE 직접) |
| 클러스터별 스토리지, 디스크, 알림 |
Prism Element 호스트 검색
list_clusters를 사용하여 클러스터 UUID를 찾은 다음, list_hosts를 사용하여 CVM IP를 찾으세요. 해당 CVM IP는 Prism Element 도구에서 pe_host로 사용할 수 있습니다.
개발
# Lint
ruff check src/
# Type check
mypy src/
# Test
pytest참조
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