Skip to main content
Glama
hostinger-mcp-server

hostinger-mcp-server

by idugeni

hostinger-mcp-server

The most powerful MCP server for Hostinger — built for AI agents that manage infrastructure.

npm version CI Node License Downloads

Getting Started · Why This? · Tools · Config · Architecture


Overview

hostinger-mcp-server connects any MCP-compatible AI agent (Claude, Kiro, Cursor, Windsurf, etc.) to the full Hostinger platform. Manage VPS, domains, DNS, hosting, WordPress, email, ecommerce, and more — all through natural language.

"Restart my VPS and purge the LiteSpeed cache on my WordPress site"
"Add A record for api.example.com pointing to 203.0.113.1"
"Deploy my Node.js app from the uploaded archive"

The agent calls the right tools. You stay in control.


Related MCP server: cPanel MCP Server

Why This Over Official?

Official hostinger-api-mcp

This hostinger-mcp-server

Tools

276

280+

Min Node.js

24

18

Retry + backoff

—

Exponential, 3x

Rate-limit handling

—

429 + retry-after

Response caching

—

GET, 15s TTL

Request timeout

—

30s configurable

Batch operations

—

Multi-domain, multi-VPS

Auto-pagination

—

Fetches all pages

Health check

—

Built-in

Account overview

—

One-call summary

Destructive hints

—

On all risky ops

HTTP dependencies

7 (axios, express…)

0 (native fetch)

OAuth 2.0 + PKCE

Yes

Yes

HTTP transport

Yes

Yes

Per-domain binaries

Yes

Yes (12)


Getting Started

Install

# Global install
npm install -g hostinger-mcp-server

# Or run directly (no install)
npx hostinger-mcp-server

Authenticate

Option A — API Token (recommended for CI/scripts):

export HOSTINGER_API_TOKEN="your-token-from-hpanel"

Get your token at hpanel.hostinger.com/api

Option B — OAuth (interactive):

hostinger-mcp --login

MCP Client Configuration

Claude Desktop / Kiro / Cursor / Windsurf

{
  "mcpServers": {
    "hostinger": {
      "command": "npx",
      "args": ["-y", "hostinger-mcp-server"],
      "env": {
        "HOSTINGER_API_TOKEN": "your-api-token"
      }
    }
  }
}

HTTP Mode (remote / shared)

HOSTINGER_API_TOKEN=your-token hostinger-mcp --http --host 0.0.0.0 --port 8100

Then connect any MCP client to http://your-server:8100.


Per-Domain Binaries

Only expose what your agent needs:

hostinger-mcp              # All 280+ tools
hostinger-vps-mcp          # 62 VPS tools
hostinger-hosting-mcp      # 48 Hosting + Deploy tools
hostinger-wordpress-mcp    # 35 WordPress tools
hostinger-mail-mcp         # 38 Mail tools
hostinger-dns-mcp          # 8 DNS tools
hostinger-domains-mcp      # 23 Domain tools
hostinger-billing-mcp      # 9 Billing tools
hostinger-reach-mcp        # 12 Email Marketing tools
hostinger-ecommerce-mcp    # 12 Ecommerce tools
hostinger-agency-mcp       # 25 Agency Hosting tools
hostinger-horizons-mcp     # 2 AI Website Builder tools

Tool Categories

  • VM: list, get, purchase, setup, start, stop, restart, recreate

  • Config: hostname, root password, panel password, nameservers

  • Monitoring: metrics (CPU/RAM/disk/network), actions

  • Docker: create, get, update, start, stop, restart, delete, logs, containers

  • Firewall: CRUD rules, activate, deactivate, sync

  • SSH Keys: list, create, delete, attach

  • Backups & Snapshots: list, restore, create, delete

  • Templates & Data Centers: browse OS templates, list locations

  • Scripts: CRUD post-install scripts

  • Recovery: start/stop recovery mode

  • Security: Monarx malware scanner (install/uninstall/metrics)

  • Network: PTR records (create/delete)

  • Websites: list, create, delete

  • Cache: clear, toggle, cacheless mode

  • Cron Jobs: list, create, delete, get output

  • Databases: CRUD, change password, repair, phpMyAdmin link, remote connections

  • Domains: subdomains, parked domains, free subdomain, verify ownership

  • PHP: version, options, extensions, reset, phpinfo

  • Node.js: builds, logs, restart, vulnerabilities, auto-patch

  • Deploy: JS app, static site, WP import, WP plugin, WP theme

  • Installations: list, install, detect, validate, delete

  • Core: version, updates, update

  • Plugins: list, search, suggested, available, install, activate, deactivate, update, uninstall

  • Themes: list, browse, install, activate, update, uninstall

  • Performance: LiteSpeed Cache (status/purge), Memcached (status/toggle)

  • Operations: maintenance mode, login links, JWT tokens, AI tools

  • Orders & Plans

  • Mailboxes: list, create, delete, change password

  • Aliases: list, create, delete

  • Forwarders: list, create, delete, keep-copy, resend confirmation

  • Autoreplies: list, create, update, delete

  • Catch-alls: list, create, delete, resend confirmation

  • Webhooks: CRUD, test, regenerate secret, delivery logs

  • Logs: access, action, inbound, outbound, mailbox-actions

  • API Tokens: list, create, revoke

  • Availability check, purchase

  • Portfolio: list, details, nameservers

  • Security: domain lock, privacy protection, auth code

  • Forwarding: create, get, update, delete

  • WHOIS: profiles CRUD, usage

  • Transfers: list, details

  • Verifications

  • Records: get, update, delete, reset, validate

  • Snapshots: list, get, restore

  • Catalog: browse products & pricing

  • Orders: create purchase order

  • Payment Methods: list, set default, delete

  • Subscriptions: list, enable/disable auto-renewal, renew

  • Profiles: list, DNS status

  • Contacts: list, create (single/bulk), delete, groups

  • Segments: list, create, get, contacts

  • Stores: list, create, delete, metadata

  • Products: physical, digital

  • Sales Channels: list, create, update

  • Shipping, Payments, Storefront instructions

  • Orders, Datacenters

  • Websites: provision, status, details, delete, processes, build assets

  • Domains: link, unlink, change

  • Cache, Cron Jobs, Databases (+ users)

  • File import, WordPress settings/versions

  • health_check — Verify API connectivity + auth

  • account_overview — Full service summary in one call

  • batch_dns_update — Apply records to multiple domains

  • batch_vps_restart — Restart multiple VMs at once

  • list_all_domains_paginated — Auto-fetch all pages

  • list_all_websites_paginated — Auto-fetch all pages

  • list_all_subscriptions_paginated — Auto-fetch all pages

  • clear_api_cache — Force fresh data


