# Hostingsurge > Hostingsurge is a hosting platform (similar to Vercel) for web apps, static sites, Docker images, WordPress sites, managed databases, S3-compatible object storage and email. AI agents can deploy, migrate and operate projects through an MCP server, a CLI and a REST API, authenticated with OAuth 2.1 sign-in (MCP clients) or a Bearer token. Authentication: MCP clients that support OAuth (claude.ai and Claude Desktop custom connectors, ChatGPT custom MCP servers, Claude Code, Cursor, VS Code, Google Antigravity, Codex, Gemini CLI, Devin Desktop (formerly Windsurf), Zed, Goose) just add the MCP URL and the user signs in with Hostingsurge and approves the access. Otherwise create an API token in the Hostingsurge dashboard (Settings → API & MCP keys; a token covers the whole team or selected projects) and send `Authorization: Bearer `. Never ask the user to paste a token into a chat; put it in the client configuration or in the `HOSTINGSURGE_TOKEN` environment variable. ## Start here: when the user says "deploy this", "host this" or "put this online" 1. Account: no account yet? The user creates one at https://hostingsurge.com/account/signup (a Free plan exists; plans and limits: https://hostingsurge.com/pricing) and signs in at https://hostingsurge.com/account/login. Every project gets its own HTTPS URL as soon as it is deployed. 2. Connect: if the Hostingsurge MCP tools are not in your tool list, add the MCP server `https://hostingsurge.com/mcp` to your client (the lines below say how, per app); the user signs in and approves the access, there is no key to copy. In a terminal without MCP, use the CLI with a token the user created (`HOSTINGSURGE_TOKEN`, section CLI). 3. Pick the path by what "this" is: - Code in the workspace or the conversation (static HTML, Vite/React, Next.js, Astro, Node, Python, a Dockerfile …): `deploy_files {name, files: [{path, content}]}` with the COMPLETE file set (up to 1000 files / 8 MiB; leave out node_modules, build output and .env files). The framework is detected automatically. Bigger projects: `hostingsurge deploy [dir] --name ` (CLI) or a Git repository. - A Git repository URL: `create_project {name, sourceType: "git", repoUrl, branch}` (a private GitHub repository needs the Hostingsurge GitHub app: `installationId`). - A Docker image: `create_project {name, sourceType: "image", image, tag, port}`. - A known app or CMS (WordPress, n8n, Ghost, Umami, Nextcloud …) or a framework starter: `list_templates {search}` → `deploy_template {template}` → `get_template_install {project}` until it is ready. - Only an idea, no code yet: `builder_start {prompt}` (the AI builder writes the site and hosts it). - A site that runs somewhere else (Vercel, Netlify, any Git host, cPanel or WordPress, a database): `migration_start {source}` → check the preview with the user → `migration_cutover` only after they agree. 4. Follow the build: `get_deployment {project, waitSeconds: 20}` until the state is ready or error. On error: `get_build_logs {project, tail: 200}`, fix the code (`deploy_files`), the build settings (`update_project`) or the variables (`set_env`) and deploy again; errors while the app runs: `get_runtime_logs`. Needs a database: `create_database {name, engine, project}` connects it (DATABASE_URL), then `deploy_project`. 5. Done means the deployment is ready and its URL answers: give the user the URL and say what you did. Their own domain: `add_domain {project, hostname}` and relay the DNS records exactly; HTTPS follows by itself. Ask the user before anything destructive (deleting a project or a variable, rolling back, stopping an app). ## MCP server (recommended for AI clients) - Endpoint: `https://hostingsurge.com/mcp` — MCP Streamable HTTP, stateless: JSON-RPC 2.0 over POST, JSON responses, no session id. Header: `Authorization: Bearer `. - Tools listed by default: a compact core set (about 35 everyday tools) plus `find_tools` (finds any Hostingsurge tool by what it does, with its input schema), `call_read_tool` (runs a tool that only reads, by name) and `call_tool` (runs a tool that changes something, by name), which together reach every tool below; the listed tools are called directly. That keeps clients with a tool cap working as they are (Antigravity refuses servers with more than 100 tools, Devin Desktop allows 100 in total, Cursor degrades above about 40, VS Code caps about 128). Clients that handle many tools can send the header `X-Hostingsurge-Tools: all` to list every tool directly. ChatGPT and Codex signed in with OAuth list the core tools only, each one by itself and without the three gateway tools (OpenAI's plugin directory does not allow tools that run other, unlisted tools); Codex can send the header (`http_headers` under `[mcp_servers.hostingsurge]` in `~/.codex/config.toml`) to list every tool. - Install guide for every AI app, with one-click links for Claude, Cursor and VS Code: https://hostingsurge.com/integrations/ai - claude.ai / Claude Desktop / Claude mobile: Customize → Connectors → Add custom connector → URL `https://hostingsurge.com/mcp` → Add → Connect → sign in to Hostingsurge → Allow access (Team and Enterprise: an owner adds it first under Organization settings → Connectors). - ChatGPT (web): https://chatgpt.com/plugins → + → Add custom MCP server → URL `https://hostingsurge.com/mcp`, authentication OAuth → Create as a plugin → sign in to Hostingsurge → Allow access. Developer mode is no longer needed; write actions (deploy, delete) need a Business, Enterprise or Edu plan, Plus and Pro are read-only. - Claude Code: `claude mcp add --transport http --scope user hostingsurge https://hostingsurge.com/mcp` then `/mcp` → hostingsurge → Authenticate (or add `--header "Authorization: Bearer "`). - Cursor: `{"mcpServers": {"hostingsurge": {"url": "https://hostingsurge.com/mcp"}}}` in `~/.cursor/mcp.json`, then Customize (sidebar) → Connect. VS Code: `{"servers": {"hostingsurge": {"type": "http", "url": "https://hostingsurge.com/mcp"}}}` in `.vscode/mcp.json`. Both sign in with OAuth; add `"headers": {"Authorization": "Bearer "}` to use a token instead. - Google Antigravity: agent panel … → MCP Servers → Manage MCP Servers → View raw config opens `mcp_config.json` (`~/.gemini/config/mcp_config.json`; Windows `%USERPROFILE%\.gemini\config\mcp_config.json`): `{"mcpServers": {"hostingsurge": {"serverUrl": "https://hostingsurge.com/mcp"}}}` (the key must be `serverUrl`; `url` and `httpUrl` are not read). Then Agent settings (Ctrl+,) → Customizations → Installed MCP Servers → Refresh → Authenticate next to hostingsurge, sign in to Hostingsurge, Allow access, and paste the code the antigravity.google callback page shows → Submit. agy CLI: `/mcp` → hostingsurge → Authenticate. Token instead: `"headers": {"Authorization": "Bearer "}` beside `serverUrl`. - Codex: `codex mcp add hostingsurge --url https://hostingsurge.com/mcp` then `codex mcp login hostingsurge` (token instead: `--bearer-token-env-var HOSTINGSURGE_TOKEN`, or `bearer_token_env_var = "HOSTINGSURGE_TOKEN"` under `[mcp_servers.hostingsurge]` in `~/.codex/config.toml`). - Gemini CLI: `gemini mcp add --scope user --transport http hostingsurge https://hostingsurge.com/mcp` then `/mcp auth hostingsurge`. - Devin Desktop (formerly Windsurf): Cascade panel → … → MCPs → Open MCP config file (Windows `%APPDATA%\devin\mcp_config.json`, older installs `~/.codeium/windsurf/mcp_config.json`): `{"mcpServers": {"hostingsurge": {"url": "https://hostingsurge.com/mcp"}}}` (`url` is read by both Cascade and the default Devin agent) → Refresh → sign in; Devin CLI: `devin mcp add -s user hostingsurge https://hostingsurge.com/mcp` then `devin mcp login hostingsurge`. Zed: `{"context_servers": {"hostingsurge": {"url": "https://hostingsurge.com/mcp"}}}`. - Goose: a Streamable HTTP extension (`type: streamable_http`, `uri: https://hostingsurge.com/mcp`), signs in by itself. LM Studio: `{"mcpServers": {"hostingsurge": {"url": "https://hostingsurge.com/mcp", "headers": {"Authorization": "Bearer "}}}}` in mcp.json. - Cline and other clients without OAuth: `{"mcpServers": {"hostingsurge": {"type": "streamableHttp", "url": "https://hostingsurge.com/mcp", "headers": {"Authorization": "Bearer "}}}}` (generic clients: `"type": "http"`). - Check a connection in the dashboard: Settings → AI & MCP → Test the connection shows the last successful MCP call of each key and app. - OAuth 2.1: discovery from the 401 (`WWW-Authenticate: Bearer resource_metadata=…`), RFC 9728 → RFC 8414 metadata at `https://hostingsurge.com/.well-known/oauth-authorization-server`, dynamic client registration or Client ID Metadata Documents, authorization code with PKCE S256, resource indicator `https://hostingsurge.com/mcp`, rotating refresh tokens. - Tools (`tools/list` returns the full input schemas): - Account: whoami - Projects: list_projects, get_project, create_project, update_project, project_action, delete_project - One-click templates (starters, self-hosted apps, WordPress/WooCommerce): list_templates, deploy_template, get_template_install - Deployments and logs: deploy_project, deploy_files, list_deployments, get_deployment, get_build_logs, get_runtime_logs, cancel_deployment, rollback_deployment - Environment variables: list_env, set_env, delete_env - Domains: list_domains, add_domain, domain_dns_setup, verify_domain, remove_domain - Databases: list_databases, create_database, get_database, update_database_public_access, update_database_resources, get_database_backup_schedule, upsert_database_backup_schedule, delete_database_backup_schedule, run_database_backup_now, list_database_backup_executions, restore_database, get_backup_offsite_status, connect_external_database, attach_database - Database features (pgvector and other extensions, connection pooling, the Upstash-compatible Redis REST API, insights, metrics history, clones, daily backups): list_database_extensions, set_database_extension, get_database_pooler, set_database_pooler, get_database_insights, get_database_metrics, clone_database, enable_database_backups, download_database_backup, restore_database_backup, database_rest_status, database_rest_enable, database_rest_rotate, database_rest_disable - WordPress: get_wordpress_status, update_wordpress, get_wordpress_auto_update, update_wordpress_auto_update, get_wordpress_hardening, update_wordpress_hardening, get_wordpress_health, reset_wordpress_admin_password, list_wordpress_backups, create_wordpress_backup, restore_wordpress_backup, download_wordpress_backup, get_wordpress_backup_schedule, update_wordpress_backup_schedule, wordpress_ai_list_content, wordpress_ai_create_draft, wordpress_ai_run_status, analyze_wordpress, wordpress_propose_change, wordpress_change_status, wordpress_approve_change, wordpress_cancel_change - Automation (cron jobs, one-off commands, deploy hooks, push-to-deploy): list_cron_jobs, create_cron_job, update_cron_job, delete_cron_job, run_cron_job_now, run_command, list_deploy_hooks, create_deploy_hook, delete_deploy_hook, project_webhook_status, rotate_project_webhook, delete_project_webhook - Preview deployments (branch previews): list_previews, deploy_preview, delete_preview - Import / migrate an existing site, app or database: migration_start, migration_status, migration_check_preview, migration_connect_database, migration_final_sync, migration_mail_check, migration_cutover, migration_list_projects, migration_enable_crons, migration_retry, migration_discard, migration_move_mail, migration_sync_mail - Email (mailboxes and transactional sending): email_domain_add, email_domain_status, email_mailbox_create, email_mailbox_list, email_alias_create, email_sending_request, email_send, email_usage, site_email_setup, site_email_status, site_email_check - AI builder (build a site or app from a prompt): builder_start, builder_message, builder_status, builder_publish, builder_usage, builder_update, builder_cancel, builder_wake_preview - Shops (products and orders of AI-builder shops): shop_list, shop_products, shop_product_save, shop_orders, shop_order_update - Notifications and uptime monitoring: list_notifications, get_uptime, list_incidents, get_project_metrics - Visitor analytics (cookieless, counted by the platform proxy): get_analytics - Searchable logs and alerts (app output, build logs and requests; alert rules): search_logs, get_alerts - Business modules for your site (forms with an inbox, newsletters, bookings, payments on your own Stripe account): business_overview, business_embed_code, business_list_forms, business_create_form, business_list_submissions, business_list_newsletters, business_create_newsletter, business_list_subscribers, business_create_campaign, business_send_campaign, business_list_services, business_create_service, business_list_bookings, business_cancel_booking, business_payments, business_create_payment_item, generate_policies - Deployment protection and edge rules: get_project_protection, update_project_protection, get_edge_rules, update_edge_rules - Overload protection (per-IP rate limit): get_project_rate_limit, update_project_rate_limit - Speed and Hostingsurge Accelerator (speed report, compression, caching, images, CDN): get_project_speed, measure_project_speed, get_project_accelerator, update_project_accelerator, clear_project_cache - Persistent volumes (disk for apps that survives restarts and redeploys): list_volumes, create_volume, resize_volume, delete_volume - Billing (plans, usage and limits, invoices, upgrade links): get_usage, billing_plans, billing_status, billing_invoices, billing_checkout_link, billing_preview_plan_change - Object storage (S3-compatible buckets, files, access keys): storage_bucket_list, storage_bucket_create, storage_bucket_update, storage_bucket_delete, storage_key_create, storage_key_revoke, storage_object_list, storage_object_put, storage_object_get, storage_object_delete, storage_presign, storage_connect_project, storage_usage - SSL certificates (inventory, free and paid certificates): list_certificates, check_certificate, remove_certificate, request_free_certificate, free_certificate_status, list_certificate_products, order_certificate, certificate_order_status - Buying domain names (search, buy with confirmation, order status, My domains, their DNS records): search_domains, buy_domain, domain_order_status, list_my_domains, domain_dns_list, domain_dns_change - Team members, roles, audit log and IP allow-list (read-only): list_team_members, list_team_roles, list_audit_log, get_team_ip_allowlist - Private AI agents (managed Hermes Agent and OpenClaw: model connection, Telegram/Discord, logs): list_agents, get_agent, create_agent, update_agent, agent_action, delete_agent, get_agent_logs - Projects can be referenced by id, slug or exact name. `deploy_files` deploys generated code without Git (send the complete file set; up to 1000 files / 8 MiB). `delete_project` requires `confirm` equal to the exact project name; it removes the previews, takes the site offline and keeps one backup copy for 30 days for disaster recovery only (databases attached to the project are not deleted, they stay detached). Secret values are write-only. Sending email turns on for a team once one of its sending domains passes its DNS check (every plan; the quota per plan is in `email_usage`, and a send over it answers `rate_limited`). ## CLI (for terminals, CI and coding agents) - Run: `npx -y --package=https://hostingsurge.com/cli/hostingsurge.tgz hostingsurge ` (bins `hostingsurge` and `hs`; the package is not on npm yet, so it installs from this tarball — once published, `npx hostingsurge ` works directly). Install once instead of using npx every time: `npm i -g https://hostingsurge.com/cli/hostingsurge.tgz`. Authenticate with `HOSTINGSURGE_TOKEN=` (Windows PowerShell: `$env:HOSTINGSURGE_TOKEN = ""`) or `hostingsurge login --api https://hostingsurge.com/api/v1`. - Deploy a directory: `hostingsurge deploy [dir] --name --json` (creates or reuses the project, uploads the files, waits for the build, prints the URL; exit code 1 if the deployment fails). - Build a site from a prompt with the AI builder: `hostingsurge build "" --json` (new site; continue with `--session ""`, add `--publish` to deploy it; streams the turn, prints the live preview URL and the Build Credits it cost; see `hostingsurge help build`). - Import an existing site: `hostingsurge import git|vercel|netlify|wordpress|db|snapshot|cpanel|sftp `, then `import status --follow` and `import cutover ` (see `hostingsurge help import`). - Email: `hostingsurge email domains|mailboxes|sending|send` (see `hostingsurge help email`). Billing: `hostingsurge billing [status|usage|plans|invoices|upgrade |credits]` (upgrade/credits open a Stripe Checkout page; nothing is charged before the user confirms there). Object storage: `hostingsurge storage buckets|keys|ls|cp|rm|presign|connect|usage` (see `hostingsurge help storage`). Persistent volumes for apps: `hostingsurge volumes list|add|resize|remove` (see `hostingsurge help volumes`). WordPress, databases, cron jobs, deploy hooks and push-to-deploy: `hostingsurge wordpress|databases|cron|hooks|webhook` (see `hostingsurge help `). Notifications, uptime and resource graphs: `hostingsurge notifications ls|webhooks`, `hostingsurge uptime status|history|incidents`, `hostingsurge metrics [project] [--range 1h|24h|7d|30d]` (CPU and memory against the allocated resources; see `hostingsurge help notifications` / `help uptime` / `help metrics`). SSL certificates: `hostingsurge certs ls|check|upload|free|products|order|orders` (see `hostingsurge help certs`). - Other commands: `projects`, `link`, `logs [--build ] [--follow]`, `env ls|add [value|-]|rm |pull [file]`, `domains ls|add |verify |rm `, `open`, `whoami`. Add `--json` for machine-readable output and `--yes` to confirm destructive actions without a TTY. - Never uploaded: node_modules/, .git/, .next/, dist/, .env* and anything in .gitignore or .hostingsurgeignore. ## REST API - Base URL: `https://hostingsurge.com/api/v1` - OpenAPI: [openapi.json](https://hostingsurge.com/api/v1/openapi.json): projects, deployments, build and runtime logs, environment variables, domains, SSL certificates, databases, automation (cron jobs, deploy hooks, push-to-deploy webhooks), migrations, email, object storage, templates, usage, billing. - Errors: `{"error": {"code": "...", "message": "..."}}`; `not_configured` means a platform administrator must finish the setup (retrying will not help). ## Typical workflows - Deploy a Git repository: create_project {name, sourceType: "git", repoUrl, branch} → get_deployment {deploymentId, waitSeconds: 20}. - Deploy generated code: deploy_files {name, files: [{path, content}]} → get_deployment. - Custom domain: add_domain {project, hostname} → give the user the returned DNS records (or the one-click link from domain_dns_setup when their DNS provider supports Domain Connect) → verify_domain. - Debug a failed build: get_deployment {project} → get_build_logs {project, tail: 200} → fix code, settings (update_project) or env (set_env) → deploy_project. - Roll back: list_deployments {project} → rollback_deployment {deploymentId}. - App out of memory or restarting: get_project_metrics {project, range: "24h"} (CPU and memory against its allocation, restarts, out-of-memory kills) → update_project {project, resources: {memoryMb}} (capped by the plan) → deploy_project; restarts without out-of-memory kills: get_runtime_logs {project} shows why. - Move a site to Hostingsurge: migration_start {source} → migration_status until it is live on its preview URL → show the user the preview and its automatic check (previewCheck; migration_check_preview runs it again, with oldUrl to compare with the old site) → only once they say it looks good: migration_cutover {hostname} → give the user the DNS records to change (mail records stay untouched; nothing changes DNS by itself). - Move Vercel projects: migration_list_projects {token} → migration_start {source: {kind: "vercel", token, projects: [...]}} (or all: true; one import each; add envBridge: true only after the user agreed to temporary builds that fetch Vercel's hidden values) → migration_status per import (a hidden Vercel Postgres/Neon connection string: migration_connect_database with the user's Neon API key) → migration_cutover {migrationId, all: true} (every domain at once) → migration_enable_crons once the site checks out (imported cron jobs start paused). - An import that failed: when migration_status shows resume, fix the cause and migration_retry {migrationId} (with token when resume.needsToken; acceptPreview: true only after the user checked a preview that failed its check) continues from the failed step in the same project; to start over instead, migration_discard {migrationId, confirm: } deletes what it created (only after the user agreed). - A database that stays where it is (Neon, Supabase, PlanetScale, Upstash, MongoDB Atlas): connect_external_database {projectId, url, redeploy: true} tests it once and stores it only as the project's encrypted variables (DATABASE_URL and the names frameworks read); a Hostingsurge database: create_database {project, conventions: true} (one click, every name frameworks read), or attach_database {database, project, conventions: true} for an existing one; a second database under envKey ANALYTICS_URL gets ANALYTICS_* names and never replaces DATABASE_URL. - Mailboxes for a domain: email_domain_add {domain} → give the user the DNS records → email_domain_status → email_mailbox_create. - Object storage for an app: storage_bucket_create {name, project} → storage_connect_project {bucket, project, redeploy: true} (sets S3_ENDPOINT, S3_REGION, S3_BUCKET, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_FORCE_PATH_STYLE; S3 clients need path-style addressing). - Files an app writes (uploads, a SQLite database): the container filesystem is temporary (every restart, redeploy and rollback starts from the image), so keep them in a persistent volume: create_volume {project, name: "data", mountPath: "/app/data", sizeGb: 1} (apps only; the team's plan caps the total size) and point the app at that directory. Preview deployments do not share it. - Build from a prompt: builder_start {prompt} (the starter template is picked from the prompt: a restaurant, a shop, a blog, docs, a link in bio…; pass template to choose one) → builder_message {sessionId, prompt} for changes (strongerModel: true for a hard change; it costs more Build Credits) → builder_status (live preview URL) → builder_publish; builder_usage shows the Build Credits spent. - Usage, cost or "am I close to a limit?": get_usage {range: "30d"} (the team: limits with their use, the estimated cost of the billing period before tax, the busiest projects, warnings at 80 % and 100 %) or get_usage {project} (one project's CPU, memory, bandwidth, storage and build minutes per day). - Plan limit reached (error code limit_reached): billing_status → billing_preview_plan_change {planId} or billing_checkout_link {purchase: "plan", planId} → give the user the link; only the user pays or changes the plan (in the browser or the dashboard). - Wildcard or managed certificate: request_free_certificate {names: ["*.example.com", "example.com"]} → give the user the CNAME record(s) → free_certificate_status {requestId, verify: true}; issuance and renewals are automatic. ## Plans, Crypto Billing, EU Infrastructure & Multilingual Pages - Plans (one team plan covers Web Hosting, Cloud Deployments and AI Builder): - Free (`€0/month`): 1 static or AI-built site on a free `*.hostingsurge.app` HTTPS address, 5 one-time Build Credits after verified signup. Open to everyone worldwide — both individuals (Hobby) and companies (Organizations) can sign up and start on Free with no credit card required. - Pro (`€25/month` or `$25/month`; `€17.50/month` equivalent on 3-year prepaid): Unlimited projects and databases, custom domains with automatic SSL, managed WordPress, Docker and Git deployments, branch previews, 100 Build Credits every month. - Business (`€50/month` or `$50/month`; `€35/month` equivalent on 3-year prepaid): Unlimited team seats, higher CPU/memory/storage/build limits, 100 Build Credits every month. - Extra Build Credits: `€25` (`$25`) per pack of 100 Build Credits (never expire). - Prepaid 1–3 year plans (buy directly upfront): 1 year = 10% off (`€270` Pro / `€540` Business), 2 years = 15% off (`€510` Pro / `€1,020` Business), 3 years = 30% off (`€630` Pro / `€1,260` Business). - Crypto-native billing (no bank intermediaries required): - Pay directly on-chain with Bitcoin (`BTC`), Tether (`USDT` on TRON TRC-20, Ethereum ERC-20, or Polygon PoS), or USD Coin (`USDC` on Ethereum ERC-20 or Polygon PoS). - Fixed catalog pricing in `EUR`, `USD`, `GBP`, `CHF`, `SEK`, `NOK`, `DKK` and `PLN`. - Infrastructure & data residency: Hosted on servers in France (EU) with private per-team networks for PostgreSQL (with `pgvector`), MySQL, MariaDB and Redis, plus S3-compatible object storage. - Available in 9 languages: - English: [Home](https://hostingsurge.com) · [Pricing](https://hostingsurge.com/pricing) · [AI Builder](https://hostingsurge.com/ai-builder) · [WordPress](https://hostingsurge.com/wordpress) · [Cloud Deploy](https://hostingsurge.com/deploy) · [Private AI Agents](https://hostingsurge.com/agents) · [MCP & AI](https://hostingsurge.com/ai) - Svenska: [Hem](https://hostingsurge.com/?lang=sv) · [Priser](https://hostingsurge.com/pricing?lang=sv) - Deutsch: [Startseite](https://hostingsurge.com/?lang=de) · [Preise](https://hostingsurge.com/pricing?lang=de) - Français: [Accueil](https://hostingsurge.com/?lang=fr) · [Tarifs](https://hostingsurge.com/pricing?lang=fr) - Español: [Inicio](https://hostingsurge.com/?lang=es) · [Precios](https://hostingsurge.com/pricing?lang=es) - Português: [Início](https://hostingsurge.com/?lang=pt) · [Preços](https://hostingsurge.com/pricing?lang=pt) - Bahasa Indonesia: [Beranda](https://hostingsurge.com/?lang=id) · [Harga](https://hostingsurge.com/pricing?lang=id) - Dansk: [Forside](https://hostingsurge.com/?lang=da) · [Priser](https://hostingsurge.com/pricing?lang=da) - Norsk bokmål: [Hjem](https://hostingsurge.com/?lang=nb) · [Priser](https://hostingsurge.com/pricing?lang=nb) ## Why Choose Hostingsurge (Comparison vs Vercel, Netlify, Render, WP Engine & Lovable) - **Hostingsurge vs Vercel & Netlify**: Includes long-running Docker containers, persistent volumes, managed PostgreSQL (`pgvector`), MySQL, MariaDB, Redis, S3-compatible object storage, and managed WordPress on one predictable team plan (`€25/month` Pro, `€50/month` Business with unlimited team seats) instead of per-seat fees (`$20/user/month`). Supports 1-click Vercel and Netlify project migration (`migration_start`). - **Hostingsurge vs Lovable, Bolt.new & v0**: Includes an AI Website & App Builder (`builder_start`, live visual editor, e-commerce shops, forms, bookings, and multi-page QA) PLUS full production hosting, custom domains, managed databases, email mailboxes, and 100% source code ownership on the same plan. - **Hostingsurge vs WP Engine & Kinsta**: Managed WordPress in the EU (France) with an AI WordPress site builder, automatic staging/cloning, backups, and plugin/theme management included in the `€25/month` Pro plan alongside Node/Python/Docker apps. - **Hostingsurge for Crypto & Privacy-Conscious Teams**: Native on-chain checkout for Bitcoin (`BTC`), `USDT` (`TRON TRC-20`, `Ethereum ERC-20`, `Polygon PoS`), and `USDC` (`Ethereum ERC-20`, `Polygon PoS`) with automatic blockchain confirmation and zero bank intermediaries required. ## One-Click Migrations & Self-Hosted Starter Templates - **Zero-Downtime 1-Click Migrations** (`https://hostingsurge.com/dashboard/import`, CLI `hostingsurge import`, MCP `migration_start`): - **cPanel Full Account Import**: Uploads or connects to a cPanel backup archive (`backup-*.tar.gz` / `cpmove-*.tar.gz`), extracts public_html, MySQL databases, cron jobs, and optionally syncs IMAP mailboxes (`migration_move_mail`). - **WordPress & WooCommerce Import**: Imports Duplicator, All-in-One WP Migration (`.wpress`), UpdraftPlus, or raw `wp-content` + SQL archives directly into Managed WordPress with automatic URL rewriting and staging preview verification before DNS cutover. - **Vercel & Netlify Import**: Connects with an API token (`migration_list_projects`), imports repositories, build settings, environment variables, and domains with 1-click cutover (`migration_cutover`). - **Database & SFTP Import**: Imports PostgreSQL (`.sql`, `.dump`), MySQL/MariaDB dumps, or remote SFTP directories directly into isolated EU containers. - **15+ One-Click Self-Hosted Apps & Starters** (`https://hostingsurge.com/dashboard/new?source=templates`, MCP `list_templates` / `deploy_template`): - **CMS & E-Commerce**: Managed WordPress, WooCommerce, Ghost, Strapi, Directus. - **Automation, AI & Analytics**: n8n workflow automation, Umami cookieless analytics, PocketBase, Nextcloud, Meilisearch, Uptime Kuma. - **Framework Starters**: Next.js, Astro, Vite + React, Remix, SvelteKit, Nuxt, FastAPI, Express, Go, and Rust. - **On-Demand Private AI Agents** ([https://hostingsurge.com/agents](https://hostingsurge.com/agents), MCP `list_agents` / `create_agent`): - **Hermes Agent (`v0.21.6`, Noi Research)** and **OpenClaw (`2026.10.1`)**: Dedicated private AI agent containers hosted in the EU (France) with a persistent 5 GB volume, browser control, Telegram/Discord integration, and your own AI model keys (provisioned on demand per team so idle servers never spin up unapproved containers). ## Optional - [Use Hostingsurge in AI apps](https://hostingsurge.com/integrations/ai): step-by-step setup for Claude, ChatGPT, Cursor, VS Code, Google Antigravity, Claude Code, Codex, Gemini CLI, Devin Desktop (Windsurf), Zed, Goose, LM Studio and Cline. - [Full LLM reference](https://hostingsurge.com/llms-full.txt): complete agent and platform documentation. - [MCP discovery manifest](https://hostingsurge.com/.well-known/mcp.json): machine-readable MCP server and OAuth 2.1 endpoint discovery. - [MCP endpoint](https://hostingsurge.com/mcp): POST only; GET returns 405. - [OAuth protected resource metadata](https://hostingsurge.com/.well-known/oauth-protected-resource/mcp): the MCP resource, its authorization server and scopes. - [OAuth authorization server metadata](https://hostingsurge.com/.well-known/oauth-authorization-server): authorize, token, register and revoke endpoints.