logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-nutanix-observer

A Model Context Protocol bridge engineered to interface with Nutanix Prism Central REST APIs. It enables Large Language Models (LLMs) to query, inspect, and analyze infrastructure elements such as Virtual Machines, hyperconverged clusters, and physical nodes. This facilitates standardized, protocol-driven governance and deep situational awareness within the Nutanix infrastructure domain.

Author

mcp-nutanix-observer logo

thunderboltsid

MIT License

Quick Info

GitHub GitHub Stars 10
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

nutanixthunderboltsidclustersinteract nutanixmanagement nutanixnutanix interact

Nutanix Prism Central MCP Gateway

This server implements the Model Context Protocol (MCP) to grant LLMs programmatic access to telemetry and metadata residing within a Nutanix Prism Central deployment via its exposed Application Programming Interfaces.

🛑 Warning: Experimental Software

THIS UTILITY IS FOR EXPLORATORY PURPOSES ONLY.

This implementation originated as a personal proof-of-concept exploring Go-based MCP framework integration. Key characteristics include:

  • Non-Official Status: It is neither sanctioned, supported, nor maintained by Nutanix.
  • Production Unsuitability: It is explicitly not engineered or validated for mission-critical operational workloads.
  • As-Is Provision: The software is delivered without any explicit or implied warranty or performance guarantee.

USER ASSUMES ALL RISK: The developer disclaims liability for any service disruptions, data corruption, or systemic failures stemming from the use of this code.

Architectural Synopsis

This MCP gateway enables intelligent agents (LLMs) to perform operations against Prism Central by:

  1. Establishing a secure connection to the target Prism Central instance using supplied credentials.
  2. Enumerating a variety of managed assets (e.g., VMs, Cluster Structures, Physical Servers).
  3. Fetching granular configuration details identified through unique, URI-encoded references.

The architecture leverages the official Prism Go Client Library for API communication and the MCP Go Abstraction Layer for protocol compliance.

Initial Setup Guide

Prerequisites for Compilation

  • A current Go runtime environment (version 1.23 or newer).
  • Network accessibility to at least one Nutanix Prism Central deployment.
  • Standard build utilities (make, code formatters).

Compilation Procedure

bash

Obtain the source repository

git clone https://github.com/thunderboltsid/mcp-nutanix.git cd mcp-nutanix

Compile the executable server component

make build

Authentication Configuration Modalities

The server accommodates two primary mechanisms for securely supplying endpoint credentials:

  1. Interactive Mode (Default): Credentials are elicited dynamically through prompts presented by host MCP clients (e.g., Claude).
  2. Static Environment Variables: Necessary for client applications (e.g., Cursor) that bypass interactive credential exchange.

Integration with MCP Clients

Configuration is required on the consumer side to map the Nutanix service identifier to this running executable.

Claude Desktop/Code Configuration

Modify or generate the configuration file at ~/.anthropic/claude_desktop.json:

{ "mcpServers": { "nutanix": { "command": "/path/to/mcp-nutanix" } } }

Claude will initiate the authentication handshake upon the first invocation of the associated tool.

Cursor Integration

Since Cursor often mandates pre-configured access, static credentials must be supplied via environment variables within ~/.cursor/mcp.json:

{ "mcpServers": { "nutanix": { "command": "/path/to/mcp-nutanix", "env": { "NUTANIX_ENDPOINT": "your-prism-central-ip-or-hostname", "NUTANIX_USERNAME": "your-API-user", "NUTANIX_PASSWORD": "your-API-secret", "NUTANIX_INSECURE": "true" // Use for self-signed cert validation bypass } } } }

Mandatory Environmental Parameters: - NUTANIX_ENDPOINT: The reachable address (FQDN or IP) of the Prism Central instance (mandatory). - NUTANIX_USERNAME: The account designated for API interaction (mandatory). - NUTANIX_PASSWORD: The corresponding secret credential (mandatory). - NUTANIX_INSECURE: Set to "true" if SSL certificate verification must be ignored (optional).

Compatibility with Other MCP Platforms

This server adheres strictly to the established MCP specification, implying compatibility with any client leveraging stdio transport. Consult your specific client's documentation for precise configuration syntax.

Operational Usage Patterns

Once the client connection is established and authenticated against Prism Central, LLMs can query the infrastructure via standardized MCP interactions.

Asset Inventory Retrieval

Invoke the following resource enumerators:

vms clusters hosts images subnets

The invoking agent will receive a structured JSON array detailing the requested resource set, suitable for subsequent analysis.

Detailed Asset Inspection

For deep dives into specific entities, utilize resource identifiers in URI format:

vm://{unique-identifier} cluster://{unique-identifier} host://{unique-identifier}

Detailed operational and configuration metadata for the specified asset will be returned as a comprehensive JSON payload.

Internal Structure and Maintenance

Directory Layout

mcp-nutanix/ ├── bin/ # Executables output directory ├── internal/ # Core logic and private packages │ ├── client/ # Encapsulation of Prism Central API client logic │ ├── codegen/ # Utilities for auto-generating boilerplate code │ └── json/ # Specialized JSON utility functions ├── pkg/ # Exported components and handlers │ ├── prompts/ # Implementations for MCP response formatting │ ├── resources/ # Handlers responsible for specific Nutanix objects │ └── tools/ # Handlers mapping to defined MCP operations └── Makefile # Automated scripts for common development tasks

Code Generation Workflow

To refresh derived components (like resource enumeration maps), execute the generation target:

bash make generate

Constraints and Known Limitations

  • The response payload size is inherently constrained by the underlying MCP specification limits.
  • Handling very large data structures returned by certain endpoints may lead to transmission errors.
  • This iteration does not incorporate logic for data pagination; requests must fit within single response boundaries.
  • Functionality is restricted to read-only operations (information retrieval); modification (CRUD) capabilities are absent.

Licensing and Credits

This project is distributed under the permissive MIT License (refer to the LICENSE file).

Acknowledgements: - The foundational Prism API provided by Nutanix. - The protocol implementation framework provided by Mark3Labs. - The Go SDK used for API interaction, developed by Nutanix Cloud Native.

Contribution Guidelines

As this is an experimental utility, there is no formal contributor onboarding process. Feedback via issues or direct pull requests is welcomed.

See Also

`