CLI

Usage: hostinger-mcp [options]

Options:
  --stdio          Stdio transport (default)
  --http           HTTP streaming transport
  --host <host>    Bind host (default: 127.0.0.1)
  --port <port>    Bind port (default: 8100)
  --login          OAuth sign-in and exit
  --logout         Clear stored credentials and exit
  --domain <name>  Load only one domain's tools
  --help           Show help

Architecture

src/
├── index.ts              Entry point — CLI, auth, registration, transport
├── api-client.ts         HTTP engine: retry, cache, rate-limit, pagination
├── cli.ts                Argument parser
├── helpers.ts            Response formatter
├── auth/
│   └── oauth.ts          OAuth 2.0 PKCE + credential storage
├── tools/
│   ├── billing.ts        9 tools
│   ├── dns.ts            8 tools
│   ├── domains.ts        23 tools
│   ├── vps.ts            62 tools
│   ├── hosting.ts        41 tools
│   ├── wordpress.ts      35 tools
│   ├── mail.ts           38 tools
│   ├── reach.ts          12 tools
│   ├── ecommerce.ts      12 tools
│   ├── agency.ts         25 tools
│   ├── horizons.ts       2 tools
│   ├── deploy.ts         8 tools
│   └── smart.ts          8 tools
└── bin/                   Per-domain entry points (12 files)

Tech Stack:

  • Runtime: Node.js 18+ (ESM)

  • Language: TypeScript (strict)

  • MCP SDK: @modelcontextprotocol/sdk ^1.30 (registerTool API)

  • Validation: Zod ^3.25

  • HTTP: Native fetch — zero external deps

  • Target: ESNext + NodeNext


Security

Practice

Implementation

Token storage

Environment variable only

OAuth credentials

~/.config/hostinger-mcp/credentials.json (mode 0600)

Destructive operations

Annotated with destructiveHint: true

Token in code

Never — always via ENV

If a token is compromised, revoke immediately at hpanel.hostinger.com/api.


Contributing

git clone https://github.com/idugeni/hostinger-mcp.git
cd hostinger-mcp
npm install
npm run build

PRs welcome. Please ensure npm run build passes with zero errors before submitting.


References


Built with precision for AI-powered infrastructure management.

Report Bug · Request Feature

Available Tools

284 tools
account_overviewAccount OverviewA

Get a comprehensive overview of all Hostinger services: VPS count, domains, websites, mail, subscriptions, and their statuses.

Inputs: no named parameters.

agency_cache_clearClear Agency CacheC

Clear cache for an Agency Plan website.

Inputs: website_uid (required).

agency_cron_createCreate Agency Cron JobC

Create a cron job.

Inputs: command (required), schedule (required), website_uid (required).

agency_cron_deleteDelete Agency Cron JobB
Destructive

Delete a cron job.

Inputs: uuid (required), website_uid (required).

agency_cron_listList Agency Cron JobsB

List cron jobs for an Agency Plan website.

Inputs: website_uid (required).

agency_datacentersList Agency DatacentersA

List available datacenters for an Agency Plan order.

Inputs: order_id (required).

agency_db_createCreate Agency DatabaseC

Create a database.

Inputs: name (required), password (required), website_uid (required).

agency_db_create_userCreate DB UserC

Create a database user.

Inputs: password (required), username (required), website_uid (required), database_name (required).

agency_db_deleteDelete Agency DatabaseC
Destructive

Delete a database.

Inputs: website_uid (required), database_name (required).

agency_db_delete_userDelete DB UserB
Destructive

Delete a database user.

Inputs: website_uid (required), database_name (required), database_user_name (required).

agency_db_listList Agency DatabasesA

List databases for an Agency Plan website.

Inputs: website_uid (required).

agency_deploy_node_staticDeploy Agency Node/Static SiteA

Deploy a node-static Agency Plan website from an archive. Uploads archive, triggers build, deploys to public_html. Operation is synchronous — site is live when tool returns.

Inputs: website_uid (required), archive_path (required).

agency_deploy_phpDeploy Agency PHP ApplicationA

Deploy a PHP application to an Agency Plan website from an archive. Extracts and serves as-is (no build step). Operation is synchronous.

Inputs: filename (required), website_uid (required).

agency_domains_listList Agency DomainsB

List all Agency Plan domains.

Inputs: no named parameters.

agency_import_archiveImport from ArchiveC

Import an Agency Plan website from an archive.

Inputs: website_uid (required).

agency_orders_listList Agency OrdersB

List Agency Plan orders.

Inputs: no named parameters.

agency_website_build_assetsBuild Node.js AssetsC

Build Node.js assets for an Agency Plan website.

Inputs: website_uid (required).

agency_website_change_domainChange Website DomainB

Change the primary domain of an Agency Plan website.

Inputs: to_domain (required), from_domain (required), website_uid (required).

agency_website_deleteDelete Agency WebsiteB
Destructive

Delete an Agency Plan website.

Inputs: website_uid (required).

agency_website_getGet Agency WebsiteC

