{"id":26937380,"url":"https://github.com/thunderboltsid/mcp-nutanix","last_synced_at":"2025-08-14T13:32:40.278Z","repository":{"id":285289578,"uuid":"956134095","full_name":"thunderboltsid/mcp-nutanix","owner":"thunderboltsid","description":"MCP Server for Nutanix","archived":false,"fork":false,"pushed_at":"2025-08-13T18:19:23.000Z","size":94,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-13T20:42:52.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thunderboltsid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-27T18:51:17.000Z","updated_at":"2025-08-13T18:19:23.000Z","dependencies_parsed_at":"2025-03-30T21:24:08.019Z","dependency_job_id":"4f311724-2595-47c5-af0a-d598c0e3d273","html_url":"https://github.com/thunderboltsid/mcp-nutanix","commit_stats":null,"previous_names":["thunderboltsid/mcp-nutanix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thunderboltsid/mcp-nutanix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderboltsid%2Fmcp-nutanix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderboltsid%2Fmcp-nutanix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderboltsid%2Fmcp-nutanix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderboltsid%2Fmcp-nutanix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thunderboltsid","download_url":"https://codeload.github.com/thunderboltsid/mcp-nutanix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderboltsid%2Fmcp-nutanix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270352900,"owners_count":24569506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-02T13:15:10.823Z","updated_at":"2025-08-14T13:32:40.268Z","avatar_url":"https://github.com/thunderboltsid.png","language":"Go","funding_links":[],"categories":["Cloud Infrastructure","Cloud \u0026 DevOps MCP Servers","⚙️ DevOps","サーバー実装","MCP 服务器精选列表","Cloud Platforms","Cloud Services","☁️ Cloud Platforms","Table of Contents"],"sub_categories":["☁️ Cloud Providers","☁️ \u003ca name=\"cloud-platforms\"\u003e\u003c/a\u003eクラウドプラットフォーム","☁️ 云平台与服务集成 (AWS, Cloudflare, Azure, K8s, etc.)","How to Submit","AI Services"],"readme":"# MCP Nutanix\n\nA Model Context Protocol (MCP) server for interacting with Nutanix Prism Central APIs through Large Language Models (LLMs).\n\n## ⚠️ Disclaimer\n\n**THIS IS AN EXPERIMENTAL PROJECT**\n\nThis project was created as a personal project to explore the capabilities of the Model Context Protocol frameworks in Go. It is:\n\n- **NOT** an official Nutanix product or tool\n- **NOT** supported, endorsed, or maintained by Nutanix\n- **NOT** suitable for production environments\n- **PROVIDED AS-IS** with no warranties or guarantees\n\n**USE AT YOUR OWN RISK**: The author takes no responsibility for any issues, damages, or outages that may result from using this code.\n\n## Overview\n\nThis MCP server allows LLMs to interact with Nutanix Prism Central by:\n\n1. Connecting to a Prism Central instance with user credentials\n2. Listing various resources (VMs, Clusters, Hosts, etc.)\n3. Retrieving specific resource details via URI-based access\n\nThe implementation uses the [Prism Go Client](https://github.com/nutanix-cloud-native/prism-go-client) to communicate with Prism Central and the [MCP Go library](https://github.com/mark3labs/mcp-go) to implement the Model Context Protocol.\n\n## Getting Started\n\n### Prerequisites\n\n- Go 1.23 or higher\n- Access to a Nutanix Prism Central instance\n- Tools like `make` and `go fmt` for building\n\n### Building\n\n```bash\n# Clone the repository\ngit clone https://github.com/thunderboltsid/mcp-nutanix.git\ncd mcp-nutanix\n\n# Build the MCP server\nmake build\n```\n\n## Credential Configuration\n\nThe server supports two credential methods:\n\n1. **Interactive credentials** (default) - Works with Claude via MCP prompts\n2. **Static credentials** - Required for tools like Cursor that don't support interactive prompts\n\n## MCP Client Configuration\n\nTo use this server with MCP clients, you need to configure the client to connect to the server.\n\n### Claude Desktop/Code\n\nCreate or update `~/.anthropic/claude_desktop.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"nutanix\": {\n      \"command\": \"/path/to/mcp-nutanix\"\n    }\n  }\n}\n```\n\nClaude will prompt you for credentials when first using the server.\n\n### Cursor\n\nFor Cursor, you need to provide static credentials via environment variables since it doesn't support interactive prompts.\n\nCreate or update `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"nutanix\": {\n      \"command\": \"/path/to/mcp-nutanix\",\n      \"env\": {\n        \"NUTANIX_ENDPOINT\": \"your-prism-central-ip-or-hostname\",\n        \"NUTANIX_USERNAME\": \"your-username\", \n        \"NUTANIX_PASSWORD\": \"your-password\",\n        \"NUTANIX_INSECURE\": \"true\"\n      }\n    }\n  }\n}\n```\n\n**Environment Variables:**\n- `NUTANIX_ENDPOINT` - Prism Central IP or hostname (required)\n- `NUTANIX_USERNAME` - API username (required)\n- `NUTANIX_PASSWORD` - API password (required)\n- `NUTANIX_INSECURE` - Set to \"true\" for self-signed certificates (optional)\n\n### Other MCP Clients\n\nThis server follows the standard MCP protocol and should work with any MCP client that supports stdio transport. Refer to your client's documentation for configuration instructions.\n\n## Usage\n\nOnce the MCP server is configured with your client and connected to your Prism Central instance, LLMs can interact with it through the MCP protocol.\n\n### Resource Listing\n\nTo list resources, use the appropriate tool:\n\n```\nvms\nclusters\nhosts\nimages\nsubnets\n```\n\nThe LLM will receive a JSON list of resources that it can parse and analyze.\n\n### Resource Access\n\nTo access a specific resource, use a resource URI:\n\n```\nvm://{uuid}\ncluster://{uuid}\nhost://{uuid}\n```\n\nThe LLM will receive detailed JSON information about the specific resource.\n\n## Development\n\n### Project Structure\n\n```\nmcp-nutanix/\n├── bin/                  # Compiled binaries\n├── internal/             # Internal packages\n│   ├── client/           # Prism Central client handling\n│   ├── codegen/          # Code generation utilities\n│   └── json/             # JSON helpers\n├── pkg/                  # components\n│   ├── prompts/          # MCP prompt implementations\n│   ├── resources/        # Resource handlers\n│   └── tools/            # Tool handlers\n└── Makefile              # Build and utility commands\n```\n\n### Code Generation\n\nThe project uses code generation to create resource and tool handlers. To update these:\n\n```bash\nmake generate\n```\n\n## Limitations\n\n- Response size is limited by the MCP protocol\n- Some resources with large response sizes may cause errors\n- No pagination support in the current implementation\n- Only supports read operations, no create/update/delete\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- [Nutanix](https://www.nutanix.com/) for creating the Prism API\n- [Mark3Labs](https://github.com/mark3labs) for the MCP Go library\n- [Nutanix Cloud Native](https://github.com/nutanix-cloud-native) for the Prism Go Client\n\n## Contributing\n\nThis is an experimental project with no formal contribution process. Feel free to create issues or pull requests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunderboltsid%2Fmcp-nutanix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthunderboltsid%2Fmcp-nutanix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunderboltsid%2Fmcp-nutanix/lists"}