GitHub - Hostinger:api-Mcp-Server
GitHub - Hostinger:api-Mcp-Server
Sign in Sign up
Custom properties
LICENSE fix(mcp): added license file last month
11 stars
5 forks
build.js chore: mcp server update last month
v0.0.22 Latest
glama.json fix(mcp): added license file last month last week
hostinger-api-mcp
Model Context Protocol (MCP) server for Hostinger API.
Prerequisites
If you don't have Node.js installed, you can download it from the official website. Alternatively, you can use a
package manager like Homebrew (for macOS) or Chocolatey (for Windows) to install Node.js.
We recommend using NVM (Node Version Manager) to install and manage installed Node.js versions. After
installing NVM, you can install Node.js with the following command:
Installation
To install the MCP server, run one of the following command, depending on your package manager:
# Or with yarn
yarn global add hostinger-api-mcp
# Or with pnpm
pnpm add -g hostinger-api-mcp
Update
To update the MCP server to the latest version, use one of the following commands, depending on your package
manager:
# Or with yarn
yarn global upgrade hostinger-api-mcp
# Or with pnpm
pnpm update -g hostinger-api-mcp
Configuration
The following environment variables can be configured when running the server:
APITOKEN : Your API token, which will be sent in the Authorization header.
Usage
{
"mcpServers": {
"hostinger-api": {
"command": "hostinger-api-mcp",
"env": {
"DEBUG": "false",
"APITOKEN": "YOUR API TOKEN"
}
}
}
}
// Call a tool
const result = await mcp.callTool({
id: "TOOL-ID",
arguments: { param1: "value1" }
});
console.log("Tool result:", result);
Available Tools
billing_getCatalogItemListV1
This endpoint retrieves a list of catalog items available for order.
Prices in catalog items is displayed as cents (without floating point), e.g: float 17.99 is displayed as integer
1799 .
Method: GET
Path: /api/billing/v1/catalog
Parameters:
name : Filter catalog items by name. Use * for wildcard search, e.g. .COM* to find .com domain
billing_createNewServiceOrderV1
This endpoint creates a new service order.
DEPRECATED
To place order, you need to provide payment method ID and list of price items from the catalog endpoint together
with quantity. Coupons also can be provided during order creation.
Orders created using this endpoint will be set for automatic renewal.
Some credit_card payments might need additional verification, rendering purchase unprocessed. We
recommend use other payment methods than credit_card if you encounter this issue.
Method: POST
Path: /api/billing/v1/orders
Parameters:
billing_setDefaultPaymentMethodV1
This endpoint sets default payment method for your account.
Method: POST
Path: /api/billing/v1/payment-methods/{paymentMethodId}
Parameters:
billing_deletePaymentMethodV1
This endpoint deletes a payment method from your account.
Method: DELETE
Path: /api/billing/v1/payment-methods/{paymentMethodId}
Parameters:
billing_getPaymentMethodListV1
This endpoint retrieves a list of available payment methods that can be used for placing new orders.
Method: GET
Path: /api/billing/v1/payment-methods
billing_cancelSubscriptionV1
This endpoint cancels a subscription and stops any further billing.
Method: DELETE
Path: /api/billing/v1/subscriptions/{subscriptionId}
Parameters:
billing_getSubscriptionListV1
This endpoint retrieves a list of all subscriptions associated with your account.
Method: GET
Path: /api/billing/v1/subscriptions
DNS_getSnapshotV1
This endpoint retrieves particular DNS snapshot with the contents of DNS zone records.
Method: GET
Path: /api/dns/v1/snapshots/{domain}/{snapshotId}
Parameters:
DNS_getSnapshotListV1
This endpoint retrieves list of DNS snapshots.
Method: GET
Path: /api/dns/v1/snapshots/{domain}
Parameters:
DNS_restoreSnapshotV1
This endpoint restores DNS zone to the selected snapshot.
Method: POST
Path: /api/dns/v1/snapshots/{domain}/{snapshotId}/restore
Parameters:
DNS_getRecordsV1
This endpoint retrieves DNS zone records for a specific domain.
Method: GET
Path: /api/dns/v1/zones/{domain}
Parameters:
DNS_updateZoneRecordsV1
This endpoint updates DNS records for the selected domain.
Using overwrite = true will replace existing records with the provided ones. Otherwise existing records will be
updated and new records will be added.
Method: PUT
Path: /api/dns/v1/zones/{domain}
Parameters:
overwrite : If true , resource records (RRs) matching name and type will be deleted and new RRs will be
created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs are
found, they are created.
zone : zone parameter (required)
DNS_deleteZoneRecordsV1
This endpoint deletes DNS records for the selected domain. To filter which records to delete, add the name of the
record and type to the filter. Multiple filters can be provided with single request.
If you have multiple records with the same name and type, and you want to delete only part of them, refer to the
Update zone records endpoint.
Method: DELETE
Path: /api/dns/v1/zones/{domain}
Parameters:
DNS_resetZoneRecordsV1
This endpoint resets DNS zone to the default records.
Method: POST
Path: /api/dns/v1/zones/{domain}/reset
Parameters:
DNS_validateZoneRecordsV1
This endpoint used to validate DNS records prior update for the selected domain.
If the validation is successful, the response will contain 200 Success code. If there is validation error, the
response will fail with 422 Validation error code.
Method: POST
Path: /api/dns/v1/zones/{domain}/validate
Parameters:
overwrite : If true , resource records (RRs) matching name and type will be deleted and new RRs will be
created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs are
found, they are created.
zone : zone parameter (required)
domains_checkDomainAvailabilityV1
This endpoint checks the availability of a domain name. Multiple TLDs can be checked at once. If you want to get
alternative domains with response, provide only one TLD in the request and set with_alternatives to true .
TLDs should be provided without the leading dot (e.g. com , net , org ).
Method: POST
Path: /api/domains/v1/availability
Parameters:
domains_getForwardingDataV1
This endpoint retrieves domain forwarding data.
Method: GET
Path: /api/domains/v1/forwarding/{domain}
Parameters:
domains_deleteForwardingDataV1
This endpoint deletes domain forwarding data.
Method: DELETE
Path: /api/domains/v1/forwarding/{domain}
Parameters:
domains_createForwardingDataV1
This endpoint creates domain forwarding data.
Method: POST
Path: /api/domains/v1/forwarding
Parameters:
domains_enableDomainLockV1
This endpoint enables domain lock for the domain. When domain lock is enabled, the domain cannot be
transferred to another registrar without first disabling the lock.
Method: PUT
Path: /api/domains/v1/portfolio/{domain}/domain-lock
Parameters:
domains_disableDomainLockV1
This endpoint disables domain lock for the domain. Domain lock needs to be disabled before transferring the
domain to another registrar.
Method: DELETE
Path: /api/domains/v1/portfolio/{domain}/domain-lock
Parameters:
domains_getDomainV1
This endpoint retrieves details for specified domain.
Method: GET
Path: /api/domains/v1/portfolio/{domain}
Parameters:
domains_getDomainListV1
This endpoint retrieves a list of all domains associated with your account.
Method: GET
Path: /api/domains/v1/portfolio
domains_purchaseNewDomainV1
This endpoint allows you to buy (purchase) and register a new domain name.
If registration fails, login to hPanel and check the domain registration status.
If no payment method is provided, your default payment method will be used automatically.
If no WHOIS information is provided, the default contact information for that TLD (Top-Level Domain) will be used.
Before making a request, ensure that WHOIS information for the desired TLD exists in your account.
Some TLDs require additional_details to be provided and these will be validated before completing the
purchase. The required additional details vary by TLD.
Method: POST
Path: /api/domains/v1/portfolio
Parameters:
domains_enablePrivacyProtectionV1
This endpoint enables privacy protection for the domain. When privacy protection is enabled, the domain owner's
personal information is hidden from the public WHOIS database.
Method: PUT
Path: /api/domains/v1/portfolio/{domain}/privacy-protection
Parameters:
domains_disablePrivacyProtectionV1
This endpoint disables privacy protection for the domain. When privacy protection is disabled, the domain owner's
personal information is visible in the public WHOIS database.
Method: DELETE
Path: /api/domains/v1/portfolio/{domain}/privacy-protection
Parameters:
domains_updateNameserversV1
This endpoint sets the nameservers for a specified domain.
Be aware, that improper nameserver configuration can lead to the domain being unresolvable or unavailable.
Method: PUT
Path: /api/domains/v1/portfolio/{domain}/nameservers
Parameters:
domains_getWHOISProfileV1
This endpoint retrieves a WHOIS contact profile.
Method: GET
Path: /api/domains/v1/whois/{whoisId}
Parameters:
domains_deleteWHOISProfileV1
This endpoint deletes WHOIS contact profile.
Method: DELETE
Path: /api/domains/v1/whois/{whoisId}
Parameters:
domains_getWHOISProfileListV1
This endpoint retrieves a list of WHOIS contact profiles.
Method: GET
Path: /api/domains/v1/whois
Parameters:
domains_createWHOISProfileV1
This endpoint creates WHOIS contact profile.
Method: POST
Path: /api/domains/v1/whois
Parameters:
domains_getWHOISProfileUsageV1
This endpoint retrieves a domain list where provided WHOIS contact profile is used.
Method: GET
Path: /api/domains/v1/whois/{whoisId}/usage
Parameters:
VPS_getDataCentersListV1
This endpoint retrieves a list of all data centers available.
Method: GET
Path: /api/vps/v1/data-centers
VPS_activateFirewallV1
This endpoint activates a firewall for a specified virtual machine.
Method: POST
Path: /api/vps/v1/firewall/{firewallId}/activate/{virtualMachineId}
Parameters:
VPS_deactivateFirewallV1
This endpoint deactivates a firewall for a specified virtual machine.
Method: POST
Path: /api/vps/v1/firewall/{firewallId}/deactivate/{virtualMachineId}
Parameters:
VPS_getFirewallV1
This endpoint retrieves firewall by its ID and rules associated with it.
Method: GET
Path: /api/vps/v1/firewall/{firewallId}
Parameters:
VPS_deleteFirewallV1
This endpoint deletes a specified firewall.
Any virtual machine that has this firewall activated will automatically have it deactivated.
Method: DELETE
Path: /api/vps/v1/firewall/{firewallId}
Parameters:
VPS_getFirewallListV1
This endpoint retrieves a list of all firewalls available.
Method: GET
Path: /api/vps/v1/firewall
Parameters:
VPS_createNewFirewallV1
This endpoint creates a new firewall.
Method: POST
Path: /api/vps/v1/firewall
Parameters:
name : name parameter (required)
VPS_updateFirewallRuleV1
This endpoint updates a specific firewall rule from a specified firewall.
Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again
manually.
Method: PUT
Path: /api/vps/v1/firewall/{firewallId}/rules/{ruleId}
Parameters:
VPS_deleteFirewallRuleV1
This endpoint deletes a specific firewall rule from a specified firewall.
Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again
manually.
Method: DELETE
Path: /api/vps/v1/firewall/{firewallId}/rules/{ruleId}
Parameters:
VPS_createFirewallRuleV1
This endpoint creates new firewall rule from a specified firewall. By default, the firewall drops all incoming traffic,
which means you must add accept rules for all ports you want to use.
Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again
manually.
Method: POST
Path: /api/vps/v1/firewall/{firewallId}/rules
Parameters:
VPS_syncFirewallV1
This endpoint syncs a firewall for a specified virtual machine.
Firewall can loose sync with virtual machine if the firewall has new rules added, removed or updated.
Method: POST
Path: /api/vps/v1/firewall/{firewallId}/sync/{virtualMachineId}
Parameters:
VPS_getPostInstallScriptV1
This endpoint retrieves post-install script by its ID.
Method: GET
Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}
Parameters:
VPS_updatePostInstallScriptV1
This endpoint updates a specific post-install script.
Method: PUT
Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}
Parameters:
VPS_deleteAPostInstallScriptV1
This endpoint deletes a post-install script from your account.
Method: DELETE
Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}
Parameters:
VPS_getPostInstallScriptListV1
This endpoint retrieves a list of post-install scripts associated with your account.
Method: GET
Path: /api/vps/v1/post-install-scripts
Parameters:
VPS_createPostInstallScriptV1
This endpoint allows you to add a new post-install script to your account, which can then be used run after the
installation of a virtual machine instance.
The script contents will be saved to the file /post_install with executable attribute set and will be executed
once virtual machine is installed. The output of the script will be redirected to /post_install.log . Maximum
script size is 48KB.
Method: POST
Path: /api/vps/v1/post-install-scripts
Parameters:
VPS_attachPublicKeyV1
This endpoint attaches an existing public keys from your account to a specified virtual machine.
Method: POST
Path: /api/vps/v1/public-keys/attach/{virtualMachineId}
Parameters:
VPS_deleteAPublicKeyV1
This endpoint deletes a public key from your account.
Deleting public key from account does not remove it from virtual machine
Method: DELETE
Path: /api/vps/v1/public-keys/{publicKeyId}
Parameters:
VPS_getPublicKeyListV1
This endpoint retrieves a list of public keys associated with your account.
Method: GET
Path: /api/vps/v1/public-keys
Parameters:
VPS_createNewPublicKeyV1
This endpoint allows you to add a new public key to your account, which can then be attached to virtual machine
instances for secure access.
Method: POST
Path: /api/vps/v1/public-keys
Parameters:
VPS_getTemplateV1
This endpoint retrieves details of a specific OS template for virtual machines.
Method: GET
Path: /api/vps/v1/templates/{templateId}
Parameters:
VPS_getTemplateListV1
This endpoint retrieves a list of available OS templates for virtual machines.
Method: GET
Path: /api/vps/v1/templates
VPS_getActionV1
This endpoint retrieves details of a specific action performed on a specified virtual machine.
This endpoint allows you to view detailed information about a particular action, including the action name,
timestamp, and status.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}
Parameters:
VPS_getActionListV1
This endpoint retrieves a list of actions performed on a specified virtual machine.
Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or
modifying the machine. This endpoint allows you to view the history of these actions, providing details about each
action, such as the action name, timestamp, and status.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/actions
Parameters:
VPS_getAttachedPublicKeysV1
This endpoint retrieves a list of public keys attached to a specified virtual machine.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/public-keys
Parameters:
VPS_deleteBackupV1
This endpoint deletes a specified backup for a virtual machine.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}
Parameters:
VPS_getBackupListV1
This endpoint retrieves a list of backups for a specified virtual machine.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/backups
Parameters:
VPS_restoreBackupV1
This endpoint restores a backup for a specified virtual machine.
The system will then initiate the restore process, which may take some time depending on the size of the backup.
All data on the virtual machine will be overwritten with the data from the backup.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}/restore
Parameters:
VPS_setHostnameV1
This endpoint sets the hostname for a specified virtual machine. Changing hostname does not update PTR record
automatically. If you want your virtual machine to be reachable by a hostname, you need to point your domain
A/AAAA records to virtual machine IP as well.
Method: PUT
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/hostname
Parameters:
VPS_resetHostnameV1
This endpoint resets the hostname and PTR record of a specified virtual machine to the default value.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/hostname
Parameters:
VPS_getVirtualMachineV1
This endpoint retrieves detailed information about a specified virtual machine.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}
Parameters:
VPS_getVirtualMachineListV1
This endpoint retrieves a list of all available virtual machines.
Method: GET
Path: /api/vps/v1/virtual-machines
VPS_purchaseNewVirtualMachineV1
This endpoint allows you to buy (purchase) and setup a new virtual machine.
If virtual machine setup fails for any reason, login to hPanel and complete the setup manually.
If no payment method is provided, your default payment method will be used automatically.
Method: POST
Path: /api/vps/v1/virtual-machines
Parameters:
VPS_getScanMetricsV1
This endpoint retrieves the scan metrics for the Monarx malware scanner installed on a specified virtual machine.
The scan metrics provide detailed information about the malware scans performed by Monarx, including the
number of scans, detected threats, and other relevant statistics. This information is useful for monitoring the
security status of the virtual machine and assessing the effectiveness of the malware scanner.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx
Parameters:
VPS_installMonarxV1
This endpoint installs the Monarx malware scanner on a specified virtual machine.
Monarx is a security tool designed to detect and prevent malware infections on virtual machines. By installing
Monarx, users can enhance the security of their virtual machines, ensuring that they are protected against
malicious software.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx
Parameters:
VPS_uninstallMonarxV1
This endpoint uninstalls the Monarx malware scanner on a specified virtual machine. If Monarx is not installed, the
request will still be processed without any effect.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx
Parameters:
VPS_getMetricsV1
This endpoint retrieves the historical metrics for a specified virtual machine. It includes the following metrics:
CPU usage
Memory usage
Disk usage
Network usage
Uptime
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/metrics
Parameters:
VPS_setNameserversV1
This endpoint sets the nameservers for a specified virtual machine. Be aware, that improper nameserver
configuration can lead to the virtual machine being unable to resolve domain names.
Method: PUT
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/nameservers
Parameters:
VPS_createPTRRecordV1
This endpoint creates or updates a PTR (Pointer) record for a specified virtual machine.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/ptr
Parameters:
VPS_deletePTRRecordV1
This endpoint deletes a PTR (Pointer) record for a specified virtual machine.
Once deleted, reverse DNS lookups to the virtual machine's IP address will no longer return the previously
configured hostname.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/ptr
Parameters:
VPS_setPanelPasswordV1
This endpoint sets the panel password for a specified virtual machine. If virtual machine does not use panel OS,
the request will still be processed without any effect. Requirements for the password is the same as in the recreate
virtual machine endpoint.
Method: PUT
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/panel-password
Parameters:
VPS_startRecoveryModeV1
This endpoint initiates the recovery mode for a specified virtual machine. Recovery mode is a special state that
allows users to perform system rescue operations, such as repairing file systems, recovering data, or
troubleshooting issues that prevent the virtual machine from booting normally.
Virtual machine will boot recovery disk image and original disk image will be mounted in /mnt directory.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recovery
Parameters:
VPS_stopRecoveryModeV1
This endpoint stops the recovery mode for a specified virtual machine. If virtual machine is not in recovery mode,
this operation will fail.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recovery
Parameters:
VPS_recreateVirtualMachineV1
This endpoint will recreate a virtual machine from scratch. The recreation process involves reinstalling the
operating system and resetting the virtual machine to its initial state. Snapshots, if there are any, will be deleted.
Password Requirements
Password will be checked against leaked password databases. Requirements for the password are:
This operation is irreversible and will result in the loss of all data stored on the virtual machine!
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recreate
Parameters:
password : Password for the virtual machine. If not provided, random password will be generated. Password
will not be shown in the response.
post_install_script_id : Post-install script ID
VPS_restartVirtualMachineV1
This endpoint restarts a specified virtual machine. This is equivalent to fully stopping and starting the virtual
machine. If the virtual machine was stopped, it will be started.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/restart
Parameters:
VPS_setRootPasswordV1
This endpoint sets the root password for a specified virtual machine. Requirements for the password is the same
as in the recreate virtual machine endpoint.
Method: PUT
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/root-password
Parameters:
VPS_setupNewVirtualMachineV1
This endpoint will setup newly purchased virtual machine with initial state.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/setup
Parameters:
password : Password for the virtual machine. If not provided, random password will be generated. Password
will not be shown in the response.
hostname : Override default hostname of the virtual machine
VPS_getSnapshotV1
This endpoint retrieves a snapshot for a specified virtual machine.
Method: GET
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot
Parameters:
VPS_createSnapshotV1
This endpoint creates a snapshot of a specified virtual machine. A snapshot captures the state and data of the
virtual machine at a specific point in time, allowing users to restore the virtual machine to that state if needed. This
operation is useful for backup purposes, system recovery, and testing changes without affecting the current state
of the virtual machine.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot
Parameters:
VPS_deleteSnapshotV1
This endpoint deletes a snapshot of a specified virtual machine.
Method: DELETE
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot
Parameters:
VPS_restoreSnapshotV1
This endpoint restores a specified virtual machine to a previous state using a snapshot. Restoring from a snapshot
allows users to revert the virtual machine to that state, which is useful for system recovery, undoing changes, or
testing.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore
Parameters:
VPS_startVirtualMachineV1
This endpoint starts a specified virtual machine. If the virtual machine is already running, the request will still be
processed without any effect.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/start
Parameters:
VPS_stopVirtualMachineV1
This endpoint stops a specified virtual machine. If the virtual machine is already stopped, the request will still be
processed without any effect.
Method: POST
Path: /api/vps/v1/virtual-machines/{virtualMachineId}/stop
Parameters:
© 2025 GitHub, Inc. Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information