Get Agency Plan website details.

Inputs: website_uid (required).

agency_website_processesList Website ProcessesA

List running processes on an Agency Plan website.

Inputs: website_uid (required).

agency_website_provisionProvision Agency WebsiteC

Provision a new Agency Plan website.

Inputs: order_id (required), domain.

agency_website_setup_statusGet Setup StatusC

Get Agency Plan website setup status.

Inputs: order_id (required), setup_uuid (required).

agency_wp_change_versionChange WP VersionC

Change WordPress core version for an Agency Plan website.

Inputs: version (required), website_uid (required).

agency_wp_settingsGet WP SettingsC

Get WordPress settings for an Agency Plan website.

Inputs: website_uid (required).

agency_wp_versionsList WP VersionsA

List available WordPress versions for an Agency Plan website.

Inputs: website_uid (required).

batch_dns_updateBatch DNS UpdateA

Update DNS records for multiple domains at once. Useful for applying the same records across many domains.

Inputs: domains (required), records (required), overwrite.

batch_vps_restartBatch Restart VPSA
Destructive

Restart multiple VPS instances at once.

Inputs: vm_ids (required).

billing_create_orderCreate Purchase OrderB

Create a purchase order for Hostinger services.

Inputs: items (required), payment_method_id (required).

billing_delete_payment_methodDelete Payment MethodC

Delete a payment method.

Inputs: payment_method_id (required).

billing_disable_auto_renewalDisable Auto-RenewalB

Disable auto-renewal for a subscription.

Inputs: subscription_id (required).

billing_enable_auto_renewalEnable Auto-RenewalB

Enable auto-renewal for a subscription.

Inputs: subscription_id (required).

billing_get_catalogGet CatalogA

Browse available Hostinger products and pricing. Optionally filter by category or name.

Inputs: name, category.

billing_get_payment_methodsGet Payment MethodsA

List all configured payment methods.

Inputs: no named parameters.

billing_get_subscriptionsGet SubscriptionsA

List all active subscriptions.

Inputs: no named parameters.

billing_renew_subscriptionRenew SubscriptionA

Create a renewal order for an existing subscription. If no payment method is provided, your default will be used.

Inputs: subscription_id (required), payment_method_id.

billing_set_default_payment_methodSet Default Payment MethodA

Set a payment method as the default.

Inputs: payment_method_id (required).

clear_api_cacheClear API CacheA

Clear the internal response cache. Use when you need fresh data after making changes.

Inputs: no named parameters.

dns_delete_recordsDelete DNS RecordsB

Delete specific DNS records from a domain.

Inputs: domain (required), records (required).

dns_get_recordsGet DNS RecordsA

Get all DNS records for a domain.

Inputs: domain (required).

dns_get_snapshotGet DNS SnapshotB

Get a specific DNS snapshot details.

Inputs: domain (required), snapshot_id (required).

dns_get_snapshotsGet DNS SnapshotsB

List DNS snapshots for a domain.

Inputs: domain (required).

dns_reset_recordsReset DNS RecordsB

Reset all DNS records for a domain to defaults.

Inputs: domain (required).

dns_restore_snapshotRestore DNS SnapshotC

Restore a DNS snapshot for a domain.

Inputs: domain (required), snapshot_id (required).

dns_update_recordsUpdate DNS RecordsC

Update/replace DNS records for a domain.

Inputs: domain (required), records (required).

dns_validate_recordsValidate DNS RecordsC

Validate DNS records before applying them.

Inputs: domain (required), records (required).

domains_check_availabilityCheck Domain AvailabilityA

Check if a domain is available for registration.

Inputs: domain (required).

domains_create_forwardingCreate Domain ForwardingB

Create a domain forwarding/redirect.

Inputs: domain (required), redirect_to (required), type.

domains_create_whois_profileCreate WHOIS ProfileA

Create a new WHOIS profile for domain registration.

Inputs: zip (required), city (required), email (required), phone (required), +6 more.

domains_delete_forwardingDelete Domain ForwardingC

Remove domain forwarding.

Inputs: domain (required).

domains_delete_whois_profileDelete WHOIS ProfileC

Delete a WHOIS profile.

Inputs: whois_id (required).

domains_disable_lockDisable Domain LockB

Disable registrar lock.

Inputs: domain (required).

domains_disable_privacyDisable Privacy ProtectionB

Disable WHOIS privacy protection.

Inputs: domain (required).

domains_enable_lockEnable Domain LockA

Enable registrar lock (transfer protection).

Inputs: domain (required).

domains_enable_privacyEnable Privacy ProtectionA

Enable WHOIS privacy protection.

Inputs: domain (required).

domains_get_auth_codeGet Auth CodeA

Get domain authorization/EPP code for transfers.

Inputs: domain (required).

domains_get_detailsGet Domain DetailsC

Get detailed info about a specific domain.

Inputs: domain (required).

domains_get_forwardingGet Domain ForwardingA

Get forwarding config for a domain.

Inputs: domain (required).

domains_get_listGet Domain ListA

List all domains in your portfolio.

Inputs: no named parameters.

domains_get_renewal_infoGet Renewal InfoC

Get renewal information for a domain.

Inputs: domain (required).

domains_get_transferGet Transfer DetailsC

Get details of a specific domain transfer.

Inputs: domain (required).

domains_get_transfersGet Domain TransfersA

List all domain transfers.

Inputs: no named parameters.

domains_get_verificationsGet Domain VerificationsA

Get active domain verification requests.

Inputs: no named parameters.

domains_get_whois_profileGet WHOIS ProfileC

Get a specific WHOIS profile.

Inputs: whois_id (required).

domains_get_whois_profilesGet WHOIS ProfilesB

List all WHOIS profiles.

Inputs: no named parameters.

domains_get_whois_profile_usageGet WHOIS Profile UsageB

