Hostinger API▌

by hostinger
Hostinger API simplifies hosting tasks like domain registration, DNS, VPS setup, backups, and billing using 100+ special
Integrates with Hostinger's hosting platform to enable domain registration and DNS management, VPS creation and configuration, firewall setup, backup operations, and billing subscription handling through over 100 specialized tools organized by service category.
best for
- / Web developers managing hosting infrastructure
- / System administrators automating server provisioning
- / Agencies managing multiple client hosting accounts
capabilities
- / Register and manage domains
- / Create and configure VPS instances
- / Manage DNS records and zones
- / Configure firewall rules
- / Handle backup operations
- / Manage hosting subscriptions and billing
what it does
Provides access to Hostinger's hosting platform APIs through over 100 tools for managing domains, VPS instances, DNS, firewalls, and hosting subscriptions.
about
Hostinger API is an official MCP server published by hostinger that provides AI assistants with tools and capabilities via the Model Context Protocol. Hostinger API simplifies hosting tasks like domain registration, DNS, VPS setup, backups, and billing using 100+ special It is categorized under cloud infrastructure, auth security.
how to install
You can install Hostinger API in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Hostinger API is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
hostinger-api-mcp
Model Context Protocol (MCP) server for Hostinger API.
Prerequisites
- Node.js version 24 or higher
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:
nvm install v24
nvm use v24
Installation
To install the MCP server, run one of the following command, depending on your package manager:
# 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
Update
To update the MCP server to the latest version, use one of the following commands, depending on your package manager:
# Update globally from npm
npm update -g hostinger-api-mcp
# 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:
DEBUG: Enable debug logging (true/false) (default: false)API_TOKEN: Your API token, which will be sent in theAuthorizationheader.
Usage
JSON configuration for Claude, Cursor, etc.
{
"mcpServers": {
"hostinger-api": {
"command": "hostinger-api-mcp",
"env": {
"DEBUG": "false",
"API_TOKEN": "YOUR API TOKEN"
}
}
}
}
Transport Options
The MCP server supports two transport modes:
Standard I/O Transport
The server can use standard input / output (stdio) transport (default). This provides local streaming:
Streamable HTTP Transport
The server can use HTTP streaming transport. This provides bidirectional streaming over HTTP:
# Default HTTP transport on localhost:8100
hostinger-api-mcp --http
# Specify custom host and port
hostinger-api-mcp --http --host 0.0.0.0 --port 8150
Command Line Options
Options:
--http Use HTTP streaming transport
--stdio Use Server-Sent Events transport (default)
--host {host} Hostname or IP address to listen on (default: 127.0.0.1)
--port {port} Port to bind to (default: 8100)
--help Show help message
Using as an MCP Tool Provider
This server implements the Model Context Protocol (MCP) and can be used with any MCP-compatible consumer.
Example of connecting to this server using HTTP streaming transport:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
// Create HTTP transport
const transport = new StreamableHTTPClientTransport({
url: "http://localhost:8100/",
headers: {
"Authorization": `Bearer ${process.env.API_TOKEN}`
}
});
// Connect to the MCP server
const client = new Client({
name: "my-client",
version: "1.0.0"
}, {
capabilities: {}
});
await client.connect(transport);
// List available tools
const { tools } = await client.listTools();
console.log("Available tools:", tools);
// Call a tool
const result = await client.callTool({
name: "billing_getCatalogItemListV1",
arguments: { category: "DOMAIN" }
});
console.log("Tool result:", result);
Available Tools
This MCP server provides the following tools:
hosting_importWordpressWebsite
Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. The username will be automatically resolved from the domain.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)archivePath: Absolute or relative path to the website archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding using EXACTLY this naming pattern: directoryname_YYYYMMDD_HHMMSS.zip (e.g., mywebsite_20250115_143022.zip) (required)databaseDump: Absolute or relative path to a database dump file (.sql) (required)
hosting_deployWordpressPlugin
Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)slug: WordPress plugin slug (e.g., omnisend) (required)pluginPath: Absolute or relative path to the plugin directory containing all plugin files (required)
hosting_deployWordpressTheme
Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)slug: WordPress theme slug (e.g., twentytwentyfive) (required)themePath: Absolute or relative path to the theme directory containing all theme files (required)activate: Whether to activate the theme after deployment (default: false)
hosting_deployJsApplication
Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)archivePath: Absolute or relative path to the application archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory. (required)removeArchive: Whether to remove the archive file after successful deployment (default: false)
hosting_deployStaticWebsite
Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The archive will be extracted and deployed directly without any build steps. The username will be automatically resolved from the domain.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)archivePath: Absolute or relative path to the static website archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding using EXACTLY this naming pattern: directoryname_YYYYMMDD_HHMMSS.zip (e.g., mystaticwebsite_20250115_143022.zip) (required)removeArchive: Whether to remove the archive file after successful deployment (default: false)
hosting_listJsDeployments
List javascript application deployments for checking their status. Use this tool when customer asks for the status of the deployment. This tool retrieves a paginated list of Node.js application deployments for a domain with optional filtering by deployment states.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)page: Page number for pagination (optional)perPage: Number of items per page (optional)states: Filter by deployment states (optional). Valid values: pending, completed, running, failed
hosting_showJsDeploymentLogs
Retrieve logs for a specified JavaScript application deployment for debugging purposes in case of failure.
- Method: ``
- Path: ``
Parameters:
domain: Domain name associated with the hosting account (e.g., example.com) (required)fromLine: Line from which to retrieve logs (optional, default 0)buildUuid: UUID of the JavaScript deployment build (required)
billing_getCatalogItemListV1
Retrieve 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.
Use this endpoint to view available services and pricing before placing orders.
- Method:
GET - Path:
/api/billing/v1/catalog
Parameters:
category: Filter catalog items by categoryname: Filter catalog items by name. Use*for wildcard search, e.g..COM*to find .com domain
billing_createServiceOrderV1
Create a new service order.
DEPRECATED
To purchase a domain, use POST /api/domains/v1/portfolio instead.
To purchase a VPS, use POST /api/vps/v1/virtual-machines instead.
To place order, you need to provide payment method ID and l