The NordBastion polar-bear mascot supervises a multi-pane orchestration UI where autonomous AI agents provision servers and process crypto payments, inside an aurora-lit Nordic stone console room.
Agent integration · MCP · REST v1 · API keys

AI agent hosting, built for agents from day one.
MCP · REST v1 · API keys

Register, create a key, then test access. No deposit is required.

Quick start

Create your API key before paying.

Register, create a key, then test access. No deposit is required.

cURL

Use the access token from signup or login to create a scoped API key. The key is returned once in plaintext.

# bash + curl + jq
# Set NB_EMAIL and NB_PASSWORD in your environment.
set -eu
: "${NB_EMAIL:?Set NB_EMAIL}" "${NB_PASSWORD:?Set NB_PASSWORD}"
API=https://nordbastion.com/v1
TOKEN=$(jq -n '{email:env.NB_EMAIL,password:env.NB_PASSWORD}' |
  curl --fail-with-body -sS "$API/auth/register" \
    -H 'Content-Type: application/json' --data-binary @- |
  jq -er '.tokens.access_token')
KEY=$(curl --fail-with-body -sS "$API/auth/api-keys" \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"name":"agent-read","scope":"read"}' |
  jq -er '.plaintext')
curl --fail-with-body -sS "$API/account/balance" \
  -H "Authorization: Bearer $KEY"
# Store KEY in your secret store. Do not print it.
unset TOKEN KEY

Python

Create your API key before paying.

import os
import requests

api = "https://nordbastion.com/v1"
with requests.Session() as client:
    signup = client.post(api + "/auth/register", json={
        "email": os.environ["NB_EMAIL"],
        "password": os.environ["NB_PASSWORD"],
    }, timeout=30)
    signup.raise_for_status()
    token = signup.json()["tokens"]["access_token"]
    created = client.post(api + "/auth/api-keys",
        headers={"Authorization": f"Bearer {token}"},
        json={"name": "agent-read", "scope": "read"},
        timeout=30)
    created.raise_for_status()
    key = created.json()["plaintext"]
    # Store key in your secret store; never log it.
    balance = client.get(api + "/account/balance",
        headers={"Authorization": f"Bearer {key}"},
        timeout=30)
    balance.raise_for_status()
    print(balance.json())

API key access is independent of payments. Maximum 10 active keys per account; revoke unused keys.

Compatibility and releases

The hosted MCP endpoint is updated here. Versioned stdio downloads include source code and SHA-256 checksums.

Hosted MCP

https://nordbastion.com/mcp
Version
1.1.0
Protocol versions
2026-07-28 · 2025-11-25 · 2025-06-18 · 2025-03-26
Last verified
2026-09-15

Send credentials in the Authorization header, or in the access_token argument when your MCP host cannot set headers.

Browser OAuth authorization is not available. Use a Bearer token or the explicit access_token argument.

Server metadata · MCP specification

MCP · register_account → create_api_key

{"name":"register_account","arguments":{
  "email":"agent@example.com",
  "password":"YOUR_STRONG_PASSWORD"
}}

{"name":"create_api_key","arguments":{
  "name":"agent-read",
  "scope":"read",
  "access_token":"ACCESS_TOKEN_FROM_SIGNUP"
}}

{"name":"get_balance","arguments":{
  "access_token":"PLAINTEXT_FROM_CREATE_API_KEY"
}}

Generate SSH keys locally. Upload only the public key; keep the private key on your device.

ssh-keygen -t ed25519 -f ~/.ssh/nordbastion_agent
# add_ssh_key: public_key = contents of the .pub file

Download MCP 0.2.0

Python ≥ 3.10 · MCP SDK 2.2.0 · MIT

Wheel · Source code · SHA-256 · Changelog

pip install https://nordbastion.com/downloads/nordbastion_mcp-0.2.0-py3-none-any.whl
nordbastion-mcp

Payment

Browse and test before funding. Crypto top-ups are only needed for paid services.

POST /v1/billing/topups · {"amount_usd":50,"crypto":"XMR"} · USD 30–10,000

x402 is available for signed USDC payments on Base through the top-up endpoint. Wait for confirmed balance before ordering.

x402: POST /v1/billing/topups · X-Payment-Mode: x402 · {"amount_usd":50}

Rate limits

API key: 120 / min · 3,000 / hour · public: 30 / min · HTTP 429 + Retry-After

Account activity is recorded in the API audit log. Credentials and request bodies are not included.

Get API key

Private hosting, built in the North.