Get domains using a specific WHOIS profile.

Inputs: whois_id (required).

domains_purchasePurchase DomainC

Purchase a new domain.

Inputs: domain (required), whois_id, payment_method_id.

domains_update_forwardingUpdate Domain ForwardingC

Update domain forwarding/redirect.

Inputs: domain (required), redirect_to (required), type.

domains_update_nameserversUpdate NameserversB

Update nameservers for a domain.

Inputs: domain (required), nameservers (required).

ecommerce_channels_createCreate Sales ChannelB

Create a custom sales channel.

Inputs: name (required), store_id (required), url.

ecommerce_channels_listList Sales ChannelsA

List sales channels for a store.

Inputs: store_id (required).

ecommerce_channels_updateUpdate Sales ChannelC

Update a sales channel.

Inputs: store_id (required), sales_channel_id (required), url, name.

ecommerce_payment_manualEnable Manual PaymentC

Enable manual payment method for a store.

Inputs: store_id (required).

ecommerce_products_create_digitalCreate Digital ProductC

Create a digital product in a store.

Inputs: name (required), price (required), store_id (required), description.

ecommerce_products_create_physicalCreate Physical ProductA

Create a physical product in a store.

Inputs: name (required), price (required), store_id (required), description.

ecommerce_shipping_setSet ShippingB

Set shipping configuration for a store.

Inputs: store_id (required), shipping.

ecommerce_storefront_instructionsGet Storefront Setup InstructionsC

Get custom storefront setup instructions.

Inputs: no named parameters.

ecommerce_stores_createCreate StoreB

Create a new ecommerce store.

Inputs: name (required).

ecommerce_stores_deleteDelete StoreB
Destructive

Delete an ecommerce store.

Inputs: store_id (required).

ecommerce_stores_listList StoresA

Get all ecommerce stores.

Inputs: no named parameters.

ecommerce_stores_metadataGet Store MetadataB

Get metadata for a store.

Inputs: store_id (required).

health_checkHealth CheckA

Check connectivity and authentication with Hostinger API. Returns account info and service status summary.

Inputs: no named parameters.

horizons_create_websiteCreate Horizons WebsiteB

Create a new website using Hostinger Horizons (AI website builder).

Inputs: prompt.

horizons_get_websiteGet Horizons WebsiteB

Get details of a Horizons website.

Inputs: website_id (required).

hosting_cache_clearClear Website CacheB

Clear cache for a hosted website.

Inputs: domain (required), username (required).

hosting_cacheless_toggleToggle Cacheless ModeC

Toggle cacheless (bypass) mode for a website.

Inputs: domain (required), username (required).

hosting_cache_toggleToggle Website CacheB

Toggle cache on/off for a website.

Inputs: domain (required), username (required).

hosting_cron_createCreate Cron JobC

Create a cron job.

Inputs: command (required), schedule (required), username (required).

hosting_cron_deleteDelete Cron JobB
Destructive

Delete a cron job.

Inputs: uid (required), username (required).

hosting_cron_get_outputGet Cron Job OutputB

Get output of a cron job execution.

Inputs: uid (required), username (required).

hosting_cron_listList Cron JobsC

List cron jobs for a hosting account.

Inputs: username (required).

hosting_datacenters_listList Hosting DatacentersB

List available datacenters.

Inputs: no named parameters.

hosting_db_change_passwordChange Database PasswordC

Change a database password.

Inputs: name (required), password (required), username (required).

hosting_db_createCreate DatabaseC

Create a new database.

Inputs: name (required), password (required), username (required).

hosting_db_deleteDelete DatabaseB
Destructive

Delete a database.

Inputs: name (required), username (required).

hosting_db_listList DatabasesB

List databases for a hosting account.

Inputs: username (required).

hosting_db_phpmyadminGet phpMyAdmin LinkB

Get a phpMyAdmin access link for a database.

Inputs: name (required), username (required).

hosting_db_remote_createCreate Remote DB ConnectionB

Allow a remote IP to connect to a database.

Inputs: ip (required), name (required), username (required).

hosting_db_remote_deleteDelete Remote DB ConnectionB
Destructive

Remove a remote database connection.

Inputs: name (required), username (required).

hosting_db_remote_listList Remote DB ConnectionsB

List remote database connections.

Inputs: username (required).

hosting_db_repairRepair DatabaseC

Repair a corrupted database.

Inputs: name (required), username (required).

hosting_deploy_js_appDeploy JS ApplicationA

Deploy a JavaScript application from an archive. The archive must contain source files only (no node_modules, no build output). Build runs automatically on server. Use hosting_deploy_list_js to check status.

Inputs: domain (required), username (required), archive_path (required), output_dir, +2 more.

hosting_deploy_js_logsGet JS Deployment LogsA

Get logs for a JavaScript deployment build. Use for debugging failed deployments.

Inputs: uuid (required), domain (required), username (required), from_line.

hosting_deploy_list_jsList JS DeploymentsA

List JavaScript application deployments with their status. Use to check if deployment is pending, running, completed, or failed.

Inputs: domain (required), username (required), states.

hosting_deploy_staticDeploy Static WebsiteA

Deploy a static website from an archive (HTML/CSS/JS/images). Archive must contain pre-built files ready to serve. No build process. For JS apps with build step, use hosting_deploy_js_app instead.

Inputs: domain (required), username (required), archive_path (required).

hosting_deploy_wp_importImport WordPress WebsiteA

Import a WordPress website from an archive and database dump. Files are extracted and site deployed automatically.

Inputs: domain (required), username (required), archive_path (required), sql_path.

hosting_deploy_wp_pluginDeploy WordPress PluginB

Deploy a custom WordPress plugin from a directory/archive. Uploads plugin files and triggers deployment.

Inputs: software (required), username (required), plugin_slug (required), archive_path (required).

hosting_deploy_wp_themeDeploy WordPress ThemeA

