A Model Context Protocol (MCP) server for Nutanix Virtual Machine Management APIs with a command-line chatbot interface.
- 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.
- Python 3.8 or higher
- Nutanix Prism Central credentials or API key
- cluster UUID of PE cluster
- 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.example
to.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.json
with your server configuration - Example configuration:
{ "mcpServers": { "nutanix mcp server": { "command": "/path/to/python", "args": ["/path/to/nutanix_mcp_server.py"] } } }
- Update
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
-
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
Lists all images available in the Nutanix cluster.
Creates a new image in the Nutanix cluster.
Creates an new VM based on the provided specs
Collects log for given time period and uploads it diamond server
List the top 10 alerts on the PC
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
-
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