On this page
How to Run the Hostinger API MCP Server: Hosted or Local (Nov 2026)

There are two ways to run the Hostinger API MCP server. The quick way needs no install: run claude mcp add --transport http hostinger https://mcp.hostinger.com and sign in with OAuth. The local way is npm install -g @hostinger/mcp (Node.js 24 or later) plus an API token from hPanel. TrustedMCP grades it B.

Hosted or local: which should you run?

Both come from Hostinger's official api-mcp-server repo (MIT). Version 3.39.2 shipped on 2026-11-12.

Hosted (mcp.hostinger.com) Local (@hostinger/mcp)
Install Nothing Node.js 24+, then npm
Sign-in OAuth in your browser API token, or the same OAuth sign-in
Transport HTTPS (Streamable HTTP) stdio by default, optional --http
Limit it to one area (DNS, VPS) Not documented Yes, with a scoped command
Best for Trying it in Claude Code, Codex or Cursor Scripts, CI, or narrowing what it can touch

Pick the hosted server if you just want to try it. Pick the local package if a script or CI job needs a token, or you want the agent to reach only DNS or only your VPS.

Run the Hostinger API MCP server hosted (OAuth)

These commands come from Hostinger's README.

Claude Code:

claude mcp add --transport http hostinger https://mcp.hostinger.com

A browser window opens. Approve the sign-in, and the server is ready in your session. (New to this? See Claude Code MCP setup.)

Codex:

codex mcp add hostinger --url https://mcp.hostinger.com
codex mcp login hostinger

Other clients (Cursor, VS Code and so on): add https://mcp.hostinger.com as a remote Streamable HTTP server and finish the OAuth prompt. Hostinger's manual configuration page shows the generic form:

{
  "mcpServers": {
    "hostinger": {
      "url": "https://mcp.hostinger.com"
    }
  }
}

Hostinger calls this setup the Hostinger Connector and says it is free to use. You still need a Hostinger plan for whatever you want to manage.

Run the Hostinger API MCP server locally with npm

  1. Install Node.js 24 or later. That is what the README asks for.

  2. Install the package globally:

    npm install -g @hostinger/mcp
    
  3. Create an API token in hPanel: open the API page and generate a new token. Give it an expiry date. The token is shown once, so copy it then. (You can skip the token and sign in with OAuth instead; see below.)

  4. Find two absolute paths. From your home folder, run node -p process.execPath (your Node binary) and npm root -g (the folder that holds @hostinger/mcp).

  5. Add the server to your client's config with those paths. This is the README's example:

{
    "mcpServers": {
        "hostinger-api": {
            "command": "/absolute/path/to/node",
            "args": ["/absolute/path/to/global/node_modules/@hostinger/mcp/src/servers/all.js"],
            "env": {
                "DEBUG": "false",
                "HOSTINGER_API_TOKEN": "YOUR API TOKEN"
            }
        }
    }
}

Why absolute paths and not npx? Clients start the server inside your project folder. There, npx puts the project's node_modules/.bin first on your PATH, and a version manager can switch to the project's Node. The README warns: "Any of these lets a cloned repository run its own code with your Hostinger credentials." So point at the Node binary and the script directly.

OAuth instead of a token. Leave HOSTINGER_API_TOKEN out and the local server signs you in through the browser on the first call. It stores the tokens in ~/.config/hostinger-mcp/credentials.json (macOS and Linux) or %APPDATA%\hostinger-mcp\credentials.json (Windows). hostinger-api-mcp --login signs in right away, and hostinger-api-mcp --logout revokes the stored tokens. If both are set, the token wins.

To update later, run npm update -g @hostinger/mcp. For keeping tokens out of shared config files, see MCP API keys in config.

If you followed Hostinger's older tutorial

Hostinger's tutorial "How to run your own Hostinger API MCP server" (last updated 2026-09-29) installs hostinger-api-mcp on Node.js 20, runs it as a bare hostinger-api-mcp command and puts the token in APITOKEN.

That setup still runs. The hostinger-api-mcp package is still published from the same repo (also 3.39.2), and the code still reads APITOKEN as an old alias. But the README has moved on:

  • package @hostinger/mcp instead of hostinger-api-mcp
  • HOSTINGER_API_TOKEN instead of APITOKEN (the README says the similar API_TOKEN "will be removed in a future version")
  • Node.js 24 or later
  • absolute paths to Node and the script, never a bare command or npx