Deploy a custom WordPress theme from a directory/archive. Uploads theme files and optionally activates.

Inputs: software (required), username (required), theme_slug (required), archive_path (required), +1 more.

hosting_free_subdomainGenerate Free SubdomainB

Generate a free subdomain for testing.

Inputs: no named parameters.

hosting_nodejs_build_from_archiveCreate Node.js Build from ArchiveB

Create a Node.js build from an uploaded archive.

Inputs: domain (required), username (required).

hosting_nodejs_build_logsGet Node.js Build LogsC

Get logs for a Node.js build.

Inputs: uuid (required), domain (required), username (required).

hosting_nodejs_builds_listList Node.js BuildsC

List Node.js builds for a website.

Inputs: domain (required), username (required).

hosting_nodejs_patch_vulnerabilitiesPatch Node.js VulnerabilitiesB

Auto-patch known Node.js vulnerabilities.

Inputs: domain (required), username (required).

hosting_nodejs_restartRestart Node.js AppB

Restart a Node.js application.

Inputs: domain (required), username (required).

hosting_nodejs_vulnerabilitiesList Node.js VulnerabilitiesB

List known vulnerabilities in Node.js dependencies.

Inputs: domain (required), username (required).

hosting_orders_listList Hosting OrdersA

List all hosting orders.

Inputs: no named parameters.

hosting_parked_createCreate Parked DomainC

Park a domain on a website.

Inputs: domain (required), username (required), parked_domain (required).

hosting_parked_deleteDelete Parked DomainB
Destructive

Remove a parked domain.

Inputs: domain (required), username (required), parked_domain (required).

hosting_parked_listList Parked DomainsB

List parked domains for a website.

Inputs: domain (required), username (required).

hosting_php_detailsGet PHP DetailsC

Get PHP configuration for a website.

Inputs: domain (required), username (required).

hosting_php_infoGet PHP InfoB

Get full phpinfo() output.

Inputs: domain (required), username (required).

hosting_php_reset_extensionsReset PHP ExtensionsC

Reset PHP extensions to defaults.

Inputs: domain (required), username (required).

hosting_php_update_extensionsUpdate PHP ExtensionsC

Enable/disable PHP extensions.

Inputs: domain (required), username (required), extensions (required).

hosting_php_update_optionsUpdate PHP OptionsC

Update PHP options (ini settings).

Inputs: domain (required), options (required), username (required).

hosting_php_update_versionUpdate PHP VersionC

Change PHP version for a website.

Inputs: domain (required), version (required), username (required).

hosting_subdomains_createCreate SubdomainC

Create a subdomain.

Inputs: domain (required), username (required), subdomain (required).

hosting_subdomains_deleteDelete SubdomainC
Destructive

Delete a subdomain.

Inputs: domain (required), username (required), subdomain (required).

hosting_subdomains_listList SubdomainsA

List subdomains for a website.

Inputs: domain (required), username (required).

hosting_verify_domainVerify Domain OwnershipB

Verify ownership of a domain for hosting.

Inputs: domain (required).

hosting_websites_createCreate WebsiteC

Create a new website.

Inputs: domain (required), order_id.

hosting_websites_deleteDelete WebsiteC
Destructive

Delete a website.

Inputs: domain (required).

hosting_websites_listList WebsitesA

List all websites on your hosting account.

Inputs: no named parameters.

list_all_domains_paginatedList All Domains (Full)A

Auto-paginate to fetch ALL domains in portfolio (handles pagination automatically).

Inputs: no named parameters.

list_all_subscriptions_paginatedList All Subscriptions (Full)A

Auto-paginate to fetch ALL billing subscriptions.

Inputs: no named parameters.

list_all_websites_paginatedList All Websites (Full)A

Auto-paginate to fetch ALL hosting websites (handles pagination automatically).

Inputs: no named parameters.

mail_aliases_createCreate AliasC

Create an email alias.

Inputs: alias (required), mailbox_id (required).

mail_aliases_deleteDelete AliasA
Destructive

Delete an email alias.

Inputs: alias_id (required).

mail_aliases_listList AliasesA

List email aliases for an order.

Inputs: order_id (required).

mail_autoreplies_createCreate AutoreplyC

Create an autoreply.

Inputs: body (required), subject (required), mailbox_id (required).

mail_autoreplies_deleteDelete AutoreplyB
Destructive

Delete an autoreply.

Inputs: autoreply_id (required).

mail_autoreplies_listList AutorepliesA

List autoreplies for an order.

Inputs: order_id (required).

mail_autoreplies_updateUpdate AutoreplyC

Update an autoreply.

Inputs: body (required), subject (required), autoreply_id (required).

mail_catchalls_createCreate Catch-AllC

Create a catch-all for a mailbox.

Inputs: forward_to (required), mailbox_id (required).

mail_catchalls_deleteDelete Catch-AllB
Destructive

Delete a catch-all.

Inputs: catchall_id (required).

mail_catchalls_listList Catch-AllsC

List catch-all configurations.

Inputs: order_id (required).

mail_catchalls_resend_confirmationResend Catch-All ConfirmationA

Resend the confirmation email for an unconfirmed catch-all.

Inputs: catchall_id (required).

mail_forwarders_createCreate ForwarderC

Create an email forwarder.

Inputs: forward_to (required), mailbox_id (required).

mail_forwarders_deleteDelete ForwarderA
Destructive

Delete an email forwarder.

Inputs: forwarder_id (required).

mail_forwarders_keep_copyUpdate Forwarder Keep-CopyA

Update whether forwarder keeps a copy.

Inputs: keep_copy (required), forwarder_id (required).

mail_forwarders_listList ForwardersA

List email forwarders for an order.

Inputs: order_id (required).

mail_forwarders_resend_confirmationResend Forwarder ConfirmationA

Resend the confirmation email for an unconfirmed forwarder.

