Provides automated VPS initialization and management capabilities for Debian-based systems, including system updates and service installations
Enables automated CI/CD pipeline setup with deploy key generation, GitHub Actions workflow creation, and repository deployment automation
Automates SSL certificate generation and configuration for domains using Let's Encrypt through Certbot integration
Provides automated Nginx installation, configuration, domain setup with reverse proxy capabilities, and SSL certificate integration
Enables automated Node.js LTS installation and setup as part of VPS initialization services
Provides automated PM2 process manager installation and configuration for Node.js application management
Enables automated Redis installation and configuration as part of VPS service initialization
Provides automated Rust toolchain installation and setup as part of VPS initialization services
Provides automated VPS initialization and management capabilities for Ubuntu systems, including system updates and service installations
MCP VPS Initialize
A Model Context Protocol (MCP) server for automated VPS initialization and management. This tool provides SSH-based automation for setting up fresh VPS instances with common services and CI/CD pipelines.
Features
- 🔐 SSH Authentication: Supports both password and private key authentication
- 🛠️ VPS Initialization: Automated setup of Node.js, PM2, Rust, Nginx, Redis
- 🌐 Nginx Configuration: Domain setup with reverse proxy and SSL certificates
- 🚀 GitHub CI/CD: Automated deploy key generation and workflow creation
- 📝 Comprehensive Logging: Winston-based structured logging
- 🔧 TypeScript: Fully typed with strict TypeScript configuration
Installation
Development
MCP Tools
1. SSH Connect
Connect to a VPS via SSH using password or private key authentication.
Parameters:
host
(required): VPS IP address or hostnameusername
(required): SSH usernameport
(optional): SSH port (default: 22)password
(optional): SSH passwordprivateKeyPath
(optional): Path to private key filepassphrase
(optional): Private key passphrase
Example:
2. VPS Initialize
Initialize a fresh VPS with system updates and optional services.
Parameters:
services
(optional): Object specifying which services to installnodejs
(boolean): Install Node.js LTSpm2
(boolean): Install PM2 process managerrust
(boolean): Install Rust toolchainnginx
(boolean): Install and configure Nginxredis
(boolean): Install and configure Redis
Example:
3. Nginx Setup
Configure Nginx with domain, reverse proxy, and SSL certificates.
Parameters:
domain
(required): Domain name for the siteport
(required): Backend port to proxy requests tossl
(optional): Enable SSL with Certbot (default: true)
Example:
4. GitHub CI/CD Setup
Setup GitHub CI/CD with deploy keys and automated workflows.
Parameters:
repoUrl
(required): GitHub repository URLdeployPath
(required): Deployment path on the server
Example:
5. Execute Command
Execute arbitrary commands on the connected VPS.
Parameters:
command
(required): Command to execute
Example:
Workflow
Basic VPS Setup
- Connect to VPS:
- Initialize VPS:
- Setup Nginx:
- Setup CI/CD:
GitHub CI/CD Instructions
After running the github_cicd_setup
tool, you'll receive:
- Deploy Key: Add to your GitHub repository's Deploy Keys
- GitHub Secrets: Add to your repository's Actions secrets
- Workflow File: Add to
.github/workflows/deploy.yml
The generated workflow will:
- Trigger on pushes to main/master branch
- Run tests (if available)
- Build the application (if build script exists)
- Deploy to your VPS automatically
Security Features
- Firewall Configuration: Automatic UFW setup with secure defaults
- SSL Certificates: Automated Let's Encrypt certificate generation
- SSH Key Management: Secure deploy key generation
- Process Isolation: Optional deploy user creation
Logging
Logs are written to:
logs/combined.log
: All log levelslogs/error.log
: Error logs only- Console: Formatted output with colors
Log levels: error
, warn
, info
, debug
Configuration
The server can be configured through environment variables:
LOG_LEVEL
: Set logging level (default: 'info')PORT
: Server port (if running standalone)
Troubleshooting
Common Issues
- SSH Connection Failed
- Verify IP address and credentials
- Check firewall settings
- Ensure SSH service is running
- SSL Certificate Issues
- Verify domain DNS points to server
- Check firewall allows HTTP/HTTPS
- Ensure email is valid for Let's Encrypt
- Service Installation Failed
- Check system update status
- Verify internet connectivity
- Review error logs
Debug Mode
Enable debug logging:
Requirements
- Node.js 18+
- Fresh Ubuntu/Debian VPS
- Domain name (for SSL setup)
- GitHub repository (for CI/CD)
License
MIT License - see LICENSE file for details.
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.
Enables automated VPS initialization and management through SSH connections. Supports installing common services like Node.js, Nginx, and Redis, configuring domains with SSL certificates, and setting up GitHub CI/CD pipelines with deploy keys.
Related MCP Servers
- AsecurityAlicenseAqualityProvides comprehensive tools for managing GitHub projects, milestones, tasks, and sprints. This server integrates deeply with GitHub Projects V2, offering features like automated kanban workflows, sprint planning, and custom field management.Last updated -461059TypeScriptMIT License
- AsecurityAlicenseAqualityProvides comprehensive Git operations as tools for AI assistants and applications. This server enables AI systems to interact with Git repositories, allowing to initialize, fetch, commit, log, status, etc..Last updated -100TypeScriptMIT License
- -securityFlicense-qualityEnables AI assistants to securely execute shell commands on local machines through an SSH interface with session management, command execution, and sudo support.Last updated -Python
- AsecurityAlicenseAqualityExecute terminal commands locally or remotely via SSH with session persistence and environment variable support. Manage terminal sessions that maintain state for up to 20 minutes, enabling efficient command execution workflows. Connect using stdio or SSE for flexible integration with AI models and aLast updated -1TypeScriptMIT License