# io.github.Poiuyhje/eqvps (remote · mcp.eqvps.com)

No-KYC VPS an AI agent buys itself: sign up, pay crypto, get root. No human, no card, no KYC.

- Trust score: 64/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.eqvps.com`: 64/100 (this document), [markdown](https://verifymcp.io/servers/poiuyhje-eqvps/mcp.md), [page](https://verifymcp.io/servers/poiuyhje-eqvps/mcp)

## Channel facts

- Endpoint: `https://mcp.eqvps.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 26 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2087 tokens (~80/item across 26 items; 26 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http poiuyhje-eqvps https://mcp.eqvps.com/mcp
```

### Codex

```toml
[mcp_servers.poiuyhje-eqvps]
url = "https://mcp.eqvps.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "poiuyhje-eqvps": {
      "type": "remote",
      "url": "https://mcp.eqvps.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add poiuyhje-eqvps --url https://mcp.eqvps.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  poiuyhje-eqvps:
    url: "https://mcp.eqvps.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "poiuyhje-eqvps": {
      "type": "http",
      "url": "https://mcp.eqvps.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 64, +1)

- [security] Tool “reset_password” rewrote its description, which is the text the model reads
- [security] Tool “get_vps_status” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 69 → 80
- [functional] New tool “close_ticket”
- [functional] New tool “create_ticket”
- [functional] New tool “get_ticket”
- [functional] New tool “list_tickets”
- [functional] New tool “reply_ticket”
- [cosmetic] “get_vps_status” added an optional parameter “reveal”

### 2026-08-01 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 61, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 59, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 59)

First indexed and scored.

## MCP tools (26)

### `list_plans` (~56 tokens)

List VPS plans

List all available VPS plans (catalog) with pricing, specs and the OS images each plan can boot. No authentication needed. Use this first to pick a `product` slug and an `os_id` for `order_vps`.

### `register_account` (~81 tokens)

Register a new account

Create a new EQVPS customer account with first_name, last_name, email. Returns a bearer `token` — store it and send it as `Authorization: Bearer <token>` on every following request. No password or human step needed.

Input parameters:

- `email` (string, required)
- `first_name` (string, required)
- `last_name` (string, required)

### `login` (~49 tokens)

Log in

Log in with email + password. Returns a bearer `token` to send as `Authorization: Bearer <token>` on subsequent requests.

Input parameters:

- `email` (string, required)
- `password` (string, required)

### `whoami` (~29 tokens)

Current account

Return the authenticated account profile (id, name, email). Use to verify the bearer token is valid.

### `get_balance` (~33 tokens)

Get prepaid balance

Return the account's prepaid credit balance and currency. `order_vps` spends from this balance automatically when it is sufficient.

### `topup_balance` (~75 tokens)

Top up balance

Create a top-up invoice and return a `checkout_url` (PayRam crypto checkout). The balance is credited automatically once the on-chain payment confirms. `amount` is in account currency (USD); minimum and maximum are enforced server-side. Only one unpaid top-up may exist at a time.

Input parameters:

- `amount` (number, required)

### `order_vps` (~185 tokens)

Order a VPS

Order a VPS. `product` = plan slug from list_plans; `os_id` = an OS id from that plan's images. Optional `hostname` and `ssh_key` (public key — strongly recommended so you get key-based root login).

Branching on the response:
• `paid_from_balance: true` → the prepaid balance covered it; the server is provisioning. Poll `get_vps_status` until status is `active` and the VM is reachable.
• `paid_from_balance: false` → balance was insufficient; an unpaid `invoice` is returned. Call `pay_invoice` with `invoice.id` to get a crypto `checkout_url`, OR `topup_balance` then re-order.

Input parameters:

- `hostname` (string)
- `os_id` (integer, required)
- `product` (string, required)
- `ssh_key` (string)

### `pay_invoice` (~51 tokens)

Pay an invoice

Initiate payment for an owned, unpaid invoice. Returns a PayRam `checkout_url`; the invoice settles (and the VPS provisions) automatically once the on-chain payment confirms.

Input parameters:

- `invoice_id` (integer, required)

### `list_vps` (~71 tokens)

List my VPS

List the account's ACTIVE VPS services — active, provisioning, and suspended servers (deleted/cancelled are excluded). Use the `id` as `service_id` for the management tools. If a server is missing from this list it has been deleted — do not query its status or try to manage it.

### `get_vps_status` (~341 tokens)

Get VPS status & access

Get full detail for one VPS: status, specs, live VM state/uptime, and SSH access info (host, port, ready-to-paste `command`). ROOT PASSWORD (keyless VPS): call with `reveal: true` to retrieve it. It is shown ONCE, and only after the VM has finished booting — at that moment the password is applied to the live VM, so it is guaranteed to work. While the VM is still booting the response carries `password_pending: true` and NO password; just call again with `reveal: true` in ~30-60s (the one-time reveal is NOT spent until a password is actually returned — no reset or reboot needed). Without `reveal`, `password_available: true` means a password is waiting to be revealed. If you supplied an SSH key at order time, log in with that key (no password); `ssh_ready: false` means the VM is still booting — retry shortly. Use `reset_password` ONLY if the password is lost. Poll this (without `reveal`) after `order_vps` to watch provisioning reach `active`. NAT plans (no dedicated IP): the SSH `port` shown is an EXTERNAL DNAT port forwarded to the VM internal port 22 (`internal_port` in the response). If you configure a host firewall, allow the INTERNAL port — `ufw allow OpenSSH` — NOT the external port, or `ufw enable` will lock SSH out. See `firewall_note` in the response.

Input parameters:

- `reveal` (boolean)
- `service_id` (integer, required)

