Skip to main content
Glama

NordBastion MCP server

Provision KYC-free, crypto-paid Nordic VPS and dedicated servers from any AI agent — Claude, Cursor, Zed, Continue, or your own MCP client.

License: MIT Python 3.10+ MCP Ruff

nordbastion-mcp exposes the NordBastion API as Model Context Protocol tools, so an AI assistant can do the whole hosting workflow in natural language: compare VPS tiers, pick a Nordic region, top up with Monero or Bitcoin, and spin up an anonymous server — without you ever touching a dashboard.

NordBastion is a privacy-first hosting provider running four bastions in Stockholm, Helsinki, Oslo and Reykjavík. Accounts need only an email and a password — no name, phone number, or ID document, ever — and billing is crypto-native. The API was built for agents from day one (scoped API keys, OAuth 2.1 with Dynamic Client Registration, a public agent directory), which makes it a natural fit for MCP.


Why this exists

Agentic workflows increasingly need infrastructure on demand: a throwaway box to run a scraper, a WireGuard VPN, a Tor hidden service, or a self-hosted Lightning node. This server lets the agent do that end-to-end against a host that doesn't demand identity documents and accepts Monero and Bitcoin.

Related MCP server: agentmetal/mcp

Install & run

The server speaks MCP over stdio, so any MCP client launches it as a subprocess. The simplest path uses uv (no manual virtualenv):

uvx nordbastion-mcp

Or install it into your environment with pip / pipx:

pip install nordbastion-mcp
# the console script is then on your PATH:
nordbastion-mcp

Want the latest unreleased code? Install straight from source instead: uvx --from git+https://github.com/CryptoServers/nordbastion-mcp nordbastion-mcp

Configuration

Variable

Required

Default

Purpose

NORDBASTION_API_KEY

for authenticated tools

An nb_live_* API key (mint it in the panel or via create_api_key) or an nb_at_* OAuth token.

NORDBASTION_BASE_URL

no

https://nordbastion.com/v1

Override the API base URL (testing/self-host).

Public tools — list_vps, list_dedicated, list_bastions, list_os_images, list_coins, get_status, get_canary, get_peering — work with no key at all.

Claude Desktop

Add to claude_desktop_config.json (see examples/):

{
  "mcpServers": {
    "nordbastion": {
      "command": "uvx",
      "args": ["nordbastion-mcp"],
      "env": { "NORDBASTION_API_KEY": "nb_live_xxxxxxxxxxxxxxxx" }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "nordbastion": {
      "command": "uvx",
      "args": ["nordbastion-mcp"],
      "env": { "NORDBASTION_API_KEY": "nb_live_xxxxxxxxxxxxxxxx" }
    }
  }
}

Try it

Once connected, ask your assistant things like:

  • "List NordBastion's VPS tiers and tell me the cheapest one with 4 GB RAM."

  • "Top up my balance with $30 of Monero and wait for it to confirm."

  • "Provision an NB-V2 in Helsinki running Debian 13, hostname wg-gw, and show me the root password."

  • "What's the current status of the Reykjavík bastion?"

There's also a built-in onboard_to_nordbastion prompt that drives the full account → top-up → order flow.

Tools

34 tools, mapped 1:1 onto the REST API. Tools marked public need no API key.

Group

Tools

Catalog (public)

list_catalog, list_vps, list_dedicated, list_bastions, list_os_images

Transparency (public)

get_status, get_canary, get_peering

Billing

list_coins (public), list_bonus_tiers (public), create_topup, get_topup, list_topups, cancel_topup

Servers

order_server, list_servers, get_server, cancel_server

Account

get_account, get_balance, get_audit_log

SSH keys

add_ssh_key, list_ssh_keys, remove_ssh_key

Auth

register_account, login, login_totp, refresh_token, create_api_key, list_api_keys, revoke_api_key

Webhooks

create_webhook, list_webhooks, delete_webhook

Resources

  • nordbastion://catalog — full catalog bundle (JSON)

  • nordbastion://coins — accepted cryptocurrencies (JSON)

  • nordbastion://canary — latest warrant canary excerpt (JSON)

  • nordbastion://doctrine — the operating principles (text)

How it works

AI agent ──MCP/stdio──▶ nordbastion-mcp ──HTTPS──▶ https://nordbastion.com/v1

The registry in tools.py mirrors NordBastion's own server-side MCP catalog and binds each tool to its REST endpoint, so the surface stays in lock-step with the upstream API. Authentication is a single bearer credential; nothing is cached to disk.

Security

  • Your API key lives only in the client's environment — never written to disk by this server.

  • Scope your key: read, billing, servers, or full. Use the narrowest scope an agent needs and an IP allow-list where possible.

  • order_server and create_topup move real money/balance. Review your agent's confirmations before granting servers/billing/full scope.

Development

git clone https://github.com/CryptoServers/nordbastion-mcp
cd nordbastion-mcp
uv venv && uv pip install -e . ruff
python -m nordbastion_mcp   # starts the stdio server
ruff check .

License

MIT © NordBastion OÜ. This is an open-source client for the NordBastion API; "NordBastion" is a trademark of NordBastion OÜ.

Related MCP Connectors

Related MCP Servers