Hostinger has a native MCP server for Claude Code. Give it access to your account once, then tell it what you want. It provisions the VPS, sets the DNS record, and deploys PageMotor — without you leaving your editor.
A VPS is a real computer that you control, and a few steps below ask you to run a command "on the server". Here is what that means, because it trips up nearly everyone the first time.
Three things, three different jobs:
So when you see a line like chown -R ..., it runs in a terminal on the VPS. Not in Claude, not in CloudPanel.
Two ways to open a terminal on your VPS:
ssh root@YOUR-VPS-IP. Your IP is on the Hostinger VPS page. Enter the root password when prompted. Note: as you type the password nothing appears on screen, no dots or stars. That is normal, just type it and press Enter.The details you swap into commands:
/home/SITEUSER/htdocs/yourdomain.com.When you are finished, type exit to leave. That is the whole mystery solved. The rest of this guide is the easy part.
Log into hPanel and click API in the left sidebar (under Dev tools). You land on the page Hostinger have built specifically for AI coding tools.
Click the Claude Code tab. Then tick the tool categories you want to use. For provisioning a PageMotor VPS you need at minimum:
The others (Websites, Billing, Email Marketing) are useful but optional for this task. You can untick them for a leaner MCP config.
Scroll down on the same page and click Generate API token. It creates a token instantly. Give it a name you will recognise, for example hostinger-cc-api.
The token appears once. Hostinger will not show it again if you refresh or leave the page. Copy it now.
Scroll back up. The page shows a ready-made JSON block you copy straight into your Claude Code config. It looks like this:
Replace every your-token-here with the token you just copied. The full block, with your token in place, is what goes into Claude Code next.
"mcpServers": {
"hostinger-hosting": {
"command": "npx",
"args": ["--package=hostinger-api-mcp@latest", "hostinger-hosting-mcp"],
"env": { "HOSTINGER_API_TOKEN": "YOUR-TOKEN-HERE" }
},
"hostinger-domains": {
"command": "npx",
"args": ["--package=hostinger-api-mcp@latest", "hostinger-domains-mcp"],
"env": { "HOSTINGER_API_TOKEN": "YOUR-TOKEN-HERE" }
},
"hostinger-dns": {
"command": "npx",
"args": ["--package=hostinger-api-mcp@latest", "hostinger-dns-mcp"],
"env": { "HOSTINGER_API_TOKEN": "YOUR-TOKEN-HERE" }
},
"hostinger-vps": {
"command": "npx",
"args": ["--package=hostinger-api-mcp@latest", "hostinger-vps-mcp"],
"env": { "HOSTINGER_API_TOKEN": "YOUR-TOKEN-HERE" }
}
}
Open your Claude Code config file at ~/.claude/config.json (create it if it does not exist). Paste the mcpServers block inside the top-level JSON object.
{
"mcpServers": {
/* paste the hostinger-hosting, hostinger-domains, */
/* hostinger-dns, and hostinger-vps blocks here */
}
}
If you already have other MCP servers in the file, just add the Hostinger entries inside the existing mcpServers object — do not create a second one.
After saving, restart Claude Code so it picks up the new servers. You can confirm they loaded by typing /mcp in a CC session — the Hostinger servers should appear in the list.
/mcp add hostinger-vps npx --package=hostinger-api-mcp@latest hostinger-vps-mcp (repeat for each server). CC adds it to the config for you.Open Claude Code and give it a clear brief. This is the whole prompt — the MCP handles the API calls behind it:
Specify by name or ID — the MCP understands both. IDs confirmed from the live API:
| ID | Location | Good for |
|---|---|---|
18 | Manchester, UK | Ireland, UK, Northern Europe |
15 | Paris, France | Western Europe |
19 | Frankfurt, Germany | Central Europe |
11 | Vilnius, Lithuania | Eastern Europe / Baltic |
24 | Boston 2, USA | US East Coast |
For the technically curious. The MCP translates your plain-English request into a call like this:
POST /api/vps/v1/virtual-machines
{
"item_id": "hostingercom-vps-kvm2-usd-1m", // KVM 2, billed monthly
"setup": {
"template_id": 1096, // Ubuntu 24.04 with CloudPanel
"data_center_id": 18, // Manchester, UK
"hostname": "pagemotor-mysite",
"public_key": "ssh-ed25519 ..." // from ~/.ssh/id_ed25519.pub
}
}
The item_id is the billing price ID, not just the plan name. Monthly and annual differ by suffix:
| Plan | RAM | Monthly price ID | Intro price |
|---|---|---|---|
| KVM 1 | 4 GB | hostingercom-vps-kvm1-usd-1m | $9.99/mo |
| KVM 2 | 8 GB | hostingercom-vps-kvm2-usd-1m | $13.99/mo |
| KVM 4 | 16 GB | hostingercom-vps-kvm4-usd-1m | $25.99/mo |
| KVM 8 | 32 GB | hostingercom-vps-kvm8-usd-1m | $50.99/mo |
Swap -1m for -1y or -2y for annual billing, which is cheaper per month.
1189 — "Ubuntu 24.04 with Claude Code" — which pre-installs the CC CLI on your server. If you want to use Claude Code directly on the VPS itself, swap template_id: 1096 for 1189 and tell CC that in your prompt.Claude Code will use the hostinger-vps MCP to create the server and hostinger-dns to set the DNS record. Provisioning takes three to six minutes. CC polls the API and tells you when the VPS is running.
Once you have the IP and DNS is set, give CC the second brief. It will SSH in and use CloudPanel’s CLI to create the site, database, and SSL certificate, then deploy PageMotor.
Download the ready-made on-box script and drop it in your project folder so Claude Code can reference it:
⇓ Download provision-pagemotor.shYou do not need to run the script yourself. Give Claude Code the file and the prompt above — it reads the script, adapts the commands to your site, and runs them over SSH.
Visit https://mysite.com/admin/ and register your PageMotor admin account. Then install the EP Host Check plugin (available on the EP Suite updates channel) and run it.
You are looking for all 12 checks green, especially PHP can save PageMotor’s files. That one goes red on a locked-down shared host — it should be green here because you are on a proper VPS with correct file ownership.