Docs / Advanced

Connect your AI assistant

veldhost has a built-in MCP server — the open standard AI assistants use to work with external tools. Connect it and your assistant can check your sites' health, read logs, look at deploys, backups, traffic, domains and DNS, and answer questions like "why is my site down?" with real data.

The endpoint

https://manage.veldhost.eu/mcp

The easy way — just sign in: add the URL above as a connector in your assistant and leave authentication empty. You'll be sent to the normal veldhost login (passkeys work), see exactly what the assistant will be allowed to do, and approve. You can revoke the connection any time.

Or use a token: it also accepts the same personal token as the API — create one under API tokens. Either way, permissions decide what the assistant may do: with just read it can only look; deploy, manage (staging, cron, backups & restore) and dns let it act. Nothing it exposes can ever buy anything or delete a site.

Claude

In Claude (web or desktop): Settings → Connectors → Add custom connector → paste https://manage.veldhost.eu/mcp. No token needed — Claude walks you through the veldhost sign-in.

In Claude Code:

# OAuth (recommended — it will open the sign-in for you)
claude mcp add veldhost https://manage.veldhost.eu/mcp --transport http

# or with a personal token
claude mcp add veldhost https://manage.veldhost.eu/mcp \
  --transport http \
  --header "Authorization: Bearer mpc_..."

ChatGPT

With developer mode enabled (Settings → Apps & Connectors → Advanced): create a connector with the endpoint above and OAuth authentication — ChatGPT discovers our sign-in automatically.

Other assistants

Any MCP client that supports the Streamable HTTP transport works — via OAuth (the client registers itself automatically) or a bearer token. Cursor, VS Code and other IDE clients use the same URL.

What it can do

Read (read permission)
  list_sites            your sites, health and deploy state
  get_site_health       live probe + open incidents for one site
  get_site_logs         last 200 log lines (app, php, nginx-error, access)
  list_deploys          deploy history
  list_backups          restore points
  get_site_traffic      disk + monthly traffic
  get_staging_status    staging copy state and URL
  list_cron_jobs        scheduled tasks
  list_domains          registered domains, expiry, DNSSEC
  list_dns_zones        DNS zones on our nameservers
  list_dns_records      records in a zone
  search_domains        domain availability + price — registering stays in the portal
  quote_new_site        price a new site — returns a portal link for YOU to confirm

Act (deploy / manage / dns permissions)
  deploy_site           deploy from git (deploy)
  run_backup            back up now (manage)
  restore_backup        restore over live — asks for confirmation first (manage)
  create_staging        create the staging copy (manage, owner-only)
  refresh_staging       re-copy live over staging (manage, owner-only)
  disable_staging       remove the staging copy (manage, owner-only)
  add_cron_job          add a scheduled task (manage)
  remove_cron_job       remove a scheduled task (manage)
  add_dns_record        add a DNS record (dns)
  update_dns_record     change a DNS record (dns)
  delete_dns_record     delete a DNS record (dns)

Anything that would cost money stays in your hands: the assistant can prepare and price, but paying and confirming always happens here in the portal, signed in as you. Restores additionally require the assistant to confirm with you in the conversation before they run.