{"id":35646270,"url":"https://github.com/uldyssian-sh/vmware-vcenter-mcp","last_synced_at":"2026-01-22T20:13:00.484Z","repository":{"id":332410795,"uuid":"1128221433","full_name":"uldyssian-sh/vmware-vcenter-mcp","owner":"uldyssian-sh","description":"Enterprise-grade Model Context Protocol (MCP) server for comprehensive VMware vCenter Server management. Professional solution for centralized virtualization infrastructure control and advanced automation.","archived":false,"fork":false,"pushed_at":"2026-01-05T20:22:59.000Z","size":270,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T19:51:04.571Z","etag":null,"topics":["automation","cluster-management","datacenter","enterprise","mcp","model-context-protocol","python","vcenter","virtualization","vmware","vsphere"],"latest_commit_sha":null,"homepage":"","language":"Python","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/uldyssian-sh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-05T10:13:43.000Z","updated_at":"2026-01-10T16:22:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/uldyssian-sh/vmware-vcenter-mcp","commit_stats":null,"previous_names":["uldyssian-sh/vmware-vcenter-mcp"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/uldyssian-sh/vmware-vcenter-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uldyssian-sh%2Fvmware-vcenter-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uldyssian-sh%2Fvmware-vcenter-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uldyssian-sh%2Fvmware-vcenter-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uldyssian-sh%2Fvmware-vcenter-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uldyssian-sh","download_url":"https://codeload.github.com/uldyssian-sh/vmware-vcenter-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uldyssian-sh%2Fvmware-vcenter-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28670366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["automation","cluster-management","datacenter","enterprise","mcp","model-context-protocol","python","vcenter","virtualization","vmware","vsphere"],"created_at":"2026-01-05T13:13:19.444Z","updated_at":"2026-01-22T20:13:00.471Z","avatar_url":"https://github.com/uldyssian-sh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VMware vCenter MCP Server\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)\n[![Security Scan](https://img.shields.io/badge/security-scanned-brightgreen.svg)](https://github.com/uldyssian-sh/vmware-vcenter-mcp/security)\n\nAn enterprise-grade Model Context Protocol (MCP) server for comprehensive VMware vCenter Server management. This professional solution provides centralized virtualization infrastructure control, advanced automation capabilities, and enterprise-scale operations management.\n\n## Features\n\n### Core MCP Tools\n- **Datacenter Operations**: Multi-datacenter management and orchestration\n- **Cluster Management**: DRS, HA, vMotion configuration and monitoring\n- **VM Lifecycle**: Complete virtual machine lifecycle management\n- **Resource Pools**: Dynamic resource allocation and management\n- **Storage Management**: vSAN, VMFS, NFS, and iSCSI operations\n- **Network Management**: Distributed switches and advanced networking\n- **Template Operations**: Enterprise template deployment and customization\n- **Snapshot Management**: Enterprise snapshot management and consolidation\n- **Performance Monitoring**: Real-time metrics and analytics\n- **Automation Workflows**: Complex workflow orchestration\n\n### Enterprise Architecture\n- **Multi-Tenancy**: Complete tenant isolation with resource quotas and RBAC\n- **High Availability**: Active-active clustering with automatic failover and load balancing\n- **Enterprise Security**: Advanced threat detection, encryption, and compliance management\n- **Authentication**: LDAP, SAML, OAuth2, and multi-factor authentication support\n- **Authorization**: Fine-grained RBAC with role-based permissions and tenant isolation\n- **Monitoring**: Comprehensive observability with Prometheus metrics, health checks, and audit logging\n- **Orchestration**: Workflow automation engine with complex task dependencies and scheduling\n- **API Gateway**: Enterprise API management with rate limiting, validation, and circuit breakers\n- **Database Layer**: High-performance async PostgreSQL with connection pooling and read replicas\n- **Caching**: Distributed Redis caching with cluster support and intelligent invalidation\n\n### Advanced Enterprise Features\n- **Multi-vCenter Support**: Manage multiple vCenter instances with intelligent load balancing\n- **Bulk Operations**: Perform operations across multiple VMs/hosts with orchestration engine\n- **Custom Workflows**: Define and execute complex automation sequences with YAML configuration\n- **Performance Analytics**: Advanced monitoring with Prometheus and Grafana integration\n- **Compliance Management**: SOC2, ISO27001, and PCI-DSS compliance reporting and automation\n- **Enterprise Deployment**: Docker Swarm and Kubernetes deployment with HA configurations\n- **Integration Ready**: RESTful APIs with comprehensive documentation and enterprise SDKs\n- **Disaster Recovery**: Cross-site replication, automated failover, and recovery workflows\n- **Audit \u0026 Compliance**: Comprehensive audit trails with retention policies and compliance reporting\n\n## Quick Start\n\n### Prerequisites\n- Python 3.8 or higher\n- VMware vCenter Server 7.0 or later\n- Network connectivity to vCenter Server\n- Valid vCenter credentials with administrative privileges\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/uldyssian-sh/vmware-vcenter-mcp.git\ncd vmware-vcenter-mcp\n\n# Install dependencies\npip install -r requirements.txt\n\n# Configure environment\ncp config.example.yaml config.yaml\n# Edit config.yaml with your vCenter details\n```\n\n### Configuration\n\nCreate `config.yaml`:\n\n```yaml\nvcenter:\n  host: \"vcenter.example.com\"\n  username: \"administrator@vsphere.local\"\n  password: \"${VCENTER_PASSWORD}\"\n  port: 443\n  ssl_verify: true\n  timeout: 60\n  session_timeout: 1800\n\nmcp:\n  server_name: \"vmware-vcenter-mcp\"\n  version: \"1.5.0\"\n  capabilities:\n    - \"datacenter_management\"\n    - \"cluster_operations\"\n    - \"vm_lifecycle\"\n    - \"resource_management\"\n    - \"automation\"\n\nlogging:\n  level: \"INFO\"\n  file: \"vcenter-mcp.log\"\n  max_size: \"50MB\"\n  backup_count: 10\n  format: \"json\"\n\nsecurity:\n  api_key: \"${MCP_API_KEY}\"\n  rate_limit: 200\n  session_timeout: 7200\n  encryption: \"AES256\"\n\nperformance:\n  connection_pool_size: 10\n  cache_ttl: 300\n  batch_size: 100\n  async_operations: true\n```\n\n### Usage\n\n```bash\n# Start the MCP server\npython -m vmware_vcenter_mcp --config config.yaml\n\n# Or use environment variables\nexport VCENTER_HOST=\"vcenter.example.com\"\nexport VCENTER_USERNAME=\"administrator@vsphere.local\"\nexport VCENTER_PASSWORD=\"your-password\"\nexport MCP_API_KEY=\"your-api-key\"\n\npython -m vmware_vcenter_mcp\n```\n\n## MCP Tools\n\n### Datacenter Management\n\n#### create_datacenter\nCreate and configure a new datacenter.\n\n```json\n{\n  \"name\": \"create_datacenter\",\n  \"description\": \"Create a new datacenter\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"name\": {\"type\": \"string\"},\n      \"folder\": {\"type\": \"string\"},\n      \"description\": {\"type\": \"string\"}\n    },\n    \"required\": [\"name\"]\n  }\n}\n```\n\n#### manage_cluster\nComprehensive cluster management operations.\n\n```json\n{\n  \"name\": \"manage_cluster\",\n  \"description\": \"Manage cluster configuration\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"cluster_name\": {\"type\": \"string\"},\n      \"action\": {\"type\": \"string\", \"enum\": [\"create\", \"configure\", \"delete\"]},\n      \"drs_enabled\": {\"type\": \"boolean\"},\n      \"ha_enabled\": {\"type\": \"boolean\"},\n      \"vsan_enabled\": {\"type\": \"boolean\"}\n    },\n    \"required\": [\"cluster_name\", \"action\"]\n  }\n}\n```\n\n### Virtual Machine Operations\n\n#### deploy_from_template\nDeploy VMs from templates with advanced configuration.\n\n```json\n{\n  \"name\": \"deploy_from_template\",\n  \"description\": \"Deploy VM from template\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"template_name\": {\"type\": \"string\"},\n      \"vm_name\": {\"type\": \"string\"},\n      \"datacenter\": {\"type\": \"string\"},\n      \"cluster\": {\"type\": \"string\"},\n      \"datastore\": {\"type\": \"string\"},\n      \"customization\": {\"type\": \"object\"},\n      \"resource_pool\": {\"type\": \"string\"}\n    },\n    \"required\": [\"template_name\", \"vm_name\"]\n  }\n}\n```\n\n#### vmotion_migrate\nPerform vMotion migrations with advanced options.\n\n```json\n{\n  \"name\": \"vmotion_migrate\",\n  \"description\": \"Migrate VM using vMotion\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"vm_name\": {\"type\": \"string\"},\n      \"destination_host\": {\"type\": \"string\"},\n      \"destination_datastore\": {\"type\": \"string\"},\n      \"priority\": {\"type\": \"string\", \"enum\": [\"low\", \"normal\", \"high\"]},\n      \"migrate_storage\": {\"type\": \"boolean\"}\n    },\n    \"required\": [\"vm_name\", \"destination_host\"]\n  }\n}\n```\n\n### Resource Management\n\n#### configure_drs\nConfigure Distributed Resource Scheduler settings.\n\n```json\n{\n  \"name\": \"configure_drs\",\n  \"description\": \"Configure DRS settings\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"cluster_name\": {\"type\": \"string\"},\n      \"automation_level\": {\"type\": \"string\", \"enum\": [\"manual\", \"partiallyAutomated\", \"fullyAutomated\"]},\n      \"migration_threshold\": {\"type\": \"integer\", \"minimum\": 1, \"maximum\": 5},\n      \"vm_overrides\": {\"type\": \"array\"}\n    },\n    \"required\": [\"cluster_name\"]\n  }\n}\n```\n\n#### manage_resource_pools\nCreate and manage resource pools.\n\n```json\n{\n  \"name\": \"manage_resource_pools\",\n  \"description\": \"Manage resource pools\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"action\": {\"type\": \"string\", \"enum\": [\"create\", \"modify\", \"delete\"]},\n      \"pool_name\": {\"type\": \"string\"},\n      \"cpu_shares\": {\"type\": \"integer\"},\n      \"memory_shares\": {\"type\": \"integer\"},\n      \"cpu_limit\": {\"type\": \"integer\"},\n      \"memory_limit\": {\"type\": \"integer\"}\n    },\n    \"required\": [\"action\", \"pool_name\"]\n  }\n}\n```\n\n### Storage Operations\n\n#### configure_vsan\nConfigure vSAN storage policies and settings.\n\n```json\n{\n  \"name\": \"configure_vsan\",\n  \"description\": \"Configure vSAN settings\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"cluster_name\": {\"type\": \"string\"},\n      \"action\": {\"type\": \"string\", \"enum\": [\"enable\", \"disable\", \"configure\"]},\n      \"storage_policy\": {\"type\": \"object\"},\n      \"deduplication\": {\"type\": \"boolean\"},\n      \"compression\": {\"type\": \"boolean\"}\n    },\n    \"required\": [\"cluster_name\", \"action\"]\n  }\n}\n```\n\n## Architecture\n\n### System Architecture\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   MCP Client    │────│  vCenter MCP    │────│   VMware        │\n│   Applications  │    │  Server         │    │   vCenter       │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n                              │                        │\n                       ┌─────────────────┐    ┌─────────────────┐\n                       │   Event         │    │   Multiple      │\n                       │   Processing    │    │   ESXi Hosts    │\n                       └─────────────────┘    └─────────────────┘\n```\n\n### High Availability Design\n- **Connection Redundancy**: Multiple vCenter connection paths\n- **Session Management**: Automatic session recovery and failover\n- **Load Balancing**: Intelligent request distribution\n- **Circuit Breaker**: Automatic failure detection and recovery\n- **Health Monitoring**: Continuous system health assessment\n\n## Development\n\n### Project Structure\n```\nvmware-vcenter-mcp/\n├── src/\n│   ├── vmware_vcenter_mcp/\n│   │   ├── __init__.py\n│   │   ├── server.py\n│   │   ├── tools/\n│   │   │   ├── datacenter.py\n│   │   │   ├── cluster.py\n│   │   │   ├── vm_operations.py\n│   │   │   └── storage.py\n│   │   ├── auth/\n│   │   ├── events/\n│   │   └── utils/\n├── tests/\n│   ├── unit/\n│   ├── integration/\n│   └── performance/\n├── docs/\n├── examples/\n├── requirements.txt\n└── setup.py\n```\n\n### Testing Strategy\n\n```bash\n# Unit tests\npython -m pytest tests/unit/\n\n# Integration tests with vCenter\npython -m pytest tests/integration/ --vcenter-host=test-vcenter\n\n# Performance tests\npython -m pytest tests/performance/ --benchmark\n\n# Security tests\npython -m pytest tests/security/\n```\n\n### Development Environment\n\n```bash\n# Setup development environment\npython -m venv venv\nsource venv/bin/activate\npip install -r requirements-dev.txt\n\n# Run linting\nflake8 src/\nblack src/\nmypy src/\n\n# Generate documentation\nsphinx-build -b html docs/ docs/_build/\n```\n\n## Security Framework\n\n### Authentication \u0026 Authorization\n- **SSO Integration**: Active Directory and LDAP support\n- **Multi-Factor Authentication**: TOTP and hardware token support\n- **Role-Based Access Control**: Granular permission management\n- **API Key Management**: Secure key generation and rotation\n- **Session Security**: Encrypted session tokens with expiration\n\n### Data Protection\n- **Encryption at Rest**: AES-256 encryption for sensitive data\n- **Encryption in Transit**: TLS 1.3 for all communications\n- **Data Masking**: Automatic PII and credential masking\n- **Audit Logging**: Comprehensive security event logging\n- **Compliance**: SOC 2, ISO 27001 compliance features\n\n## Performance Optimization\n\n### Scalability Features\n- **Horizontal Scaling**: Multi-instance deployment support\n- **Connection Pooling**: Efficient vCenter API connection management\n- **Caching Strategy**: Multi-level caching for improved response times\n- **Async Operations**: Non-blocking operation processing\n- **Batch Processing**: Bulk operation optimization\n\n### Monitoring \u0026 Metrics\n- **Prometheus Integration**: Comprehensive metrics export\n- **Health Checks**: Automated system health monitoring\n- **Performance Dashboards**: Real-time performance visualization\n- **Alerting**: Proactive issue detection and notification\n- **Capacity Planning**: Resource utilization trending\n\n## Enterprise Deployment\n\n### Production-Ready Architecture\n\nThe VMware vCenter MCP Server includes comprehensive enterprise architecture with:\n\n- **8 Core Architecture Modules**: Authentication, Multi-tenancy, Database, Monitoring, HA, Security, Orchestration, API Gateway\n- **High Availability**: Active-active clustering with PostgreSQL and Redis clusters\n- **Enterprise Security**: Multi-layer security with threat detection and compliance\n- **Comprehensive Monitoring**: Prometheus, Grafana, and ELK stack integration\n- **Workflow Orchestration**: Complex automation with dependency management\n- **Multi-tenant Isolation**: Complete resource and data isolation\n\n### Quick Enterprise Setup\n\n```bash\n# Clone and setup enterprise deployment\ngit clone https://github.com/uldyssian-sh/vmware-vcenter-mcp.git\ncd vmware-vcenter-mcp\n\n# Configure environment variables\ncp .env.example .env\n# Edit .env with your enterprise settings\n\n# Deploy enterprise stack\ndocker-compose -f docker-compose.enterprise.yml up -d\n\n# Verify deployment\ncurl http://localhost/health\n```\n\n### Enterprise Configuration\n\n```yaml\n# config/enterprise.yaml\nhost: \"0.0.0.0\"\nport: 8080\nworkers: 8\n\n# vCenter Configuration\nvcenter_host: \"vcenter.example.com\"\nvcenter_username: \"svc-vcenter-mcp@vsphere.local\"\nvcenter_password: \"${VCENTER_PASSWORD}\"\n\n# Enterprise Features\nmulti_tenant: true\nha_enabled: true\nsecurity_level: \"high\"\nencryption_enabled: true\nmetrics_enabled: true\norchestration_enabled: true\ncompliance_standards: [\"soc2\", \"iso27001\", \"pci-dss\"]\n```\n\n### Kubernetes Enterprise Deployment\n\n```yaml\n# Deploy with Helm\nhelm repo add vmware-vcenter-mcp https://charts.example.com/vmware-vcenter-mcp\nhelm install vcenter-mcp vmware-vcenter-mcp/vmware-vcenter-mcp \\\n  --values values-production.yaml \\\n  --namespace vmware-vcenter-mcp \\\n  --create-namespace\n```\n\n## Deployment\n\n### Production Deployment\n\n```yaml\n# docker-compose.yml\nversion: '3.8'\nservices:\n  vcenter-mcp:\n    image: uldyssian-sh/vmware-vcenter-mcp:latest\n    environment:\n      - VCENTER_HOST=${VCENTER_HOST}\n      - VCENTER_USERNAME=${VCENTER_USERNAME}\n      - VCENTER_PASSWORD=${VCENTER_PASSWORD}\n    volumes:\n      - ./config:/app/config\n      - ./logs:/app/logs\n    ports:\n      - \"8080:8080\"\n    restart: unless-stopped\n```\n\n### Kubernetes Deployment\n\n```yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: vcenter-mcp\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: vcenter-mcp\n  template:\n    metadata:\n      labels:\n        app: vcenter-mcp\n    spec:\n      containers:\n      - name: vcenter-mcp\n        image: uldyssian-sh/vmware-vcenter-mcp:latest\n        env:\n        - name: VCENTER_HOST\n          valueFrom:\n            secretKeyRef:\n              name: vcenter-credentials\n              key: host\n```\n\n## Troubleshooting\n\n### Common Issues\n\n**vCenter Connection Issues**\n```bash\n# Test vCenter connectivity\ncurl -k https://vcenter.example.com/rest/com/vmware/cis/session\n\n# Check SSL certificate\nopenssl s_client -connect vcenter.example.com:443\n```\n\n**Performance Issues**\n- Monitor connection pool utilization\n- Check vCenter API response times\n- Review caching effectiveness\n- Analyze batch operation efficiency\n\n**Authentication Problems**\n- Verify vCenter user permissions\n- Check session timeout settings\n- Validate SSL certificate chain\n- Review audit logs for failed attempts\n\n## Migration Guide\n\n### From vSphere PowerCLI\n- Tool mapping reference\n- Script conversion utilities\n- Best practices for migration\n- Performance comparison\n\n### From REST API\n- Endpoint mapping\n- Authentication migration\n- Error handling updates\n- Feature enhancement guide\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributors\n\n- **uldyssian-sh LT** - *Initial work and maintenance*\n- **dependabot[bot]** - *Dependency updates*\n- **actions-user** - *Automated workflows*\n\n## References\n\n- [VMware vCenter Server API Documentation](https://developer.vmware.com/apis/vsphere-automation/)\n- [Model Context Protocol Specification](https://modelcontextprotocol.io/)\n- [VMware vSphere Security Guide](https://docs.vmware.com/en/VMware-vSphere/index.html)\n- [Python vSphere Automation SDK](https://github.com/vmware/vsphere-automation-sdk-python)\n- [vCenter Server Performance Best Practices](https://docs.vmware.com/en/VMware-vSphere/index.html)\n\n## Support\n\nFor support and questions:\n- Create an issue in this repository\n- Check the [documentation](docs/)\n- Review [API reference](docs/api/)\n- Consult [troubleshooting guide](docs/troubleshooting.md)\n\n---\n\n**Maintained by: uldyssian-sh**\n\n**Disclaimer: Use of this code is at your own risk. Author bears no responsibility for any damages caused by the code.**\n\n⭐ Star this repository if you find it helpful!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuldyssian-sh%2Fvmware-vcenter-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuldyssian-sh%2Fvmware-vcenter-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuldyssian-sh%2Fvmware-vcenter-mcp/lists"}