Inputs: forwarder_id (required).

mail_logs_accessMail Access LogsC

List mail access logs.

Inputs: order_id (required).

mail_logs_actionMail Action LogsC

List mail action logs.

Inputs: order_id (required).

mail_logs_inboundMail Inbound LogsC

List inbound mail logs.

Inputs: order_id (required).

mail_logs_mailbox_actionsMailbox Action LogsB

List mailbox-level action logs.

Inputs: order_id (required).

mail_logs_outboundMail Outbound LogsC

List outbound mail logs.

Inputs: order_id (required).

mail_mailboxes_change_passwordChange Mailbox PasswordC

Change a mailbox password.

Inputs: password (required), mailbox_id (required).

mail_mailboxes_createCreate MailboxC

Create a new mailbox.

Inputs: email (required), order_id (required), password (required).

mail_mailboxes_deleteDelete MailboxB
Destructive

Delete a mailbox.

Inputs: mailbox_id (required).

mail_mailboxes_listList MailboxesA

List mailboxes for a mail order.

Inputs: order_id (required).

mail_orders_get_planGet Mail Order PlanC

Get the plan for a mail order.

Inputs: order_id (required).

mail_orders_listList Mail OrdersA

List all mail/email orders.

Inputs: no named parameters.

mail_tokens_createCreate Mail API TokenB

Create an API token for a mail order.

Inputs: order_id (required).

mail_tokens_listList Mail API TokensB

List API tokens for mail.

Inputs: no named parameters.

mail_tokens_revokeRevoke Mail API TokenB
Destructive

Revoke a mail API token.

Inputs: token_id (required).

mail_webhooks_createCreate Mail WebhookC

Create a webhook for a mailbox.

Inputs: url (required), event (required), mailbox_id (required).

mail_webhooks_deleteDelete Mail WebhookA
Destructive

Delete a webhook.

Inputs: webhook_id (required).

mail_webhooks_delivery_logsWebhook Delivery LogsB

List webhook delivery logs.

Inputs: order_id (required).

mail_webhooks_getGet Mail WebhookC

Get webhook details.

Inputs: webhook_id (required).

mail_webhooks_listList Mail WebhooksA

List webhooks for a mail order.

Inputs: order_id (required).

mail_webhooks_regenerate_secretRegenerate Webhook SecretB

Regenerate the signing secret for a webhook.

Inputs: webhook_id (required).

mail_webhooks_testTest Mail WebhookB

Send a test event to a webhook.

Inputs: webhook_id (required).

mail_webhooks_updateUpdate Mail WebhookD

Update a webhook.

Inputs: webhook_id (required), url, event.

reach_contacts_createCreate ContactC

Create a new contact.

Inputs: email (required), last_name, first_name.

reach_contacts_create_bulkCreate Contacts (Bulk)B

Create multiple contacts for a profile.

Inputs: contacts (required), profile_uuid (required).

reach_contacts_deleteDelete ContactC
Destructive

Delete a contact.

Inputs: uuid (required).

reach_contacts_groupsList Contact GroupsC

List contact groups.

Inputs: no named parameters.

reach_contacts_listList ContactsA

List all email marketing contacts.

Inputs: no named parameters.

reach_profiles_dns_statusGet Profile DNS StatusC

Check DNS configuration status for a profile domain.

Inputs: profile_uuid (required).

reach_profiles_listList ProfilesB

List email marketing profiles.

Inputs: no named parameters.

reach_segments_contactsList Segment ContactsA

List contacts in a segment.

Inputs: segment_uuid (required).

reach_segments_createCreate SegmentC

Create a new contact segment.

Inputs: name (required), conditions.

reach_segments_getGet Segment DetailsC

Get segment details.

Inputs: segment_uuid (required).

reach_segments_listList SegmentsB

List contact segments.

Inputs: no named parameters.

reach_segments_profile_contactsList Profile Segment ContactsB

List contacts for a segment within a specific profile.

Inputs: profile_uuid (required), segment_uuid (required).

vps_create_snapshotCreate VPS SnapshotC

Create a snapshot of a virtual machine.

Inputs: vm_id (required).

vps_datacenters_listList VPS Data CentersA

Get available VPS data centers.

Inputs: no named parameters.

vps_delete_snapshotDelete VPS SnapshotB
Destructive

Delete the VPS snapshot.

Inputs: vm_id (required).

vps_docker_containersGet Docker ContainersB

Get containers of a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_createCreate Docker ProjectA

Create a new Docker Compose project.

Inputs: vm_id (required), project_name (required), compose_content (required).

vps_docker_deleteDelete Docker ProjectB
Destructive

Delete a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_getGet Docker ProjectA

Get Docker project contents (compose file).

Inputs: vm_id (required), project_name (required).

vps_docker_listList Docker ProjectsC

List Docker projects on a VPS.

Inputs: vm_id (required).

vps_docker_logsGet Docker LogsC

Get logs of a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_restartRestart Docker ProjectC

Restart a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_startStart Docker ProjectC

Start a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_stopStop Docker ProjectC

Stop a Docker project.

Inputs: vm_id (required), project_name (required).

vps_docker_updateUpdate Docker ProjectC

Update a Docker project (re-deploy).

Inputs: vm_id (required), project_name (required), compose_content.

vps_firewall_activateActivate FirewallC

Activate a firewall on a VPS.

Inputs: vm_id (required), firewall_id (required).

vps_firewall_createCreate FirewallC

Create a new firewall.

Inputs: name (required).

vps_firewall_create_ruleCreate Firewall RuleB

Add a rule to a firewall.

Inputs: port (required), source (required), protocol (required), firewall_id (required), +2 more.

vps_firewall_deactivateDeactivate FirewallC

Deactivate a firewall from a VPS.

Inputs: vm_id (required), firewall_id (required).

vps_firewall_deleteDelete FirewallB
Destructive