### `power_vps` (~40 tokens)

Power control

Power-control a VPS: `start`, `stop` or `reboot`.

Input parameters:

- `action` (string, required)
- `service_id` (integer, required)

### `set_hostname` (~39 tokens)

Set hostname

Set the VPS hostname (valid DNS label; applied on next reboot/rebuild).

Input parameters:

- `hostname` (string, required)
- `service_id` (integer, required)

### `reset_password` (~153 tokens)

Reset root password

Rotate the root password. The new password is applied to the LIVE VM immediately via the guest-agent (no reboot) and works within ~10-30s; the OLD password stops working. REQUIRES confirm = exact hostname (from get_vps_status) or 'DELETE'. Agent must confirm with the human before calling. Use this ONLY if the password was lost — NOT because SSH was not instant on a fresh order (a new VM needs ~60s to boot; poll get_vps_status with reveal:true instead). New password is NOT in this response — read it ONCE via get_vps_status (reveal:true); also emailed.

Input parameters:

- `confirm` (string, required)
- `service_id` (integer, required)

### `reinstall_vps` (~102 tokens)

Reinstall OS

DESTRUCTIVE — all data is lost. REQUIRES confirm = exact hostname (from get_vps_status) or 'DELETE'. Agent must explicitly confirm with the human before calling. Wipes and reinstalls the VPS with the given OS image (`os_id` from list_plans). Provisioning runs asynchronously; poll `get_vps_status`.

Input parameters:

- `confirm` (string, required)
- `os_id` (integer, required)
- `service_id` (integer, required)

### `get_vps_metrics` (~59 tokens)

Get VPS metrics

Time-series resource metrics (CPU %, memory, network, disk) for a VPS. `timeframe` ∈ hour|day|week|month (default hour).

Input parameters:

- `service_id` (integer, required)
- `timeframe` (string)

### `cancel_service` (~150 tokens)

Cancel a VPS

Cancel a VPS. DEFAULT `end_of_period`: the server stays active until the end of the already-paid period, then is simply not renewed — NO data loss now, safe. `immediate` DESTROYS the VM and ALL data right away, permanently and irreversibly, and REQUIRES `confirm` set to the exact server hostname (see get_vps_status). Use end_of_period unless you explicitly intend to wipe the server now. On `immediate`, the unused portion of the already-paid period is refunded to your account balance (see `refund_amount` in the response).

Input parameters:

- `confirm` (string)
- `service_id` (integer, required)
- `type` (string)

### `delegate_service` (~91 tokens)

Delegate service access

Grant OPERATOR access to one of YOUR VPS to another person by email (they can power/reinstall/console/hostname/rdns, but NOT renew, cancel or change billing). Sends them an invitation with an accept link. Optional `expires_days` for time-limited access. Owner-only.

Input parameters:

- `email` (string, required)
- `expires_days` (integer)
- `service_id` (integer, required)

### `accept_delegation` (~50 tokens)

Accept delegated access

Accept a delegation invitation using the `token` from the invite link. Creates/links your account and grants operator access. Returns a bearer token for the delegated account.

Input parameters:

- `token` (string, required)

### `list_delegations` (~36 tokens)

List delegations I granted

List outgoing delegations you (the owner) have granted on your services — who has operator access to what, and its status.

### `list_delegated_to_me` (~32 tokens)

List services delegated to me

List services other owners have delegated operator access to you — the VPS you can operate but don't own.

### `revoke_delegation` (~61 tokens)

Revoke a delegation

Revoke a delegation by its id (owner revokes access, or a delegate declines their own). The other side is notified. Use list_delegations / list_delegated_to_me to find the id.

Input parameters:

- `delegation_id` (integer, required)

### `create_ticket` (~83 tokens)

Open a support ticket

Open a support ticket with EQVPS. `subject` and `message` are required; optional `service_id` ties it to one of your VPS. The response includes the ticket `code` — use that with get_ticket / reply_ticket / close_ticket.

Input parameters:

- `message` (string, required)
- `service_id` (integer)
- `subject` (string, required)

### `list_tickets` (~37 tokens)

List support tickets

List your support tickets with status and last-message info. `last_message_author: "staff"` means support has replied since you last looked.

### `get_ticket` (~70 tokens)

Read a support ticket

Read one ticket and its full message thread. Each message has an `author`: `you` or `staff` — a `staff` message is a reply from support. Poll this to see new answers. The ticket code comes from create_ticket / list_tickets.

Input parameters:

- `ticket_code` (string, required)

### `reply_ticket` (~44 tokens)

Reply to a support ticket

Post a reply on one of your tickets. Use the ticket code from create_ticket / list_tickets.

Input parameters:

- `message` (string, required)
- `ticket_code` (string, required)

### `close_ticket` (~69 tokens)

Close a support ticket

Close one of your tickets. `rating` (1-5) and `comment` are OPTIONAL — you can close without rating. Use the ticket code from create_ticket / list_tickets.

Input parameters:

- `comment` (string)
- `rating` (integer)
- `ticket_code` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/poiuyhje-eqvps/mcp#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 63
- 2026-08-01: 63
- 2026-07-31: 62
- 2026-07-30: 61
- 2026-07-29: 61
- 2026-07-28: 60
- 2026-07-27: 59
- 2026-07-26: 59

## Links

- Remote endpoint: https://mcp.eqvps.com/mcp
- Repository: https://github.com/Poiuyhje/eqvps-mcp
- Website: https://eqvps.com/
- Changelog RSS feed: https://verifymcp.io/servers/poiuyhje-eqvps/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/poiuyhje-eqvps/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/poiuyhje-eqvps/mcp
