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 Model Context Protocol (MCP) server for managing Cloudways infrastructure. Provides a secure, modular interface to the Cloudways API with 43+ tools covering server and application management.
Features
Cloudways API Coverage: 43+ tools organized into logical categories
Modular Architecture: Separation of concerns with dedicated modules for different functionalities
Security: Multi-layered authentication with credential encryption, session isolation, rate limiting, and audit logging
Performance: Asynchronous design with Redis caching and HTTP connection pooling
Production Ready: Structured logging, error handling, and monitoring
MCP Compatible: Full Model Context Protocol support for AI assistant integration
Tools Overview
Basic Operations (18 tools)
Authentication & Info:
ping,customer_info,rate_limit_statusServer Management:
list_servers,get_server_detailsApplication Management:
get_app_details,get_app_credentials,get_app_settings,get_app_monitoring_summaryProject Management:
list_projects,list_team_members,get_alertsInfrastructure 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_serverBackup & Recovery:
backup_server,get_server_settingsStorage Management:
get_server_disk_usage,optimize_server_diskService Control:
get_server_services_status,change_service_stateCaching:
manage_server_varnishMonitoring:
get_server_monitoring_detail,get_server_analytics
Application Management (8 tools)
Deployment:
clone_app,backup_app,restore_app,rollback_app_restorePerformance:
clear_app_cache,get_app_varnish_settings,manage_app_varnishConfiguration:
reset_app_file_permissions,enforce_app_httpsDomain Management:
update_app_cname,delete_app_cnameAnalytics:
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_ipsSecurity Monitoring:
check_ip_blacklistedTool Access:
allow_ip_siab,allow_ip_adminerSSL Management:
install_ssl_certificate,remove_ssl_certificate,install_letsencrypt,renew_letsencrypt,set_letsencrypt_auto_renewal,revoke_letsencryptGit 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:
# Generate encryption key for secure credential storage export ENCRYPTION_KEY=$(python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())') # Redis configuration export REDIS_URL="redis://localhost:6379/0" # Optional performance tuning export REDIS_POOL_SIZE="500" export HTTP_POOL_SIZE="500" export RATE_LIMIT_REQUESTS="90" export RATE_LIMIT_WINDOW="60"
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:
python main.pyServer 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
Session Isolation: Unique customer ID generation prevents session cross-contamination
Token Auto-Renewal: OAuth token refresh before expiration
Rate Limiting: Token bucket algorithm (90 requests/60 seconds by default)
Input Validation: Parameter validation with range checks
Audit Logging: Request/response logging with structured data
Configuration Options
Variable | Default | Description |
| Required | Fernet encryption key for credential storage |
|
| Redis connection string |
|
| Redis connection pool size |
|
| HTTP connection pool size |
|
| Requests per time window |
|
| Rate limit window (seconds) |
|
| Logging verbosity |
|
| Log format (console/json) |
Monitoring & Observability
Structured Logging
Performance Metrics: Request timing and resource usage
Security Events: Authentication failures, rate limiting
API Interactions: Request/response logging with sanitized credentials
Error Tracking: 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/directoryFollow existing patterns for error handling and authentication
Use type hints with Pydantic models for parameters
Include docstrings
Test with various authentication scenarios
Tool Development Template
This server cannot be installed
Related Resources
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,573Apache 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