BorealHost MCP Server
Agent-native web hosting tools for the Model Context Protocol.
Connect any MCP-compatible AI agent to BorealHost.ai — purchase hosting, deploy sites, manage DNS, register domains, and scale infrastructure, entirely through tool calls.
Quick Start
Remote Server (Recommended)
No installation needed. Connect directly to the hosted server:
{
"mcpServers": {
"borealhost": {
"type": "streamable-http",
"url": "https://borealhost.ai/mcp/"
}
}
}
Local Installation (pip)
pip install borealhost-mcp
Then run:
borealhost-mcp
Or add to your MCP client config:
{
"mcpServers": {
"borealhost": {
"command": "borealhost-mcp"
}
}
}
Environment Variables
| Variable | Description |
|---|---|
BOREALHOST_BASE_URL |
API base URL (default: https://borealhost.ai) |
BOREALHOST_API_KEY |
Pre-configured API key (optional — you can also call register() or set_api_key() at runtime) |
What Can It Do?
BorealHost MCP exposes 47 tools across the full hosting lifecycle:
Authentication & Identity
register— Create an agent account and get an API key (no auth needed)set_api_key— Activate an existing key for the sessionwhoami— Verify your key and check account inforequest_api_key/claim_api_key— Challenge-response auth for on-site agents
Plan Discovery & Checkout
list_plans— Browse hosting plans with pricing (CAD)create_checkout/update_checkout/complete_checkout/get_checkout_status— Full purchase flow with Stripe
Site Management
get_site_status— Check site health, resources, and configurationmanage_dns— Create and delete DNS records (A, AAAA, CNAME, MX, TXT, SRV)deploy— Trigger site deploymentscale— Upgrade or downgrade hosting plandecommission— Delete site (7-day grace period)
Applications
install_app— Install from templates: Django, Laravel, Next.js, Node.js, Nuxt.js, Rails, staticget_app_status/list_apps— Monitor installations
File Management
list_files/read_file/write_file/upload_file/delete_file— Full filesystem access
Snapshots & Backups
list_snapshots/create_snapshot/delete_snapshot/rollback_snapshot— Local snapshotscreate_b2_snapshot— Cloud-backed snapshots (Backblaze B2)schedule_snapshot/cancel_scheduled_snapshot— Scheduled snapshotsget_snapshot_usage— Check quotalist_backups/create_backup/restore_backup— Automatic and manual backups
Domains
search_domain— Check availability and pricingregister_domain— Register with WHOIS info (supports .ca, .com, .net, etc.)list_domains/domain_detail— Manage owned domains
SSH & Logs
get_ssh_info/add_ssh_key— SSH access for VPS plansget_logs— Retrieve error, access, and PHP logs
Modules
list_modules/toggle_module— Enable/disable AI modules (SEO, translation, content)
Account & Billing
update_account/delete_account— Profile managementlist_subscriptions/get_billing_portal— Billing info and Stripe portalrotate_key— Rotate API keysget_metrics— Traffic and performance metrics
Resources
The server exposes 5 MCP resources for structured reference data:
| URI | Description |
|---|---|
borealhost://api/errors |
Error codes with HTTP status and recovery guidance |
borealhost://api/scopes |
API key scope hierarchy and tool requirements |
borealhost://api/enums |
Valid enum values (checkout status, DNS types, log types, etc.) |
borealhost://api/response-format |
API response envelope documentation |
borealhost://plans |
Live plan catalog with current pricing |
Prompts
5 guided workflow prompts for common operations:
purchase_hosting— Step-by-step plan purchase flowsetup_site— Post-purchase site configurationmanage_dns— Common DNS operationsregister_domain— Domain registration with WHOIS checklistclaim_site_key— Challenge-response key claiming
Example Workflow
Agent: register()
→ {"api_key": "bh_...", "scopes": ["read", "write"]}
Agent: list_plans()
→ [{"slug": "starter", "price_monthly": 9.99, ...}, ...]
Agent: create_checkout("bh_site_starter_monthly")
→ {"checkout_id": "chk_...", "checkout_secret": "..."}
Agent: update_checkout("chk_...", requested_slug="my-new-site")
→ {"status": "ready"}
Agent: complete_checkout("chk_...")
→ {"payment_url": "https://borealhost.ai/pay/chk_.../?s=...",
"confirmation_url": "https://borealhost.ai/pay/chk_.../confirmation/?s=..."}
# show payment_url to the human; paying provisions the site
Agent: get_checkout_status("chk_...") # poll until completed
→ {"status": "completed", "api_key": "bh_...", # shown ONCE
"site": {"slug": "my-new-site", "status": "active"}}
Agent: get_site_status("my-new-site")
→ {"status": "active", "url": "https://my-new-site.borealhost.ai"}
Authentication
- API key format:
bh_+ 48 hex characters - Scopes:
read(view) →write(modify) →admin(delete/scale) - No auth needed for:
list_plans,create_checkout,update_checkout,complete_checkout,get_checkout_status - Keys are shown once on creation — store immediately
Requirements
- Python 3.10+
- Dependencies:
mcp[cli]>=1.2.0,httpx>=0.27.0
Links
License
Proprietary. Copyright 2025-2026 BorealHost.ai. All rights reserved.
Metadata
Release files for borealhost-mcp 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| borealhost_mcp-0.4.2.tar.gz | 46.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| borealhost_mcp-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 95.6 kB
Release files / borealhost_mcp-0.4.2.tar.gz
| Download URL | borealhost_mcp-0.4.2.tar.gz |
|---|---|
| Size | 46.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fcc1e995ed47652c01b91c0045b706c1f56cfe55b1f1687179e72e503622315
|
|
BLAKE2b-256 checksum How to use checksums |
ea9b6b5e1230a96dfb13b88ba3bdc1ad719285779c313533c97c553bd9df17b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / borealhost_mcp-0.4.2-py3-none-any.whl
| Download URL | borealhost_mcp-0.4.2-py3-none-any.whl |
|---|---|
| Size | 49.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a12c21a469f6bb66a16aa93658f8e43e0116a055598b6e59903ba56355d57778
|
|
BLAKE2b-256 checksum How to use checksums |
363ce8bd3d00bf9a1f1deeda1c3482744bd8ca43d40b5cfde3b1d8c549c41e24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|