Switch to the new names the next time you edit your config.

API token or OAuth: what you are giving the agent

Neither route lets you limit access to one service:

  • API token: Hostinger's API docs say "Tokens inherit the permissions of the user who created them and can be set to expire." There are no per-token scopes. You delete a token on the same API page, and Hostinger says revoked tokens "stop working immediately".
  • Hosted OAuth: the server's own metadata (its /.well-known/oauth-protected-resource file) lists one scope, mcp:use. So this grant is all or nothing too.

Either way, the agent can do what you can do in hPanel, including buying things. Three ways to narrow it:

  1. Set an expiry date on the token, and delete it when the job is done.
  2. Use a scoped command (next section), so the agent only reaches one area.
  3. Keep tool approval on and read each call before you allow it (see the risky operations).

More on how MCP sign-in works: MCP authentication.

Limit what it can touch with a scoped command

The npm package installs one main command and 13 smaller ones. Each smaller one only finds and runs the operations in its own group. Counts from the README on 2026-11-12:

Command Operations
hostinger-api-mcp all 414
hostinger-vps-mcp 68
hostinger-hosting-mcp 59
hostinger-domains-mcp 43
hostinger-wordpress-mcp 41
hostinger-mail-mcp 39
hostinger-billing-mcp 10
hostinger-dns-mcp 9

The others are agency-hosting (43), reach (71), ecommerce (30), horizons (7), gpu (5) and agent-readiness (4).

If an agent only needs to fix DNS records, run the DNS command. In the JSON config above, change src/servers/all.js to src/servers/dns.js (that is the file the hostinger-dns-mcp command runs). It can't buy a VPS, because those operations aren't in its list.

One catch: the token itself still has full access. The limit lives in the server, not the token, so don't reuse that token anywhere else.

Tools that change DNS, domains, VPS and billing

Every command exposes the same three tools:

  • search finds operations by keyword. It is marked read-only.
  • execute runs one operation, such as dns_records_update.
  • multi-execute runs up to 20 operations in order and stops at the first failure.

The server marks execute and multi-execute as destructive (see MCP tool annotations), because one tool can run anything in the list. That has a catch. If your client asks before each execute call and you click "always allow", you have allowed every operation at once, purchases included. Approve each call, and read the operation name and params first.

These operations from the README deserve a second look:

DNS

  • dns_records_update with overwrite = true "will replace existing records with the provided ones".
  • dns_records_reset resets the zone "to the default records".
  • dns_records_delete deletes the records that match a name and type.
  • If a change goes wrong, dns_snapshots_list and dns_snapshots_restore let you go back to an earlier version of the zone.

Domains

  • domains_portfolio_update-nameservers points the domain at other name servers.
  • domains_portfolio_disable-lock and domains_portfolio_authorization-code are the two steps before a domain can move to another registrar.
  • domains_move_start-outgoing starts moving a domain to another Hostinger account.
  • domains_portfolio_purchase buys a domain. "If no payment method is provided, your default payment method will be used automatically."

VPS

  • vps_virtual-machines_recreate reinstalls the operating system. "Snapshots, if there are any, will be deleted."
  • vps_virtual-machines_set-root-password, vps_virtual-machines_stop, vps_firewall_deactivate, vps_backups_restore and vps_snapshots_restore all change a running server.
  • vps_virtual-machines_purchase buys a new VPS, again with your default payment method.

Billing

  • billing_orders_create-purchase places an order "for any Hostinger product".
  • billing_payment-methods_delete removes a saved card.
  • billing_subscriptions_disable-auto-renewal turns off renewal, which can let a domain or plan run out.

Website deploys on the hosting side carry their own warning in the README: "this overwrites the website's existing contents and cannot be undone". The good news is that the deploy tools refuse to upload files from your home folder, credential folders such as .ssh and .aws, or system folders, because the model picks the path.

Running it over HTTP (--http)

The local server can also listen over Streamable HTTP with hostinger-api-mcp --http (default 127.0.0.1:8100). This mode needs HOSTINGER_API_TOKEN, because OAuth sign-in doesn't work in it.

