MCP — the Model Context Protocol — is how Claude, Cursor, and a growing list of clients call external tools. Most people start with a local stdio server: fine on your own laptop, invisible to everything else.
The moment you want that tool reachable from more than one place — Claude on your phone, a teammate's editor, an agent running on another box — you need a remote MCP endpoint: a public address, HTTPS, and something that keeps running when you close your laptop.
That's a small server. This is how to set one up.
What an MCP server needs
Not much. Most MCP servers are thin: they translate tool calls into API requests or database queries. The requirements come from exposure, not compute:
- A public IP and a domain. Remote MCP is HTTP(S). You need inbound traffic, which means a dedicated-IP plan — our NAT plans don't accept it.
- TLS. Clients will not talk to a plain-HTTP endpoint, and you shouldn't want them to.
- Authentication. Your MCP server is a set of tools someone can invoke. Bearer tokens at minimum, always.
- Uptime. An MCP endpoint that's down is a tool that silently doesn't exist.
Nano-IP ($8/mo — 2 vCPU, 1 GB RAM, own public IPv4) covers a typical MCP server comfortably.
Setup, with Caddy for TLS
# Ubuntu 24.04, dedicated-IP plan; point your domain's A record here first
apt update && apt install -y nodejs npm caddy git
# Your MCP server (streamable-http transport, listening on localhost)
git clone https://github.com/you/your-mcp.git /opt/mcp
cd /opt/mcp && npm install && npm run build
# systemd — restart on crash, start on boot
cat >/etc/systemd/system/mcp.service <<'EOF'
[Unit]
Description=MCP Server
After=network.target
[Service]
WorkingDirectory=/opt/mcp
ExecStart=/usr/bin/node dist/index.js
Restart=always
Environment=PORT=3000
Environment=MCP_TOKEN=long_random_secret
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload && systemctl enable --now mcp
# Caddy fetches a Let's Encrypt cert automatically
cat >/etc/caddy/Caddyfile <<'EOF'
mcp.yourdomain.com {
reverse_proxy localhost:3000
}
EOF
systemctl reload caddy
Point your client at https://mcp.yourdomain.com with a bearer token, and your tools are available to Claude from anywhere.
Never expose an MCP server without authentication. It's a remotely callable set of tools attached to your systems — treat it like an API key, not a blog.
We run one too
Ours exposes EQVPS itself as tools: an agent can list plans, create a server, read back its SSH details, and terminate it — paying from a prepaid crypto balance, with no human in the loop.
Which means two things. First, when our docs describe hosting an MCP server, it's not theory — /docs is the same setup we run in production. Second, your agent can provision the box its own MCP server runs on. That loop closes.
Why here
No KYC, crypto payment. Email to register, USDC or USDT to pay. A tool endpoint for a side project shouldn't require a passport. New to crypto?
Picking a plan
| Your MCP server | Plan | Price |
|---|---|---|
| Wraps an API or database — the usual case | Nano-IP | $8/mo |
| Does real work (scraping, processing) | Small-IP | $16/mo |
| Runs alongside an agent on the same box | AI-Agent-IP | $15/mo |
Dedicated-IP plans — you need inbound HTTPS. Full root, NVMe, unmetered traffic, Germany or Finland.
Related reading
- Host an MCP server — the long walkthrough
- EQVPS MCP tools reference — what our own server exposes
- VPS for AI agents
Ready? Deploy an MCP server → — live in about a minute, paid in crypto, no ID required.