Provides read-only access to Cloudways hosting resources, allowing retrieval of servers, applications, monitoring data, projects, team members, alerts, SSH keys, and available providers/regions/server sizes from the Cloudways API.
Cloudways MCP Server
A comprehensive Model Context Protocol (MCP) server for managing Cloudways infrastructure. This server provides a secure, modular, and scalable interface to the Cloudways API with 43+ tools covering all aspects of server and application management.
🚀 Features
- Complete Cloudways API Coverage: 43+ tools organized into logical categories
- Modular Architecture: Clean separation of concerns with dedicated modules for different functionalities
- Enterprise Security: Multi-layered authentication, rate limiting, and audit logging
- High Performance: Asynchronous design with Redis caching and HTTP connection pooling
- Production Ready: Structured logging, error handling, and monitoring capabilities
- MCP Compatible: Full Model Context Protocol support for AI assistant integration
📊 Tools Overview
Basic Operations (18 tools)
- Authentication & Info:
ping
,customer_info
,rate_limit_status
- Server Management:
list_servers
,get_server_details
- Application Management:
get_app_details
,get_app_credentials
,get_app_settings
,get_app_monitoring_summary
- Project Management:
list_projects
,list_team_members
,get_alerts
- Infrastructure Discovery:
get_ssh_keys
,get_available_providers
,get_available_regions
,get_available_server_sizes
,get_available_apps
,get_available_packages
Server Operations (12 tools)
- Power Management:
start_server
,stop_server
,restart_server
- Backup & Recovery:
backup_server
,get_server_settings
- Storage Management:
get_server_disk_usage
,optimize_server_disk
- Service Control:
get_server_services_status
,change_service_state
- Caching:
manage_server_varnish
- Monitoring:
get_server_monitoring_detail
,get_server_analytics
Application Management (8 tools)
- Deployment:
clone_app
,backup_app
,restore_app
,rollback_app_restore
- Performance:
clear_app_cache
,get_app_varnish_settings
,manage_app_varnish
- Configuration:
reset_app_file_permissions
,enforce_app_https
- Domain Management:
update_app_cname
,delete_app_cname
- Analytics:
get_app_analytics_traffic
,get_app_analytics_php
,get_app_analytics_mysql
Security & Access Control (5 tools)
- IP Management:
get_whitelisted_ips_ssh
,get_whitelisted_ips_mysql
,update_whitelisted_ips
- Security Monitoring:
check_ip_blacklisted
- Tool Access:
allow_ip_siab
,allow_ip_adminer
- SSL Management:
install_ssl_certificate
,remove_ssl_certificate
,install_letsencrypt
,renew_letsencrypt
,set_letsencrypt_auto_renewal
,revoke_letsencrypt
- Git Deployment:
generate_git_ssh_key
,get_git_ssh_key
,git_clone
,git_pull
,get_git_deployment_history
,get_git_branch_names
🏗 Architecture
🔧 Installation & Setup
Prerequisites
- Python 3.11+
- Redis server (for caching and session management)
- Cloudways API credentials
- Configure environment variables:
Encryption Key Management
The server requires a Fernet encryption key for secure credential storage.
Generating a New Key
Exporting an Existing Key
Key Validation
Important Notes
- Key must be 44 characters long (base64-encoded)
- Generated using
Fernet.generate_key()
- Do not commit keys to version control
- Changing the key invalidates existing encrypted data in Redis
- Start the server:Server will be available at:
http://localhost:7000/mcp
🔐 Authentication
The server uses header-based authentication with encrypted credential storage:
Security Features
- Credential Encryption: API keys encrypted with Fernet before Redis storage
- Token Auto-Renewal: Proactive OAuth token refresh before expiration
- Rate Limiting: Token bucket algorithm (90 requests/60 seconds by default)
- Audit Logging: Comprehensive request/response logging with structured data
⚙️ Configuration Options
Variable | Default | Description |
---|---|---|
ENCRYPTION_KEY | Required | Fernet encryption key for credential storage |
REDIS_URL | redis://localhost:6379/0 | Redis connection string |
REDIS_POOL_SIZE | 500 | Redis connection pool size |
HTTP_POOL_SIZE | 500 | HTTP connection pool size |
RATE_LIMIT_REQUESTS | 90 | Requests per time window |
RATE_LIMIT_WINDOW | 60 | Rate limit window (seconds) |
LOG_LEVEL | INFO | Logging verbosity |
LOG_FORMAT | console | Log format (console/json) |
📊 Monitoring & Observability
Structured Logging
- Performance Metrics: Request timing and resource usage
- Security Events: Authentication failures, rate limiting
- API Interactions: Full request/response logging with sanitized credentials
- Error Tracking: Comprehensive error context and stack traces
Health Checks
ping
- Basic connectivity and authentication testrate_limit_status
- Current rate limit statuscustomer_info
- Session and authentication status
🔄 Development & Extension
Adding New Tools
- Choose appropriate module in
tools/
directory - Follow existing patterns for error handling and authentication
- Use type hints with Pydantic models for parameters
- Include comprehensive docstrings
- Test with various authentication scenarios
Tool Development Template
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A simple MCP server that provides read-only access to Cloudways hosting resources, including servers, applications, monitoring data, and team management features.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides access to project files and their contents, allowing users to retrieve file data from specified project directories with error handling and configuration options.Last updated -16MIT License
- -securityAlicense-qualityThe MCP server provides access to Clever Cloud's documentation, allowing users to query and interact with it through Model Context Protocol clients like Claude Desktop.Last updated -MIT License
- AsecurityAlicenseAqualityAn MCP server that provides tools for reading, writing, and editing files on the local filesystem.Last updated -1,552Apache 2.0
- -securityAlicense-qualityA lightweight gateway server that provides a unified connection entry point for accessing multiple MCP servers, supporting various protocols including Network and Local Transports.Last updated -Apache 2.0