Nutanix MCP Server
A Model Context Protocol (MCP) server for Nutanix Virtual Machine Management APIs with a command-line chatbot interface.
Features
- Nutanix v4 API client integration - Add a v4 APi client and create tools for your MCP server
- LLM Provider Flexibility: Works with any Nutanix AI (NAI) LLM endpoint that follows OpenAI API standards (tested with llama-3-1-8b)
- Dynamic Tool Integration: Tools are declared in the system prompt, ensuring maximum compatibility across different LLMs.
- Server Configuration: Supports multiple MCP servers through a simple JSON configuration file like the Claude Desktop App.
Prerequisites
- Python 3.8 or higher
- Nutanix Prism Central credentials or API key
- cluster UUID of PE cluster
Setup
- Clone this repository:
git clone https://github.com/savrab/nutanix-mcp.git
cd nutanix-mcp
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
- Copy
.env.exampleto.env - Fill in your Nutanix credentials in
.env - Add your NAI API key:
NAI_API_KEY=your_api_key_here
- Copy
-
Configure MCP servers:
- Update
servers_config.jsonwith your server configuration - Example configuration:
{ "mcpServers": { "nutanix mcp server": { "command": "/path/to/python", "args": ["/path/to/nutanix_mcp_server.py"] } } } - Update
Running the Application
Option 1: Run MCP Server Inspector to test your tools. Learn more about MCP inspector in this tutorial - https://modelcontextprotocol.io/docs/tools/inspector
- Start the MCP server:
mcp dev nutanix_mcp_server.py
Option 2: After confirming your tools are running fine, you can start the chatbot or directly start the chatbot to use existing tools:
python mcp_chatbot.py
Using the Chatbot
-
Initialization:
- The chatbot will automatically initialize the MCP server
- Available tools will be listed
- System messages will be displayed
-
Chatting:
- Type your message and press Enter
- The chatbot will process your request
- Tool execution progress will be shown
- Results will be displayed in the terminal
-
Tool Usage:
- Tools are automatically selected based on your request
- Progress tracking is available for long-running operations
- Error handling and retries are built-in
-
Exiting:
- Type 'quit' or 'exit' to end the session
- The chatbot will clean up resources properly
Currently Available MCP Tools
List Images
Lists all images available in the Nutanix cluster.
Create Image
Creates a new image in the Nutanix cluster.
Create VM
Creates an new VM based on the provided specs
Collect logs
Collects log for given time period and uploads it diamond server
Get Alerts
List the top 10 alerts on the PC
Environment Variables
Required environment variables:
NUTANIX_USERNAME: Your Nutanix usernameNUTANIX_PASSWORD: Your Nutanix passwordNUTANIX_PRISM_CENTRAL_URL: URL of your Prism Central instanceNAI_API_KEY: Your Nutanix AI API keyCLUSTER_UUID: Your PE cluster UUID
Troubleshooting
-
Server Connection Issues:
- Verify server configuration in
servers_config.json - Check environment variables
- Verify server configuration in
-
Tool Execution Errors:
- Verify that the tools are working fine using MCP inspector
- Review execution logs
-
API Errors:
- Verify API keys
- Check the LLM endpoint on ai.nutanix.com
Recommend MCP Servers 💡
kubernetes-mcp-server
Model Context Protocol (MCP) server for Kubernetes and OpenShift
buryhuang/mcp-server-aws-resources
A Python-based MCP server enabling Claude to query and manage AWS resources via boto3, with sandboxing and containerization for secure execution.
Vantage
An open-source tool that acts as a bridge to Vantage's existing APIs, allowing users to query cloud cost data using natural language through AI assistants and MCP clients.
Markermav/ProxmoxMCP-advance
An MCP server for Proxmox integration, enabling VM management, in-VM command execution, cluster resource overview, and automated VM provisioning.
echozyr2001/ali-flux-mcp
A TypeScript-based MCP server for Alibaba Cloud DashScope API to generate, manage, and save images.
inspektor-gadget
AI-powered debugging and inspection for Kubernetes clusters using Inspektor Gadget.