Delete a firewall.

Inputs: firewall_id (required).

vps_firewall_delete_ruleDelete Firewall RuleC
Destructive

Remove a firewall rule.

Inputs: rule_id (required), firewall_id (required).

vps_firewall_getGet Firewall DetailsB

Get firewall details with rules.

Inputs: firewall_id (required).

vps_firewall_listList FirewallsB

Get all firewalls.

Inputs: no named parameters.

vps_firewall_syncSync FirewallC

Sync firewall rules to a VPS.

Inputs: vm_id (required), firewall_id (required).

vps_firewall_update_ruleUpdate Firewall RuleB

Update an existing firewall rule.

Inputs: port (required), source (required), rule_id (required), protocol (required), +3 more.

vps_getGet VPS DetailsA

Get details of a specific virtual machine.

Inputs: vm_id (required).

vps_get_actionGet Action DetailsB

Get details of a specific VPS action.

Inputs: vm_id (required), action_id (required).

vps_get_actionsGet VPS ActionsB

Get list of actions/operations for a VPS.

Inputs: vm_id (required).

vps_get_attached_keysGet Attached Public KeysA

Get SSH public keys attached to a VPS.

Inputs: vm_id (required).

vps_get_backupsGet VPS BackupsA

List backups for a virtual machine.

Inputs: vm_id (required).

vps_get_metricsGet VPS MetricsA

Get performance metrics (CPU, RAM, disk, network).

Inputs: vm_id (required).

vps_get_snapshotGet VPS SnapshotC

Get snapshot details.

Inputs: vm_id (required).

vps_keys_attachAttach SSH Key to VPSB

Attach an SSH public key to a virtual machine.

Inputs: vm_id (required), public_key_id (required).

vps_keys_createCreate SSH KeyC

Upload a new SSH public key.

Inputs: key (required), name (required).

vps_keys_deleteDelete SSH KeyB
Destructive

Delete an SSH public key.

Inputs: public_key_id (required).

vps_keys_listList SSH KeysA

Get all SSH public keys.

Inputs: no named parameters.

vps_listList VPSA

Get list of all virtual machines.

Inputs: no named parameters.

vps_malware_installInstall Malware ScannerB

Install Monarx malware scanner on a VPS.

Inputs: vm_id (required).

vps_malware_metricsGet Malware Scan MetricsB

Get malware scan statistics for a VPS.

Inputs: vm_id (required).

vps_malware_uninstallUninstall Malware ScannerA

Remove Monarx malware scanner from a VPS.

Inputs: vm_id (required).

vps_ptr_createCreate PTR RecordB

Create a PTR (reverse DNS) record for a VPS IP.

Inputs: value (required), vm_id (required), ip_address_id (required).

vps_ptr_deleteDelete PTR RecordA
Destructive

Delete a PTR record from a VPS IP.

Inputs: vm_id (required), ip_address_id (required).

vps_purchasePurchase VPSC

Purchase a new virtual machine.

Inputs: item_id (required), payment_method_id (required).

vps_recovery_startStart Recovery ModeC

Boot VPS into recovery mode.

Inputs: vm_id (required).

vps_recovery_stopStop Recovery ModeA

Exit recovery mode and reboot normally.

Inputs: vm_id (required).

vps_recreateRecreate VPSA
Destructive

Recreate (reinstall) a virtual machine. DESTROYS ALL DATA.

Inputs: vm_id (required), template_id (required), password.

vps_reset_hostnameReset VPS HostnameA

Reset hostname to default.

Inputs: vm_id (required).

vps_restartRestart VPSC

Restart a virtual machine.

Inputs: vm_id (required).

vps_restore_backupRestore VPS BackupC
Destructive

Restore a backup.

Inputs: vm_id (required), backup_id (required).

vps_restore_snapshotRestore VPS SnapshotB
Destructive

Restore a VPS from snapshot.

Inputs: vm_id (required).

vps_scripts_createCreate Post-Install ScriptB

Create a new post-install script.

Inputs: name (required), content (required).

vps_scripts_deleteDelete Post-Install ScriptA
Destructive

Delete a post-install script.

Inputs: script_id (required).

vps_scripts_getGet Post-Install ScriptB

Get a specific post-install script.

Inputs: script_id (required).

vps_scripts_listList Post-Install ScriptsA

Get all post-install scripts.

Inputs: no named parameters.

vps_scripts_updateUpdate Post-Install ScriptB

Update an existing post-install script.

Inputs: name (required), content (required), script_id (required).

vps_set_hostnameSet VPS HostnameC

Set hostname for a virtual machine.

Inputs: vm_id (required), hostname (required).

vps_set_nameserversSet VPS NameserversB

Set nameservers for a virtual machine.

Inputs: vm_id (required), nameservers (required).

vps_set_panel_passwordSet Panel PasswordA

Set panel password for a VPS (e.g. cPanel/Plesk).

Inputs: vm_id (required), password (required).

vps_set_root_passwordSet Root PasswordB

Set root password for a virtual machine.

Inputs: vm_id (required), password (required).

vps_setupSetup VPSB

Setup a purchased virtual machine with OS and credentials.

Inputs: vm_id (required), template_id (required), hostname, password, +2 more.

vps_startStart VPSB

Start a virtual machine.

Inputs: vm_id (required).

vps_stopStop VPSC

Stop a virtual machine.

Inputs: vm_id (required).

vps_templates_getGet OS TemplateB

Get details of a specific OS template.

Inputs: template_id (required).

vps_templates_listList OS TemplatesA

Get available OS templates for VPS.

Inputs: no named parameters.

wp_ai_statusShow AI Option StatusB

Show AI tools option status for WordPress.

Inputs: software (required), username (required).

wp_ai_toggleSet AI Option StatusB

Enable or disable AI tools for WordPress.

Inputs: enabled (required), software (required), username (required).

