Coding agents that live in a terminal are good at running commands. What they usually don't have is a server of their own to run them on. Connecting the EQVPS MCP server fixes that: the agent gets tools to look up plans, order a VPS, read its SSH details, reboot it, start a sandbox, and about forty more.
This guide covers Claude Code and Codex CLI. For Claude Desktop, Cursor and Cline see Connect EQVPS to your MCP client. We ran every command below on Claude Code 2.1 and Codex CLI 0.164 before publishing.
The server address is the same everywhere:
https://mcp.eqvps.com/mcp
It speaks Streamable HTTP and takes a bearer token in the Authorization header. There's no OAuth sign-in flow yet, so you add the token by hand.
1. Get a token
If you already have an EQVPS account, create one in the dashboard: Settings → API tokens. Otherwise one request makes an account and returns its token:
curl -s -X POST https://api.eqvps.com/api/v1/eqvps/auth/register \
-H "Content-Type: application/json" \
-d '{"first_name":"Ada","last_name":"Lovelace","email":"you@example.com"}'
The token field is long, about a thousand characters. Don't retype it. Put it in a file the agent can't wander into and load it from there:
umask 077; printf '%s' 'PASTE-TOKEN' > ~/.eqvps_token
export EQVPS_TOKEN=$(cat ~/.eqvps_token)
You can also let the agent sign up on its own: connect without a token, ask it to call register_account, then add the server again with the token it got back.
2. Claude Code
claude mcp add --transport http eqvps https://mcp.eqvps.com/mcp \
--header "Authorization: Bearer $EQVPS_TOKEN"
By default the server is added for the current project only. To have it in every project, add -s user. Check that Claude Code can reach it:
claude mcp list
eqvps: https://mcp.eqvps.com/mcp (HTTP) - ✔ Connected
Don't read too much into that green tick. Plans, prices and sign-up work without an account, so the server accepts the connection even with a mistyped token. The token is only checked when the agent touches your account. The quick test is to ask Claude Code "call the eqvps whoami tool": a good token returns your email, a bad one returns a 401 error.
claude mcp get eqvps shows the details. The token is printed there too, so don't paste that output into a chat or a ticket.
One thing to avoid: -s project writes the server into .mcp.json inside your repository. With a literal token in the header that file ends up in git. Use the local or user scope for anything that carries a credential.
3. Codex CLI
Codex can read the token from an environment variable, which keeps it out of the config file altogether:
codex mcp add eqvps --url https://mcp.eqvps.com/mcp --bearer-token-env-var EQVPS_TOKEN
codex mcp list
Name Url Bearer Token Env Var Status Auth
eqvps https://mcp.eqvps.com/mcp EQVPS_TOKEN enabled Bearer token
That writes three lines to ~/.codex/config.toml:
[mcp_servers.eqvps]
url = "https://mcp.eqvps.com/mcp"
bearer_token_env_var = "EQVPS_TOKEN"
The catch: codex mcp list only shows the saved config, it doesn't connect. The connection happens when a session starts, and only if EQVPS_TOKEN is set in that shell. If it isn't, Codex quietly skips the server and the agent simply has no EQVPS tools. Add the export line to your shell profile, or start Codex as EQVPS_TOKEN=$(cat ~/.eqvps_token) codex.
4. First things to ask
Start with something read-only so you can see the tools work:
Call the eqvps whoami tool and tell me which account I'm signed in as.
List the EQVPS plans with a dedicated IPv4 and their monthly prices.
Show my EQVPS balance and my servers.
Then something real:
Order the cheapest EQVPS plan with Ubuntu 24.04, use my key from ~/.ssh/id_ed25519.pub, wait until it's active and give me the SSH command.
If the balance covers the plan, the order is paid on the spot and the server is usually ready in about a minute. If it doesn't, the agent gets an unpaid invoice and a topup_balance link for you to pay in USDT, USDC or ETH on Base, Ethereum or Polygon. After the top-up, ask it to place the same order again (it picks up the unpaid order and pays it from the balance rather than creating a second one), or to call pay_invoice, which pays that invoice from the balance.
The agent will also ask before anything destructive. Reinstalling or deleting a server requires typing its hostname as confirmation, and our tool descriptions tell agents to check with you first.
When it doesn't connect
| Symptom | Likely cause |
|---|---|
✘ Failed to connect in claude mcp list | The address is wrong or the machine has no outbound HTTPS. The token isn't the cause: a bad token still connects. |
whoami or get_balance returns 401 | Token wrong, truncated, revoked or expired. Paste it again from the file, not by hand. |
| Codex has no EQVPS tools | EQVPS_TOKEN not set in the shell that started codex |
Tools answer 401 after a while | The token expired (a year by default) or was refreshed elsewhere. Run refresh_token and update the header or the variable. |
| An order comes back with an unpaid invoice | The balance didn't cover it. Top up, then repeat the same order or call pay_invoice with that invoice. |
Next: what an agent can do with the server once it exists — How an agent runs its own VPS over MCP. Or, if it only needs to run code for a minute, a sandbox is cheaper than a VPS. The full tool list is in the MCP docs.
Comments
No comments yet. Be the first.