Claude Media
Claude CodeでHostinger MCPを使い、ドメインとDNSを管理する

Claude CodeでHostinger MCPを使い、ドメインとDNSを管理する

Hostinger公式MCPサーバーを1コマンドでClaude Codeに登録し、ドメインやDNSを操作する手順。操作の安全弁としてスコープ別コマンドと権限ルールの組み方も示します。

Hostingerの公式MCPサーバーは、claude mcp add --transport http hostinger https://mcp.hostinger.comの1行でClaude Codeに登録できます。ブラウザでOAuth認可を済ませれば、ドメインの空き確認、DNSレコードの編集、VPSやWordPressの操作を会話から呼べます。ただし同じ入口から、ドメインの購入やVPSの再構築も実行できます。接続の手順と合わせて、事故を防ぐ絞り込み方を押さえておきます。

ホスト型とローカル型、どちらで繋ぐか

Hostinger MCPサーバーの接続方法は2通りあります。

くらべる

Hostinger MCPの接続方式

OAuth

ホスト型(リモート)

https://mcp.hostinger.comに繋ぐだけです。Node.jsのインストールもAPIトークンの発行も要りません。

APIトークン

ローカル型(npm)

@hostinger/mcpを自分のマシンで動かします。トークンを環境変数で渡せるため、CIやスクリプトに向きます。

対話的に使うだけなら、ホスト型が手数の少ない選択肢です。ローカル型はNode.js 24以上が前提になります。READMEは、APIトークンを「CIやスクリプト向け」の認証方法としています。

ホスト型を登録する

Claude Codeのドキュメントでは、リモートHTTPサーバーはclaude mcp add --transport http <name> <url>で追加します。Hostingerの場合は次のとおりです。

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

実行するとブラウザが開き、OAuthで認可するよう求められます。承認が済んだら、Claude Code上で/mcpを開いてhostingerが接続済みになっているかを見ます。claude mcp listでも、✔ Connectedや! Needs authenticationといった状態が表示されます。

登録の保存先は既定で「ローカルスコープ」で、今のプロジェクトだけで有効です。どのプロジェクトでも使いたければ--scope userを付けます。チームで共有する--scope projectは、.mcp.jsonにサーバー定義が入ります。ドメインやVPSを動かせるサーバーを、リポジトリ経由で全員に配ることになります。この用途には、個人のローカルかユーザースコープに留めるほうが自然です。

認可後に401が返ったときは、/mcpで該当サーバーを選んで再認証します。リフレッシュトークンが失効した場合も同じ導線です。

APIトークンで使うローカル型の登録

CIや非対話のclaude -pで使うなら、トークンで認証するローカル型にします。まずパッケージを入れます。

npm install -g @hostinger/mcp

次に、Claude Codeのstdioサーバーの書式で登録します。--より後ろがサーバーの起動コマンドです。

claude mcp add --transport stdio \
  --env HOSTINGER_API_TOKEN=YOUR_TOKEN \
  hostinger -- hostinger-api-mcp

HOSTINGER_API_TOKENが設定されていると、READMEの記載ではOAuthは完全に迂回されます。環境変数API_TOKENは非推奨の別名で、将来のバージョンで削除予定です。ローカルスコープの設定は~/.claude.jsonに保存されます。トークンは操作範囲の広い資格情報なので、--scope projectで.mcp.jsonに書いてリポジトリへ入れる使い方は避けてください。

READMEにはstdio以外に--httpで起動するモードもありますが、この場合はOAuthサインインが使えません。HOSTINGER_API_TOKENの事前設定が必須です。対話的に認可したいなら、ホスト型かstdio(既定)を選びます。

stdioでOAuthを使う場合、初回のツール呼び出しでブラウザが開きます。認証情報は~/.config/hostinger-mcp/credentials.json(macOS/Linux、権限0600)に保存されます。先にサインインだけ済ませたいときはhostinger-api-mcp --login、取り消しは--logoutです。

3つのツールで411の操作を扱う設計

このサーバーは、操作ごとにツールを生やしません。公開されるツールは次の3つだけです。

ツール役割
search役割キーワードで操作を探し、各操作のinputSchemaを返す
execute役割操作を1つ実行する。{"operation": "名前", "params": {...}}の形
multi-execute役割最大20操作を順番に実行し、最初の失敗で止まる

統合版のhostinger-api-mcpが抱える操作は全部で411です。multi-executeでは、パラメータ値を"$steps.<i>.<path>"と書くと、前のステップの結果から値を引き継げます。たとえば空き確認の結果を使って購入に進む、といった連鎖を1回の呼び出しに載せられます。

数百の操作をツール定義として全部読み込むと、会話の開始時点でコンテキストを大きく消費します。3ツールに絞る設計は、その負荷を避ける形です。MCPのコンテキスト消費そのものはMCPサーバーのトークンオーバーヘッドで扱っています。

会話から呼べる操作の範囲

READMEの操作一覧は、領域ごとのバイナリに分かれています。

バイナリ操作数代表的な操作
hostinger-dns-mcp操作数8代表的な操作DNSレコードの一覧・更新・削除・検証、スナップショットの復元
hostinger-domains-mcp操作数42代表的な操作空き確認、購入、ネームサーバー変更、転送ロック、フォワーディング
hostinger-vps-mcp操作数67代表的な操作起動・停止・再起動・再構築、ファイアウォール、スナップショット
hostinger-hosting-mcp操作数80代表的な操作Webホスティングのサイト運用
hostinger-wordpress-mcp操作数38代表的な操作WordPressのバージョンやテーマの操作
hostinger-billing-mcp操作数9代表的な操作カタログ照会、注文、支払い方法の既定設定

ほかにメール(38)、ecommerce(29)、Reach(52)、Horizons(6)、エージェンシーホスティング(42)のバイナリがあります。

