hostinger-vps-mcp-tools
v1.0.0Set up Hostinger VPS servers as AI virtual employees with GUI and Koda (OpenClaw). Use when deploying new VPS instances, setting up remote desktops, installing Koda/OpenClaw, or configuring AI agent workstations. Handles Ubuntu server setup, GUI (XFCE + VNC/XRDP), Docker, and Koda deployment.
Installation
Hostinger VPS Deploy
Deploy Koda (OpenClaw) on Hostinger VPS servers with GUI access for AI virtual employees.
Overview
This skill automates: 1. API-driven provisioning — Deploy VPS instances via Hostinger API MCP tools 2. Server hardening — SSH keys, firewall, fail2ban 3. GUI installation — XFCE desktop + VNC/XRDP for remote access 4. Docker setup — Container runtime for Koda 5. Koda deployment — AI assistant with webchat interface 6. Identity config — Unique name/persona for each virtual employee
Hostinger API Integration (MCP)
Dashboard Tab
OpenClaw has a built-in Hostinger tab in the Control dashboard (Integrations group).
From the tab you can: - Enter your Hostinger API token (stored securely in vault) - Set your GitHub repo URL (OpenClaw fork to install on new VPS instances) - View all available MCP tools grouped by category - Reference the Key VPS Tools quick guide
Getting Your API Token
- Log into hPanel
- Go to API Tokens → Create new token
- Copy the token and paste it in the OpenClaw Hostinger tab
MCP Server
The hostinger-api-mcp npm package is Hostinger's official MCP server.
- Install:
npm install -g hostinger-api-mcp(already installed) - Auth: Bearer token via
API_TOKENenv var - Transport: stdio (default) or HTTP streaming
Important: The API token is stored in ~/.openclaw/secrets.json (the vault), not in plaintext in mcporter config. A SecretRef points to the vault key HOSTINGER_API_TOKEN.
Key API Endpoints
| Tool | Method | Path |
|---|---|---|
vps_getVirtualMachineListV1 |
GET | /api/vps/v1/virtual-machines |
vps_createVirtualMachineV1 |
POST | /api/vps/v1/virtual-machines |
vps_getDataCenterListV1 |
GET | /api/vps/v1/data-centers |
vps_getOsListV1 |
GET | /api/vps/v1/os |
vps_startVirtualMachineV1 |
POST | /api/vps/v1/virtual-machines/{id}/start |
vps_stopVirtualMachineV1 |
POST | /api/vps/v1/virtual-machines/{id}/stop |
vps_restartVirtualMachineV1 |
POST | /api/vps/v1/virtual-machines/{id}/restart |
vps_resetPasswordV1 |
POST | /api/vps/v1/virtual-machines/{id}/reset-password |
vps_getMetricsV1 |
GET | /api/vps/v1/virtual-machines/{id}/metrics |
billing_getCatalogItemListV1 |
GET | /api/billing/v1/catalog |
billing_getPaymentMethodListV1 |
GET | /api/billing/v1/payment-methods |
Using Tools via mcporter
# List all VPS instances
mcporter call hostinger-api.vps_getVirtualMachineListV1
# View available VPS plans (prices in cents)
mcporter call hostinger-api.billing_getCatalogItemListV1 category=VPS
# List data centers
mcporter call hostinger-api.vps_getDataCenterListV1
# List OS options
mcporter call hostinger-api.vps_getOsListV1
# Deploy a new VPS (requires plan item ID, OS ID, datacenter ID)
mcporter call hostinger-api.vps_createVirtualMachineV1 ...
API Documentation Links
| Resource | URL |
|---|---|
| API Reference | https://developers.hostinger.com/ |
| Overview | https://developers.hostinger.com/#description/overview |
| Authentication | https://developers.hostinger.com/#description/authentication |
| SDKs & Tools | https://developers.hostinger.com/#description/sdks--tools |
| Official MCP Server (GitHub) | https://github.com/hostinger/api-mcp-server |
| Postman Collection | https://app.getpostman.com/run-collection/36145449-4a733c4f-6704-49f6-832a-0ccd28c37021 |
| hPanel API Tokens | https://hpanel.hostinger.com/api-tokens |
VPS Deployment Workflow
Step 1: Get a VPS
# 1. Check available plans
mcporter call hostinger-api.billing_getCatalogItemListV1 category=VPS
# 2. Pick a data center
mcporter call hostinger-api.vps_getDataCenterListV1
# 3. Pick an OS (Ubuntu 24.04 recommended)
mcporter call hostinger-api.vps_getOsListV1
# 4. Deploy
mcporter call hostinger-api.vps_createVirtualMachineV1
--args '{"plan":"...", "datacenter_id": "...", "os_id": "..."}'
Step 2: Set Up the Server
Once the VPS is running (get IP from vps_getVirtualMachineListV1):
# One-command full deploy
scripts/deploy-all.sh SERVER_IP "Agent Name" [KODA_PORT] [SSH_PORT]
# Examples:
scripts/deploy-all.sh 1.2.3.4 "Alex"
scripts/deploy-all.sh 1.2.3.4 "Alex" 9443 2222
Step 3: Install OpenClaw Fork
If a GitHub repo is configured (via the Hostinger tab), Koda will:
1. SSH into the new VPS
2. Clone the configured repo (e.g., https://github.com/your-org/openclaw)
3. Run the install script
Manual Step-by-Step Scripts
# 1. Initial server setup (with custom ports)
ssh root@SERVER_IP 'bash -s 9443 2222' < scripts/01-server-setup.sh
# 2. Install GUI + remote desktop
ssh -p 2222 root@SERVER_IP 'bash -s' < scripts/02-install-gui.sh
# 3. Install Docker
ssh -p 2222 root@SERVER_IP 'bash -s' < scripts/03-install-docker.sh
# 4. Deploy Koda (with custom port)
ssh -p 2222 root@SERVER_IP 'bash -s 9443' < scripts/04-deploy-koda.sh
# 5. Configure identity
ssh -p 2222 root@SERVER_IP 'bash -s' < scripts/05-configure-identity.sh "Agent Name"
Scripts
| Script | Purpose |
|---|---|
01-server-setup.sh |
Updates, firewall, fail2ban, create user |
02-install-gui.sh |
XFCE desktop + XRDP (Windows Remote Desktop) |
03-install-docker.sh |
Docker + Docker Compose |
04-deploy-koda.sh |
Pull/build Koda, start container |
05-configure-identity.sh |
Set agent name, create workspace |
deploy-all.sh |
Run all scripts in sequence |
Connecting to Your VPS
After deployment:
- Remote Desktop (RDP): Connect with Windows Remote Desktop or Remmina to
SERVER_IP:3389 - VNC: Connect to
SERVER_IP:5901(if VNC installed) - Webchat: Open
http://SERVER_IP:18789in browser - SSH:
ssh koda@SERVER_IP
Default credentials (change after first login):
- Username: koda
- Password: Set during deployment
Firewall Ports
| Port | Service | Customizable |
|---|---|---|
| 22 (default) | SSH | ✅ Set via SSH_PORT |
| 3389 | XRDP (Remote Desktop) | ❌ |
| 18789 (default) | Koda webchat | ✅ Set via KODA_PORT |
Security
Vault Storage
The Hostinger API token is stored in ~/.openclaw/secrets.json under the key HOSTINGER_API_TOKEN. It is never stored in plaintext in mcporter.json — only a SecretRef pointer is stored there.
Post-Deployment Hardening
# Tailscale (zero-trust VPN — recommended)
ssh root@SERVER_IP 'bash -s' < scripts/security/setup-tailscale.sh
ssh root@SERVER_IP 'bash -s' < scripts/security/lockdown-public.sh
# Or: Cloudflare Tunnel for HTTPS
ssh root@SERVER_IP 'bash -s' < scripts/security/setup-cloudflare-tunnel.sh
| Script | Purpose |
|---|---|
security/setup-ssh-keys.sh |
SSH key-only auth |
security/setup-tailscale.sh |
Zero-trust VPN mesh |
security/setup-cloudflare-tunnel.sh |
HTTPS via Cloudflare |
security/setup-wireguard.sh |
Self-hosted VPN |
security/setup-https.sh |
Let's Encrypt SSL + Nginx |
security/harden-server.sh |
Kernel hardening, auto-updates |
security/lockdown-public.sh |
Remove all public port access |
Reference Files
| File | Purpose |
|---|---|
references/hostinger-backend.ts |
Gateway RPC handlers for Hostinger API |
references/hostinger-views.ts |
UI tab rendering (Lit) |
references/hostinger-controller.ts |
UI state management |
references/hostinger-notes.md |
hPanel navigation notes |
references/identity-setup.md |
Per-agent identity configuration |
references/security-options.md |
Security comparison guide |
VPS Plans
Recommended for Koda/OpenClaw: - KVM 2 (2 GB RAM) — Minimum for headless Koda - KVM 4 (4 GB RAM) — Recommended for GUI + Koda - KVM 8 (8 GB RAM) — Comfortable for heavy workloads
OS: Ubuntu 22.04 or 24.04 LTS
Troubleshooting
Can't connect via RDP?
- Ensure port 3389 is open: sudo ufw status
- Check XRDP status: sudo systemctl status xrdp
Koda not starting?
- Check Docker: docker ps
- View logs: docker logs koda
GUI slow? - XFCE is lightweight but VPS needs 2GB+ RAM - Consider headless mode if GUI not needed
MCP tools not loading?
- Verify token is saved: check ~/.openclaw/secrets.json for HOSTINGER_API_TOKEN
- Run: API_TOKEN=your-token mcporter list hostinger-api