wp_check_validCheck WordPress ValidityC

Check if WordPress installations are valid/intact.

Inputs: username (required).

wp_deleteDelete WordPress InstallationA
Destructive

Delete a WordPress installation.

Inputs: software (required), username (required).

wp_detect_installationsDetect WordPress InstallationsB

Auto-detect WordPress installations on a hosting account.

Inputs: username (required).

wp_get_versionGet WordPress VersionB

Show WordPress core version.

Inputs: software (required), username (required).

wp_installInstall WordPressC

Install WordPress on a hosting account.

Inputs: username (required), title, admin_email, admin_password, +1 more.

wp_installations_listList WordPress InstallationsA

List all WordPress installations across all hosting accounts.

Inputs: no named parameters.

wp_jwt_tokenGet WP JWT TokenB

Get installation JWT token for API access.

Inputs: software (required), username (required).

wp_list_updatesList WordPress UpdatesB

List available WordPress core updates.

Inputs: software (required), username (required).

wp_litespeed_purgePurge LiteSpeed CacheC

Purge the LiteSpeed Cache.

Inputs: software (required), username (required).

wp_litespeed_statusLiteSpeed Cache StatusC

Show LiteSpeed Cache status.

Inputs: software (required), username (required).

wp_maintenance_statusMaintenance StatusC

Show maintenance mode status.

Inputs: software (required), username (required).

wp_maintenance_toggleToggle MaintenanceB

Toggle maintenance mode on/off.

Inputs: software (required), username (required).

wp_memcached_statusMemcached StatusB

Show Memcached object cache status.

Inputs: software (required), username (required).

wp_memcached_toggleToggle MemcachedB

Toggle Memcached object cache on/off.

Inputs: software (required), username (required).

wp_plugins_activateActivate PluginB

Activate a WordPress plugin.

Inputs: plugin (required), software (required), username (required).

wp_plugins_availableList Available PluginsC

List plugins available for installation.

Inputs: software (required), username (required).

wp_plugins_deactivateDeactivate PluginC

Deactivate a WordPress plugin.

Inputs: plugin (required), software (required), username (required).

wp_plugins_installInstall WordPress PluginsC

Install plugins by slug.

Inputs: plugins (required), software (required), username (required).

wp_plugins_listList Installed PluginsB

List installed WordPress plugins.

Inputs: software (required), username (required).

wp_plugins_suggestedList Suggested PluginsB

Get suggested WordPress plugins.

Inputs: no named parameters.

wp_plugins_uninstallUninstall PluginsB
Destructive

Uninstall WordPress plugins.

Inputs: plugins (required), software (required), username (required).

wp_plugins_updateUpdate PluginsC

Update WordPress plugins.

Inputs: plugins (required), software (required), username (required).

wp_plugins_update_hostingerUpdate Hostinger PluginC

Update the Hostinger WordPress plugin.

Inputs: software (required), username (required).

wp_themes_activateActivate ThemeC

Activate a WordPress theme.

Inputs: theme (required), software (required), username (required).

wp_themes_installInstall ThemeC

Install a WordPress theme.

Inputs: theme (required), software (required), username (required).

wp_themes_list_availableList Available ThemesC

Browse WordPress themes.

Inputs: no named parameters.

wp_themes_list_installedList Installed ThemesA

List installed WordPress themes.

Inputs: software (required), username (required).

wp_themes_uninstallUninstall ThemesC
Destructive

Uninstall WordPress themes.

Inputs: themes (required), software (required), username (required).

wp_themes_updateUpdate ThemesC

Update WordPress themes.

Inputs: themes (required), software (required), username (required).

wp_update_coreUpdate WordPress CoreB

Update WordPress core to latest version.

Inputs: software (required), username (required).

wp_woocommerce_checkCheck WooCommerceB

Check if WooCommerce is installed.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.6/5.0

    Scored across 284 tools

    Disambiguation2/5

    The sheer volume of 284 tools creates substantial selection ambiguity, with near-duplicates like list_all_domains_paginated versus domains_get_list and multiple plugin discovery tools (wp_plugins_available/search/suggested) that overlap significantly. While most tools are prefixed by service area, the boundaries between related utilities are often unclear without deep inspection, especially given the paginated and batch helper tools that duplicate existing operations.

    Naming Consistency3/5

    Tool names broadly follow a domain_entity_action pattern (e.g., vps_firewall_create, hosting_db_delete, wp_plugins_activate), but significant inconsistencies exist: get/list are used interchangeably, create/add/enable/install all appear for similar operations, and some tools reverse the action/object order (vps_create_snapshot vs. vps_docker_create). Utility helpers like batch_dns_update and list_all_domains_paginated break the domain-prefix pattern entirely, making the naming scheme readable but not predictable.

    Tool Count1/5

    With 284 tools, this server has a severe excess of endpoints that far exceeds the 50+ threshold for an extreme mismatch. Such a massive surface overwhelms agents and makes reliable tool selection impractical, even though the underlying Hostinger API does cover many services.

    Completeness4/5

    The tool set is remarkably comprehensive, providing CRUD and lifecycle coverage across billing, domains, DNS, VPS, hosting, WordPress, mail, ecommerce, agency, and Horizon services. Minor gaps exist—such as no WHOIS profile update endpoint, no mailbox quota modification, and no domain transfer initiation—but the overall domain coverage is extensive with few dead ends.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      The Hostinger MCP server enables seamless integration of Hostinger’s API with AI tools. This server exposes Hostinger API endpoints as callable tools, allowing AI models to fetch live data or perform real-time actions on hosting infrastructure.
      3
      204,356 npm
      171
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      A comprehensive MCP server for managing cPanel hosting accounts through AI assistants. It supports DNS, email (DKIM/SPF), databases, domains, SSL, PHP, cron jobs, security, Git deployment, and more.
      100
      26
      ISC