Sitequest Hosting MCP Server

A remote Model Context Protocol (MCP) server for managing VPS servers and domains on Sitequest. Lets AI assistants provision, monitor, and configure infrastructure through natural language.

Documentation

Sitequest MCP Server

A remote Model Context Protocol (MCP) server for managing VPS servers, webspaces, and domains on Sitequest. Lets AI assistants provision, monitor, and configure infrastructure through natural language.

Features

  • VPS Management -- List, create, monitor, power control, OS reinstall, resize
  • Webspace Hosting -- Provision shared hosting, install CMS (WordPress, Joomla, TYPO3), link domains, manage PHP versions and databases
  • SSH & File Operations -- Execute commands, read/write files, manage SSH security on both VPS and webspaces (jailed)
  • Firewall & Backups -- Configure firewall rules, create/restore/delete backups
  • Domain Management -- Register, transfer, configure DNS records, WHOIS privacy, DNSSEC
  • Billing Integration -- Provision resources with automatic payment via saved mandate
  • Scope-Based Access -- Fine-grained API key permissions per tool category

Quickstart

1. Get an API Key

Create an API key in the Sitequest Dashboard with the scopes you need.

2. Connect Your Client

VS Code / GitHub Copilot -- Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "sitequest": {
      "type": "http",
      "url": "https://hosting.site.quest/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sitequest-api-key}"
      }
    }
  },
  "inputs": [
    {
      "id": "sitequest-api-key",
      "type": "promptString",
      "description": "Sitequest API key",
      "password": true
    }
  ]
}

Claude Desktop -- Add to claude_desktop_config.json:

{
  "mcpServers": {
    "sitequest": {
      "type": "streamableHttp",
      "url": "https://hosting.site.quest/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Cursor -- Add to MCP settings:

{
  "mcpServers": {
    "sitequest": {
      "url": "https://hosting.site.quest/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

See examples/ for more client configurations.

Endpoint

URLPOST https://hosting.site.quest/mcp
TransportStreamable HTTP (stateless)
ProtocolJSON-RPC 2.0 / MCP 2025-03-26
AuthAuthorization: Bearer <api-key>

Available Tools

Pricing (no scope required)

ToolDescription
get_domain_pricingList TLD pricing or check a specific domain's price
check_domainCheck domain availability (single or batch, up to 20 TLDs)
get_vps_pricingGet VPS component pricing per hostsystem

VPS

ToolScopeDescription
list_vmsvps:readList all VPS with status, specs, and usage metrics
get_vmvps:readDetailed VPS info with live config and status
get_vm_monitoringvps:readCPU/memory/ping history and downtime stats
get_vm_trafficvps:readCurrent-month bandwidth and daily traffic log
vm_powervps:manageStart, stop, or restart a VPS
vm_reinstall_osvps:manageReinstall OS (destructive, requires confirm)
vm_mount_isovps:manageMount or unmount an ISO image
vm_reset_passwordvps:manageGenerate new root password (requires confirm)
rename_vmvps:manageUpdate display name
exec_commandvps:manageExecute a one-shot SSH command
list_filesvps:manageList directory contents via SFTP
read_filevps:manageRead file content via SFTP (max 10 MB)
write_filevps:manageWrite file content via SFTP (max 10 MB)
ssh_securityvps:manageGet/set SSH security settings with rescue fallback
list_backupsvps:manageList all backups for a VPS
create_backupvps:manageCreate a new backup (requires confirm)
restore_backupvps:manageRestore from backup (destructive, requires confirm)
delete_backupvps:manageDelete a backup (requires confirm)
get_firewallvps:manageGet firewall status and rules
manage_firewallvps:manageAdd/remove rules, enable/disable firewall
create_vmvps:provisionCreate new VPS (charges saved mandate, requires confirm)
cancel_vmvps:provisionCancel VPS subscription at end of billing period
uncancel_vmvps:provisionReactivate a cancelled VPS before expiry
upgrade_vmvps:provisionUpgrade resources with pro-rated charge (requires confirm)

Webspaces

Shared web hosting with isolated PHP/MariaDB sites. SFTP and exec tools operate as the unprivileged site Linux user, jailed to the site's home directory -- they cannot affect other sites on the same node.

ToolScopeDescription
webspace_listwebspace:readList all webspaces with status, plan, CMS, and quota usage
webspace_getwebspace:readDetailed webspace info including linked domains and live disk usage
webspace_get_ssh_infowebspace:readSSH connection details (host, port, username, host key fingerprint)
webspace_list_ssh_keyswebspace:readList SSH public keys in authorized_keys
webspace_createwebspace:provisionProvision a paid webspace (charges saved mandate)
webspace_claim_freewebspace:provisionClaim the one-shot free-tier webspace for the account
webspace_upgradewebspace:provisionIncrease disk and/or database count (no downgrades)
webspace_deletewebspace:provisionDelete a webspace permanently (requires confirm)
webspace_set_labelwebspace:manageUpdate the display name
webspace_set_phpwebspace:manageChange PHP version (8.1 -- 8.5, requires confirm)
webspace_install_cmswebspace:manageInstall/reinstall WordPress, Joomla, TYPO3, or static (wipes docroot, requires confirm)
webspace_link_domainwebspace:manageAttach a user-owned domain and issue a Let's Encrypt cert
webspace_unlink_domainwebspace:manageDetach a linked domain and remove its vhost (requires confirm)
webspace_reset_db_passwordwebspace:manageReset MariaDB password (returned once, requires confirm)
webspace_execwebspace:manageRun a one-shot SSH command in the jailed shell
webspace_list_fileswebspace:manageList directory contents via jailed SFTP
webspace_read_filewebspace:manageRead a file via jailed SFTP (max 10 MB)
webspace_write_filewebspace:manageWrite a file via jailed SFTP (max 10 MB)
webspace_mkdirwebspace:manageCreate a directory in the jail
webspace_renamewebspace:manageRename / move within the jail
webspace_delete_pathwebspace:manageDelete a file or directory in the jail (requires confirm)
webspace_chmodwebspace:manageChange permissions on a file/directory
webspace_add_ssh_keywebspace:manageAdd an authorized SSH public key
webspace_delete_ssh_keywebspace:manageRemove an authorized SSH key by fingerprint (requires confirm)

Domains

ToolScopeDescription
list_domainsdomains:readList all domains with status, DNS count, expiry
get_domaindomains:readDetailed domain info with DNS records and registrar data
list_dns_recordsdomains:readList DNS records for a domain
add_dns_recorddomains:manageCreate a DNS record (A, AAAA, CNAME, MX, TXT, SRV, etc.)
edit_dns_recorddomains:manageUpdate an existing DNS record
delete_dns_recorddomains:manageRemove a DNS record (requires confirm)
set_nameserversdomains:manageUpdate domain nameservers
set_transfer_lockdomains:manageEnable or disable transfer lock
set_whois_privacydomains:manageEnable or disable WHOIS privacy
set_dnssecdomains:manageEnable or disable DNSSEC
get_authcodedomains:manageRetrieve domain auth code for transfer
register_domaindomains:provisionRegister new domain (charges mandate, requires confirm)
transfer_domaindomains:provisionTransfer domain to Sitequest (requires auth code + confirm)
cancel_domaindomains:provisionCancel domain at end of billing period
uncancel_domaindomains:provisionReactivate a cancelled domain before expiry

Orders

ToolScopeDescription
get_order_statusvps:provision or domains:provisionTrack order by ID or token

Scopes

API keys use granular scopes to control access:

ScopeAccess
vps:readView VPS instances and metrics
vps:managePower control, SSH, files, backups, firewall
vps:provisionCreate, upgrade, cancel VPS
domains:readView domains and DNS records
domains:manageEdit DNS, nameservers, WHOIS, DNSSEC
domains:provisionRegister, transfer, cancel domains
webspace:readView webspaces, quotas, SSH connection info
webspace:manageManage PHP, CMS, domains, files (SFTP/exec), SSH keys
webspace:provisionCreate, upgrade, delete webspaces

Keys can also be restricted to specific VPS, webspace, or domain IDs for narrower access.

Rate Limits

60 requests per minute per API key. Rate limit headers are included in every response:

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset

Safety

All destructive operations (reinstall OS, delete backups, register/cancel domains, etc.) require an explicit confirm: true parameter. The server will not execute them without confirmation.

Documentation

Full documentation: site.quest/docs/api/mcp

License

MIT