home / mcp / hostinger mcp server

Hostinger MCP Server

Exposes Hostinger hosting, DNS, domains, billing, and VPS operations via MCP for programmatic control.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "hostinger-api-mcp-server": {
      "url": "http://localhost:8100/",
      "headers": {
        "DEBUG": "false",
        "API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

You are provisioning and operating a Model Context Protocol (MCP) server for Hostinger API. This MCP server enables you to expose hosting, billing, DNS, domains, VPS, and related services to MCP-compatible clients, supporting both HTTP streaming and local stdio transports for flexible integration and automation.

How to use

You connect to the MCP server using an MCP client over HTTP streaming to enable bidirectional communication. The server exposes a rich set of tools that cover WordPress deployment, static sites, JavaScript applications, domain operations, billing actions, DNS management, VPS provisioning, firewall rules, and more. After you connect, you can list available tools, then call any tool by name with the required arguments as described in each tool’s parameters. Use the API token you configure to authorize requests.

How to install

Prerequisites: ensure you have Node.js version 24 or higher installed on your machine.

Install the MCP server using your preferred package manager. Choose one of the following global installation commands.

# Install globally from npm
npm install -g hostinger-api-mcp

# Or with yarn
yarn global add hostinger-api-mcp

# Or with pnpm
pnpm add -g hostinger-api-mcp

Additional sections

Configuration and runtime enablement are controlled via environment variables. You can set the following when starting the server: DEBUG to enable debug logging, and API_TOKEN to supply your authorization token.

Transport options include Standard I/O transport (stdio) and Streamable HTTP transport. The HTTP transport is configured by running the MCP server with the --http flag and optional host/port overrides. The stdio mode is the default when the --http flag is not used.

Quick start example for HTTP transport: run the MCP server and then connect a client over HTTP to http://localhost:8100/. You can customize the host and port with the --host and --port options.

Example connection snippet for an MCP client using HTTP streaming transport: the client creates an HTTP transport to the server URL and includes the API token in the Authorization header. It then connects, lists available tools, and calls a tool by name with the required arguments.

Important usage notes: when deploying large WordPress sites, plugins, or themes, allow time for file transfers and server-side processing. For JS applications and static websites, ensure you provide the correct archive files or directories as instructed by each tool’s parameters.

Practical notes on configuration and security

Environment variables you configure are surfaced to the MCP server as part of the runtime environment. Keep your API_TOKEN secret and rotate it as needed. Avoid sharing tokens in logs or in client-side code.

The server supports a broad set of tools for hosting, billing, DNS, domains, and VPS management. Review each tool’s parameter list to understand required fields, optional filters, and behavior (for example, whether a request creates, updates, or deletes resources).

Notes on troubleshooting and examples

If you encounter connectivity issues, verify the MCP server is listening on the expected host/port and that your client uses a valid Authorization header with the API token.

For deployment status or error details, use the respective list or show tools to retrieve status, logs, or error messages from the server.

Tools overview

The MCP server provides a comprehensive set of capabilities for hosting management, billing, DNS, domains, and VPS operations. See individual tool entries in the tool list to learn required parameters and usage patterns.

Available tools

hosting_importWordpressWebsite

Import a WordPress website from an archive to a hosting server by uploading the website archive and a database dump. The archive is extracted on the server and the site becomes available after extraction.

hosting_deployWordpressPlugin

Deploy a WordPress plugin from a directory to a hosting server; uploads plugin files and triggers deployment.

hosting_deployWordpressTheme

Deploy a WordPress theme from a directory to a hosting server; can optionally activate the theme after deployment.

hosting_deployJsApplication

Deploy a JavaScript application from an archive to a hosting server. The archive should contain only source files (no build output). Build runs automatically on the server after upload; check deployment status with the related tooling.

hosting_deployStaticWebsite

Deploy a prebuilt static website archive to a hosting server. This bypasses any build steps and serves static assets directly.

hosting_listJsDeployments

List JavaScript deployments for a domain to monitor status, supporting pagination and optional state filtering.

hosting_showJsDeploymentLogs

Retrieve logs for a specific JavaScript deployment to help debug build or runtime issues.

billing_getCatalogItemListV1

Retrieve catalog items with pricing to review available services before purchasing.

billing_createServiceOrderV1

Create a new service order by providing payment method, catalog items, and optional coupons; orders can renew automatically.

billing_setDefaultPaymentMethodV1

Set the default payment method for future orders.

billing_deletePaymentMethodV1

Delete a payment method from your account.

billing_getPaymentMethodListV1

List available payment methods for new orders.

billing_getSubscriptionListV1

List all subscriptions tied to your account for monitoring status.

billing_disableAutoRenewalV1

Disable auto-renewal for a given subscription.

billing_enableAutoRenewalV1

Enable auto-renewal for a given subscription.

DNS_getDNSSnapshotV1

Retrieve contents of a specific DNS snapshot for a domain.

DNS_getDNSSnapshotListV1

List DNS snapshots for a domain.

DNS_restoreDNSSnapshotV1

Restore a DNS zone from a selected snapshot.

DNS_getDNSRecordsV1

Retrieve DNS zone records for a domain.

DNS_updateDNSRecordsV1

Update DNS records for a domain with control over overwrite/append behavior.

DNS_deleteDNSRecordsV1

Delete specific DNS records from a domain.

DNS_resetDNSRecordsV1

Reset DNS zone to default records for a domain.

DNS_validateDNSRecordsV1

Validate DNS records prior to updates to ensure correctness.

v2_getDomainVerificationsDIRECT

Retrieve domain verifications in progress or completed.

domains_checkDomainAvailabilityV1

Check domain name availability across multiple TLDs.

domains_getDomainForwardingV1

Retrieve current domain forwarding configuration.

domains_deleteDomainForwardingV1

Delete domain forwarding configuration.

domains_createDomainForwardingV1

Create domain forwarding to a target URL with a specified redirect type.

domains_enableDomainLockV1

Enable domain transfer lock to prevent unauthorized transfers.

domains_disableDomainLockV1

Disable domain transfer lock to allow transfers.

domains_getDomainDetailsV1

Retrieve detailed information for a domain.

domains_getDomainListV1

List all domains in your portfolio.

domains_purchaseNewDomainV1

Register and purchase a new domain, providing ownership details and payment info.

domains_enablePrivacyProtectionV1

Enable WHOIS privacy protection for a domain.

domains_disablePrivacyProtectionV1

Disable WHOIS privacy protection for a domain.

domains_updateDomainNameserversV1

Set custom nameservers for a domain.

domains_getWHOISProfileV1

Retrieve a WHOIS contact profile by ID.

domains_deleteWHOISProfileV1

Delete a WHOIS contact profile from your account.

domains_getWHOISProfileListV1

List available WHOIS contact profiles for registration.

domains_createWHOISProfileV1

Create a new WHOIS contact profile with TLD and contact details.

domains_getWHOISProfileUsageV1

List domains using a specific WHOIS contact profile.

hosting_listAvailableDatacentersV1

List available datacenters for hosting plans and recommendations.

hosting_generateAFreeSubdomainV1

Generate a free subdomain for hosting without purchasing a custom domain.

hosting_verifyDomainOwnershipV1

Verify domain ownership by checking accessibility or by adding a DNS TXT record.

hosting_listOrdersV1

List hosting orders with pagination and filtering by status or IDs.

hosting_listWebsitesV1

List websites associated with your hosting accounts, with filtering options.

hosting_createWebsiteV1

Create a new website by providing a domain and associated order; specify datacenter on first site.

reach_deleteAContactV1

Delete a contact by UUID from the email marketing system.

reach_listContactGroupsV1

List all contact groups for organizing contacts.

reach_listContactsV1

List contacts with optional filters by group and subscription status.

reach_createANewContactV1

Create a new contact with basic information; supports double opt-in flow.

reach_listSegmentsV1

List all segmentation segments for organizing contacts.

reach_createANewContactSegmentV1

Create a new contact segment with criteria and logic for grouping contacts.

reach_listSegmentContactsV1

Retrieve contacts belonging to a specific segment with pagination.

reach_getSegmentDetailsV1

Get details about a specific contact segment.

reach_createANewProfileContactV1

Create a new contact under a specific profile for email marketing.

reach_listProfilesV1

List all profiles available to the client.

VPS_getDataCenterListV1

Retrieve all available VPS data centers.

VPS_getProjectContainersV1

List containers for a Docker Compose project on a VM with status and port mappings.

VPS_getProjectContentsV1

Retrieve full project contents and deployment status for a Docker Compose project.

VPS_deleteProjectV1

Delete a Docker Compose project and clean up resources on the VM.

VPS_getProjectListV1

List all Docker Compose projects on the VM with overview details.

VPS_createNewProjectV1

Deploy a new Docker Compose project from a YAML/URL source; replaces existing project if name clashes.

VPS_getProjectLogsV1

Retrieve aggregated logs for services in a Docker Compose project.

VPS_restartProjectV1

Restart all services in a Docker Compose project in dependency order.

VPS_startProjectV1

Start all services of a Docker Compose project.

VPS_stopProjectV1

Stop all services of a Docker Compose project while preserving data.

VPS_updateProjectV1

Update a Docker Compose project by pulling latest images and recreating containers.

VPS_activateFirewallV1

Activate a firewall on a VM; only one firewall can be active at a time.

VPS_deactivateFirewallV1

Deactivate a firewall on a VM.

VPS_getFirewallDetailsV1

Retrieve details and rules of a specific firewall.

VPS_deleteFirewallV1

Delete a firewall configuration.

VPS_getFirewallListV1

List all available firewalls.

VPS_createNewFirewallV1

Create a new firewall configuration.

VPS_updateFirewallRuleV1

Update a single firewall rule within a firewall.

VPS_deleteFirewallRuleV1

Delete a specific firewall rule.

VPS_createFirewallRuleV1

Create a new firewall rule for a firewall.

VPS_syncFirewallV1

Synchronize firewall rules with the virtual machine.

VPS_getPostInstallScriptV1

Retrieve a post-install automation script by ID.

VPS_updatePostInstallScriptV1

Update a post-install automation script.

VPS_deletePostInstallScriptV1

Delete a post-install automation script.

VPS_getPostInstallScriptsV1

List all post-install automation scripts.

VPS_createPostInstallScriptV1

Create a new post-install automation script.

VPS_attachPublicKeyV1

Attach existing public keys to a VM to enable SSH access.

VPS_deletePublicKeyV1

Delete a public key from your account; keys remain on VMs unless removed individually.

VPS_getPublicKeysV1

List public keys available in your account.

VPS_createPublicKeyV1

Add a new SSH public key to your account.

VPS_getTemplateDetailsV1

Retrieve details of a specific OS template for VMs.

VPS_getTemplatesV1

List available OS templates for virtual machines.

VPS_getActionDetailsV1

Retrieve detailed information about a specific action on a VM.

VPS_getActionsV1

List actions performed on a VM to review history.

VPS_getAttachedPublicKeysV1

List public keys attached to a specific VM.

VPS_getBackupsV1

List available backups for a VM.

VPS_restoreBackupV1

Restore a VM from a backup point.

VPS_setHostnameV1

Set a custom hostname for a VM with notes about DNS mapping.

VPS_resetHostnameV1

Reset the VM hostname to the default.

VPS_getVirtualMachineDetailsV1

Retrieve detailed information for a specific VM.

VPS_getVirtualMachinesV1

List all available virtual machines.

VPS_purchaseNewVirtualMachineV1

Purchase and set up a new VM with initial configuration.

VPS_getScanMetricsV1

Retrieve Monarx malware scanner metrics for a VM.

VPS_installMonarxV1

Install the Monarx malware scanner on a VM.

VPS_uninstallMonarxV1

Uninstall the Monarx malware scanner from a VM.

VPS_getMetricsV1

Retrieve historical VPS metrics such as CPU, memory, disk, network, and uptime.

VPS_setNameserversV1

Configure custom DNS resolvers (nameservers) for a VM.

VPS_createPTRRecordV1

Create or update a PTR record for reverse DNS on a VM.

VPS_deletePTRRecordV1

Delete a PTR record for a VM.

VPS_setPanelPasswordV1

Set the control panel password for a VM.

VPS_startRecoveryModeV1

Enter recovery mode for system rescue and repair operations.

VPS_stopRecoveryModeV1

Exit recovery mode and return VM to normal operation.

VPS_recreateVirtualMachineV1

Recreate a VM from scratch with a fresh OS and clean state.

VPS_restartVirtualMachineV1

Restart the VM by fully stopping and starting it.

VPS_setRootPasswordV1

Set the root password for the VM.

VPS_setupPurchasedVirtualMachineV1

Finalize setup for a newly purchased VM using initial configurations.

VPS_getSnapshotV1

Retrieve VM snapshot details.

VPS_createSnapshotV1

Create a new VM snapshot; this overwrites existing snapshot.

VPS_deleteSnapshotV1

Delete a VM snapshot.

VPS_restoreSnapshotV1

Restore a VM to a previous snapshot state.

VPS_startVirtualMachineV1

Start a VM that is stopped.

VPS_stopVirtualMachineV1

Stop a running VM.