
Pilotez NordBastion depuis du code.
Sans KYC, payé en crypto, entièrement scriptable.
Inscrivez-vous, créez une clé, puis testez l’accès. Aucun dépôt n’est requis.
Créez votre clé API avant de payer.
Inscrivez-vous, créez une clé, puis testez l’accès. Aucun dépôt n’est requis.
cURL
Utilisez le jeton d’accès obtenu à l’inscription ou à la connexion pour créer une clé API aux permissions limitées. La clé est renvoyée en clair une seule fois.
# 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
Créez votre clé API avant de payer.
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())
L’accès par clé API est indépendant des paiements. Maximum 10 clés actives par compte ; révoquez les clés inutilisées.
Compatibilité et versions
Le point d’accès MCP hébergé est mis à jour ici. Les téléchargements stdio versionnés comprennent le code source et les empreintes SHA-256.
MCP hébergé
https://nordbastion.com/mcp
- Version
- 1.1.0
- Versions du protocole
- 2026-07-28 · 2025-11-25 · 2025-06-18 · 2025-03-26
- Dernière vérification
- 2026-09-15
Envoyez les identifiants dans l’en-tête Authorization, ou dans l’argument access_token si votre client MCP ne permet pas de définir les en-têtes.
L’autorisation OAuth dans le navigateur n’est pas disponible. Utilisez un jeton Bearer ou l’argument explicite access_token.
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"
}}
Générez les clés SSH localement. Transmettez uniquement la clé publique ; conservez la clé privée sur votre appareil.
ssh-keygen -t ed25519 -f ~/.ssh/nordbastion_agent
# add_ssh_key: public_key = contents of the .pub file
Télécharger MCP 0.2.0
Python ≥ 3.10 · MCP SDK 2.2.0 · MIT
Wheel · Code source · SHA-256 · Changelog
pip install https://nordbastion.com/downloads/nordbastion_mcp-0.2.0-py3-none-any.whl
nordbastion-mcp
Référence des points de terminaison
Les SDK Python, TypeScript, Go et Rust ainsi que la CLI sont prévus. Utilisez REST ou MCP dès aujourd’hui.
| Method | Point de terminaison | Portée | État |
|---|---|---|---|
| POST | /v1/auth/register | public | LIVE |
| POST | /v1/auth/login | public | LIVE |
| POST | /v1/auth/login/totp | public | LIVE |
| POST | /v1/auth/token/refresh | public | LIVE |
| POST | /v1/auth/recover | public | PLANNED |
| GET | /v1/auth/sessions | full | LIVE |
| DELETE | /v1/auth/sessions/{token_id} | full | LIVE |
| POST | /v1/auth/totp/setup | full | LIVE |
| POST | /v1/auth/totp/enable | full | LIVE |
| POST | /v1/auth/totp/disable | full | LIVE |
| POST | /v1/auth/password | full | LIVE |
| POST | /v1/auth/api-keys | full | LIVE |
| GET | /v1/auth/api-keys | read | LIVE |
| DELETE | /v1/auth/api-keys/{key_id} | full | LIVE |
| GET | /v1/account | read | LIVE |
| PATCH | /v1/account | full | PLANNED |
| GET | /v1/account/balance | read | LIVE |
| GET | /v1/account/usage | read | LIVE |
| GET | /v1/account/audit-log | read | LIVE |
| GET | /v1/billing/coins | public | LIVE |
| POST | /v1/billing/topups | billing | LIVE |
| GET | /v1/billing/topups | read | LIVE |
| GET | /v1/billing/topups/{order_number} | read | LIVE |
| POST | /v1/billing/topups/{order_number}/cancel | billing | LIVE |
| GET | /v1/billing/bonus-tiers | public | LIVE |
| GET | /v1/catalog | public | LIVE |
| GET | /v1/catalog/vps | public | LIVE |
| GET | /v1/catalog/dedicated | public | LIVE |
| GET | /v1/catalog/bastions | public | LIVE |
| GET | /v1/catalog/images | public | LIVE |
| GET | /v1/catalog/{code} | public | LIVE |
| POST | /v1/servers | servers | LIVE |
| GET | /v1/servers | read | LIVE |
| GET | /v1/servers/{order_number} | read | LIVE |
| PATCH | /v1/servers/{order_number} | servers | LIVE |
| DELETE | /v1/servers/{order_number} | servers | LIVE |
| POST | /v1/ssh-keys | servers | LIVE |
| GET | /v1/ssh-keys | read | LIVE |
| GET | /v1/ssh-keys/{id} | read | LIVE |
| DELETE | /v1/ssh-keys/{id} | servers | LIVE |
| POST | /v1/webhooks | full | LIVE |
| GET | /v1/webhooks | read | LIVE |
| DELETE | /v1/webhooks/{id} | full | LIVE |
| POST | /v1/webhooks/{id}/test | full | LIVE |
| GET | /v1/transparency/canary | public | LIVE |
| GET | /v1/transparency/peering | public | LIVE |
| GET | /v1/transparency/status | public | LIVE |
| GET | /v1/agents/directory | public | LIVE |
| POST | /v1/agents/directory | full | LIVE |
| POST | /v1/oauth/register | public | LIVE |
| POST | /v1/oauth/token | public | LIVE |
| POST | /v1/oauth/revoke | public | LIVE |
| GET | /v1/oauth/introspect | public | LIVE |
Paiement
Explorez et testez avant d’alimenter votre compte. Les recharges en cryptomonnaie sont nécessaires uniquement pour les services payants.
POST /v1/billing/topups · {"amount_usd":50,"crypto":"XMR"} · USD 30–10,000
x402 permet les paiements USDC signés sur Base via le point d’accès aux recharges. Attendez la confirmation du solde avant de commander.
x402: POST /v1/billing/topups · X-Payment-Mode: x402 · {"amount_usd":50}
Limites de débit
API key: 120 / min · 3,000 / hour · public: 30 / min · HTTP 429 + Retry-After
L’activité du compte est consignée dans le journal d’audit de l’API. Les identifiants et le contenu des requêtes en sont exclus.
Obtenir une clé API