Be careful with it. We read the code (startHttp in src/core/runtime.ts). It is plain HTTP, it doesn't check who is calling, and every request runs with the token in the server's environment. The README's client example sends an Authorization header, but the server doesn't check it. So anything that can reach the port can use your Hostinger account.

  • Keep the default host, 127.0.0.1.
  • Don't use the README's --host 0.0.0.0 example on a shared network, unless an HTTPS proxy with its own sign-in sits in front.
  • If a remote client needs access, use the hosted server instead.

Background: MCP Streamable HTTP.

Is the Hostinger MCP server safe? Our grade

TrustedMCP grades the Hostinger listing B (see how we score servers). It is an assessment from public signals, not an audit.

  • Auth (lost points): the hosted server uses OAuth with PKCE, but one scope covers the whole account, and API tokens have no scopes.
  • Maintenance (full marks): 12 people committed in the 90 days to 2026-11-12, and new releases ship most days.
  • Known CVEs (full marks): no advisories in the repo, the GitHub advisory database or OSV.
  • Transport (biggest deduction): the hosted server is HTTPS and the default stdio mode is fine, but the local --http mode is plain HTTP with no check on callers. The only shell-out we found opens your browser for OAuth, with a fixed command and no shell.

Our advice: use the hosted server with OAuth on your own laptop. For scripts, use a scoped command and a token with an expiry date. In both cases, keep approval on for every execute, and never give it a production account you aren't ready to see changed. For the bigger picture, see MCP security best practices. Other hosting servers we grade: Cloudflare and Railway.

Need an MCP server for your own hosting or cloud platform, with scoped tokens built in? Tell us about it.

Frequently asked questions

Is there an official Hostinger MCP server?

Yes. Hostinger maintains hostinger/api-mcp-server (MIT) on GitHub, publishes it on npm as @hostinger/mcp, and runs a hosted copy at https://mcp.hostinger.com.

How do I run the Hostinger API MCP server?

The fastest way is the hosted server: run claude mcp add --transport http hostinger https://mcp.hostinger.com and sign in. To run it yourself, install Node.js 24 or later, run npm install -g @hostinger/mcp, set HOSTINGER_API_TOKEN, and point your client at Node and src/servers/all.js by absolute path.

Do I need a Hostinger API token?

Not for the hosted server, which uses OAuth. The local server works with a token or with the same OAuth sign-in. Only the local --http mode needs a token.

Where do I get a Hostinger API token?

In hPanel, open the API page and generate a new token. Copy it straight away, because it is shown once. Set an expiry date, and delete the token on the same page when you no longer need it.

Can I make the Hostinger MCP server read-only?

We found no read-only switch in the README. The closest you can get is a scoped command (such as hostinger-dns-mcp) plus approving every execute call yourself. Only search is read-only.

Can the Hostinger MCP server spend money?

Yes. It can buy domains, VPS plans and other Hostinger products. If no payment method is given, Hostinger charges your default one. Keep tool approval on.

Is hostinger-api-mcp the same as @hostinger/mcp?

Yes. Both npm packages are published from the same repo at the same version (3.39.2 on 2026-11-12). The README now uses @hostinger/mcp.

How do I add the Hostinger MCP server to Claude Code?

Run claude mcp add --transport http hostinger https://mcp.hostinger.com. A browser window opens for the OAuth sign-in, and the server is ready in your session. The same address works as a remote Streamable HTTP server in Cursor and VS Code.

Is the Hostinger MCP server safe?

TrustedMCP grades it B, an assessment from public signals rather than an audit. Maintenance and known CVEs score full marks. Points are lost because API tokens and the OAuth scope cover the whole account, and the local --http mode is plain HTTP that doesn't check who is calling. Keep tool approval on for every execute call.

Which Hostinger plan does the MCP server need?

The server can only manage what your account already holds. A new, empty account gives the agent nothing to work on. Choose the plan by the job you want to hand over:

You want the agent to manage Get Matching scoped command
DNS records, nameservers, renewals A domain hostinger-dns-mcp, hostinger-domains-mcp
Websites, WordPress, mailboxes Web hosting hostinger-hosting-mcp, hostinger-wordpress-mcp, hostinger-mail-mcp
A Linux server: restarts, snapshots, firewall A VPS hostinger-vps-mcp

Once the plan is active, create the API token or sign in with OAuth as shown above. Start with the scoped command for that plan, not the full hostinger-api-mcp.

These are referral links. If you buy through them, TrustedMCP may earn a reward. That has no effect on the B grade, which we score from public signals only.