cloud-infrastructureauth-security

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.

github stars

61

100+ specialized toolsOrganized by service categoryRequires Hostinger API token

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 the Authorization header.

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 category
  • name: 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