ドメインとDNSの組み合わせで、次のような依頼が自然に成立します。

  • 「example.comのDNSレコードを一覧して、TXTだけ抜き出して」
  • 「.comと.netで候補名が空いているか調べて」
  • 「変更前にレコードを検証してから反映して」

DNSにはdns_records_validateがあり、更新前の検証を200か422で返します。「更新前に必ず検証を挟む」とCLAUDE.mdに書いておけば、毎回の依頼文に添える手間が減ります。

取り消せない操作を先に洗い出す

操作の説明文を読むと、後戻りしにくいものが見つかります。接続前に把握しておく価値があります。

  • dns_records_updateはoverwrite = trueで既存レコードを置き換えます。falseなら既存の更新と新規追加です
  • dns_records_resetは、DNSゾーンを既定のレコードへ戻します
  • domains_portfolio_purchaseはドメインを購入し、支払い方法を指定しなければ既定の支払い方法が使われます。応答が202 Acceptedのときは決済処理中で、ドメインはまだ登録されていません
  • billing_orders_create-purchaseは、カタログ上のあらゆる商品の注文を作ります
  • vps_virtual-machines_recreateは、OSの再インストールで初期状態に戻します。スナップショットは削除され、VPS上のデータはすべて失われます

DNSには救済が一つあります。dns_snapshots_listとdns_snapshots_restoreで、過去の設定へ復元できます。変更の前にスナップショットを確認させる運用が、保険として働きます。VPSの再構築と購入には、同種の巻き戻し手段が説明文に書かれていません。

操作範囲を絞る3つの方法

スコープ別のバイナリを使う

READMEによると、全バイナリがsearch、execute、multi-executeの同じ3ツールを公開し、スコープ付きバイナリは自分の領域の操作だけを検索・実行します。DNS作業だけが目的なら、ローカル型でhostinger-dns-mcpを指定します。

claude mcp add --transport stdio \
  --env HOSTINGER_API_TOKEN=YOUR_TOKEN \
  hostinger-dns -- hostinger-dns-mcp

このサーバーからは、ドメイン購入やVPSの再構築が検索にも出ません。依頼の誤解釈で高額な購入に進む経路を、構造として断てます。ホスト型は操作が絞られるかが説明されていないため、絞り込みを重視するならローカル型が向きます。

実行系のツールに確認を挟む

3ツールのうちsearchは探すだけで、書き込みはexecuteとmulti-executeが担います。サーバー名をhostingerで登録した場合、Claude Code上のツール名はmcp__hostinger__executeのようになります。実行系にだけ確認を求める設定は、次のとおりです。

{
  "permissions": {
    "ask": [
      "mcp__hostinger__execute",
      "mcp__hostinger__multi-execute"
    ]
  }
}

これで、executeが呼ばれるたびに承認を求められます。承認画面でoperationとparamsを読み、domains_portfolio_purchaseのような名前が出ていないかを見てから通します。権限記法の全体はMCP権限ルールの書き方にまとめています。

操作名で拒否したくなりますが、設定ファイルでは書けません。Claude Codeのドキュメントによると、MCPツールの入力パラメータにマッチさせるdenyルールは--disallowedToolsで渡す形で、設定ファイル内の括弧付きのmcp__ルールは読み込み時に捨てられます。つまり「executeは許可しつつoperationが購入のものだけ拒否」を設定ファイルで固定する手段は、ドキュメント上は用意されていません。操作名での絞り込みは、前述のスコープ別バイナリが現実的な代替になります。

読み取り専用の依頼として運用する

ドメインの購入や再構築は、プロンプトの側でも歯止めをかけられます。CLAUDE.mdには次の趣旨を書いておきます。

## Hostinger MCP の扱い
- 調査・一覧・検証の依頼では search と読み取り系の operation だけを使う
- 購入・再構築・DNS のリセットは、実行前に対象と金額をユーザーへ確認する
- DNS を更新する前に dns_records_validate を実行し、結果を表示する

CLAUDE.mdは指示であって強制ではありません。確実に止めたいものは、権限ルールかバイナリの絞り込みで担保します。

接続できないときの切り分け

接続状態はclaude mcp listか/mcpで確かめます。Needs authenticationなら、/mcpから認可をやり直します。Failed to connectには、HTTPステータスやサーバーが返したエラー文が付くため、その文面が手がかりになります。

ローカル型で起動しない場合は、Node.jsが24以上かを先に見てください。READMEはNode.js 24以上を前提にしています。トークン認証が効かない場合は、HOSTINGER_API_TOKENが設定されているか、末尾の改行や空白が混じっていないかを疑います。Claude Codeはheadersやenvの値に前後の空白があると、claude mcp listと/mcpで警告します。

デバッグログが必要なら、環境変数DEBUG=trueをサーバー側に渡します。既定はfalseです。

似た構成のMCPサーバーとの違い

クラウドサービスの管理をMCPで任せる構成は、他のサービスにもあります。Render MCPサーバーはWebサービスとDBの管理、Supabase MCPサーバーはプロジェクトの管理が主題です。

Hostingerが異なるのは、ドメイン購入と決済まで同じ入口に載る点です。デプロイを触るサーバーより、金銭が動く操作が近くにあります。接続前に、使う領域のバイナリを決めておく価値がここにあります。

まとめ

Hostingerの管理をClaude Codeに任せるなら、まずホスト型で1行登録し、DNSの一覧や空き確認のような読み取り中心の依頼から始めるのが無理のない入り口です。書き込みや購入に踏み込む段階で、executeに確認を挟むか、領域別のローカル型へ切り替えます。トークンの権限は広いため、取り扱いを含めて切り替えの判断材料にしてください。

この記事を共有:XはてブLinkedIn