nordbastion-mcp
Provision KYC-free, crypto-paid Nordic VPS and dedicated servers from any AI agent. Enables natural language hosting workflows including comparison, top-up, and provisioning of anonymous servers.
README
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.
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.
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-V2in Helsinki running Debian 13, hostnamewg-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, orfull. Use the narrowest scope an agent needs and an IP allow-list where possible. order_serverandcreate_topupmove real money/balance. Review your agent's confirmations before grantingservers/billing/fullscope.
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 .
Links
- 🌐 Website — https://nordbastion.com
- 📚 API reference — https://nordbastion.com/api/
- 🧭 Guides (anonymous VPS, Monero, Tor, WireGuard…) — https://nordbastion.com/guides/
- 🔒 Warrant canary — https://nordbastion.com/warrant-canary/
- 📡 Status — https://nordbastion.com/status/
License
MIT © NordBastion OÜ. This is an open-source client for the NordBastion API; "NordBastion" is a trademark of NordBastion OÜ.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.