MCPサーバー

AIアシスタントにホスティングを管理させましょう

アカウント全体で1つのMCPサーバーを使用できます。Claude Code、Claude Desktop、またはCursorを一度接続するだけで、アシスタントがサイトの一覧表示、ログの読み取り、ファイルとリポジトリの同期、デプロイを行えるようになります。実行できるのは、付与された権限の範囲内の操作のみです。

本日のツールは 65 個です。以下にサーバーが提供している通りに一覧表示されます。

接続する

2つのステップ。トークンが認証情報全体の役割を果たしますので、パスワードと同様に扱ってください。表示されるのは1回のみで、他の接続に影響を与えることなく1つの接続を取り消すことができます。

  1. 接続を作成する

    ダッシュボードでAIツールを開き、接続に名前を付け、クライアントを選択して、許可する操作にチェックを入れます。ご自身に許可されている権限のみを付与できます。

  2. クライアントが読み込む設定を貼り付けてください

    ダッシュボードには、選択したクライアントの設定が表示され、トークンがすでに含まれています。すべてのクライアントが同じサーバーアドレスに通信します:

    https://api.zinndigital.com/v1/mcp

Claude Code

1つのコマンドを実行するか、プロジェクトのルートにある .mcp.json にブロックを追加します。「"type": "http"」の行は必須です。これがないと Claude Code はサーバーをスキップします。

claude mcp add --transport http zinn https://api.zinndigital.com/v1/mcp \
  --header "Authorization: Bearer zmcp_live_…"
// .mcp.json
{
  "mcpServers": {
    "zinn": {
      "type": "http",
      "url": "https://api.zinndigital.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer zmcp_live_…"
      }
    }
  }
}

Claude Desktop

Claude Desktop はローカルサーバーを起動するため、ホストサーバーへのブリッジとして弊社の無料 Zinnector® CLI を実行します。Node 24 以降が必要です。トークンは引数ではなく、環境変数に設定します。

// claude_desktop_config.json
{
  "mcpServers": {
    "zinn": {
      "command": "npx",
      "args": [
        "-y",
        "zinnector@0.1.4",
        "mcp"
      ],
      "env": {
        "ZINN_MCP_TOKEN": "zmcp_live_…"
      }
    }
  }
}

カーソル

サーバーのアドレスと Authorization ヘッダーを指定して、サーバーを ~/.cursor/mcp.json(またはプロジェクト内の .cursor/mcp.json)に追加してください。

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "zinn": {
      "url": "https://api.zinndigital.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer zmcp_live_…"
      }
    }
  }
}

その他のMCPクライアント

カスタムヘッダーを使ったリモートStreamable HTTPサーバーをサポートするクライアントならどれでも動作します。上記のアドレスを指定し、トークンと共に Authorization: Bearer を送信してください。ローカルサーバーのみを起動するクライアントには、Claude Desktop ブリッジを使用できます。

ChatGPTはOAuthによるサインインでのみMCPサーバーに接続するため、トークンはまだ使用できません。同じ接続をClaude Code、Claude Desktop、またはCursorで使用してください。

動作確認 — 4つの質問

これらの質問を平易な言葉で尋ねてください。それぞれの項目の下には、アシスタントが呼び出すべきツールと、良い回答の例が記載されています。

  1. > List my sites.
      ↳ sites_list

    サイトのステータスとプランが表示されます。サイトがあるアカウントでリストが空の場合、サイトの閲覧権限が接続に付与されていないことを意味します。

  2. > Show me the error log for example.com.
      ↳ site_logs

    最近のエラーログとアクセスログ。どちらかの読み込みに失敗した場合、空のログとは別に、その旨が回答に記載されます。

  3. > Sync example.com to its repository.
      ↳ site_repo_sync_run

    ライブサイトでの変更内容を反映したリポジトリへのコミット、またはリポジトリがすでに一致している旨の通知。リポジトリが移動している場合、同期は保留され、上書きは行われません。

  4. > I pushed a commit — deploy example.com and tell me when it is live.
      ↳ site_deploy → site_deploy_status

    デプロイがキューに追加され、適用されたコミットで公開されます。書き込みツールは実行前にクライアントで承認を求めます。

双方向の同期

リポジトリが接続されたサイトは双方向で同期が維持され、アシスタントはどちらの方向の操作も実行できます。

サイト → リポジトリ

ライブファイルの変更内容(ファイルマネージャーでの編集、プラグインのアップデート、アップロードなど)をコミットしてブランチにプッシュするため、次の `git pull` でその変更を取得できます。

site_repo_sync_run   ·   zinnector sync run

リポジトリ → サイト

デプロイを実行すると、ブランチがサイトに適用されます。コミットをプッシュしてからデプロイしてください。当社のサーバーでは双方向同期(無料)を有効にする必要があります。

site_deploy   ·   zinnector push

双方を変更した場合

何も自動的に統合されたり上書きされたりすることはありません。同期が停止し、コミット名が表示されて、サイトを維持するかリポジトリを維持するかどうかの選択待ち状態になります。リポジトリを維持すると、サイトの未同期の変更が破棄されるため、確認が必要です。

site_repo_sync_resolve keep=site|repository confirm=true

安全性を維持する要素

許可されたもののみ

すべてのツールには権限が必要であり、接続にはチェックを入れた権限のみが保持されます。お使いの接続からは、他の顧客のサイトは存在しないように見えます。

破壊的な操作の確認

ロールバック、リストア、保留中の同期の解決、および購入にはすべて明示的な確認が必要であり、費用が発生するものについては、まず正確な合計金額が表示されます。

監査ログ内のすべての操作

各通話は、それを行った接続に紐づけて記録されます。AIツールのページで接続を無効にすると、すぐに動作が停止します。

すべてのツール

サーバー自体のレジストリから生成されたすべての 65 個のツール — ここにリストされている場合、アシスタントはそれを呼び出すことができます。

サイトとデプロイ

ツール機能アクセス権メモ
sites_listList the organization's sites, with each site's primary domain, status, product line, stack and the plan it is on. Optionally filter by status, product line or a search over domain and name.sites.view読み取り専用
site_getGet one site's full record — domain, status, product line, stack, runtime, PHP version, region, plan and whether it is scheduled for deletion.sites.view読み取り専用
site_createCreate a site and start provisioning it. Give a primary domain and a product line; optionally a blueprint to build it from, a stack type, a PHP version or a region. Returns the new site, which begins in 'provisioning' — poll site_get for status.sites.create変更を適用する
site_deployDeploy a site — build and publish its current source to our servers. Returns the deploy state immediately; the build runs as a durable workflow. Poll site_deploy_status to follow it.hosting.deploy.manage変更を適用する
site_deploy_statusThe site's current deploy state — status, target, the live URL, the deployed commit and when it last went live.sites.view読み取り専用
site_deployments_listList a site's recent deployments — id, status, commit, branch and timings. Use this to choose the deployment_id to roll back to.sites.view読み取り専用
site_rollbackRoll a site back to an earlier deployment by re-deploying its commit. Destructive: pass confirm=true. Use site_deployments_list to choose which one.hosting.deploy.manage変更を適用する · 確認を求める

双方向同期

ツール機能アクセス権メモ
site_repo_sync_getShow a site's two-way sync with its repository: whether it is available and on, the repository and branch, the current state (idle, synced, conflict, adopt, error) and the last runs with the commits they made.sites.view読み取り専用
site_repo_sync_setTurn two-way sync on or off for a site, optionally limited to a subdirectory of the site. Needs the customer's own GitHub account connected. Turning it on pushes nothing by itself — call site_repo_sync_run for that.hosting.deploy.manage変更を適用する
site_repo_sync_runSync a site to its repository now: commit whatever changed in the site's live files and push it to the connected branch, so a local git pull receives it. If the repository moved since the last sync the run is HELD and nothing is overwritten — the result says so. The other direction (repository to site) is site_deploy.hosting.deploy.manage変更を適用する
site_repo_sync_resolveResolve a HELD two-way sync. keep=site commits the site's files on top of the repository (their commits stay in history); keep=repository applies the repository to the site and DISCARDS the site's unsynced changes. Destructive: pass confirm=true.hosting.deploy.manage変更を適用する · 確認を求める

ログとメトリクス

ツール機能アクセス権メモ
site_metricsCurrent metrics for one site — visits, bandwidth, error rate, disk and resource use. Each section reports whether it is available, so 'no data' is distinguishable from 'zero'.sites.view読み取り専用
site_usageOne site's metered visit usage for the current billing period, with the plan's allowance and what any overage costs.sites.view読み取り専用
site_logsRead the recent tail of one site's web-server access log and error log. Each log reports whether it could be read, so an unreadable log is never mistaken for an empty one. Use this before proposing a fix for errors or slowness.sites.panel_access読み取り専用
site_build_logRead the build log of one deployment — the latest when deployment_id is omitted. Pass after=<total from the previous call> to fetch only new lines while complete is false.sites.view読み取り専用

設定と WordPress

ツール機能アクセス権メモ
site_php_version_getThe site's current PHP version and every version it is allowed to switch to on its product line.sites.view読み取り専用
site_php_version_setSwitch a site to a different PHP version. The version must be one that site_php_version_get lists as available. Reports whether the change reached the machine or was only recorded for provisioning to apply.hosting.php.manage変更を適用する
wordpress_stateA WordPress site's core version, whether an update is available, and which management operations its hosting permits.sites.view読み取り専用
wordpress_plugins_listList a WordPress site's plugins — name, version, whether active and whether an update is available.sites.view読み取り専用
wp_plugin_updateUpdate one WordPress plugin to its latest version. Returns the plugin list as it reads after the update.sites.panel_access変更を適用する
wordpress_update_coreUpdate WordPress core to the latest version on a site. This cannot be undone by another call — take a backup first with backup_create if you may need to go back. Requires confirmation.sites.panel_access変更を適用する · 確認を求める
wordpress_set_pluginActivate or deactivate one plugin on a WordPress site. Takes effect on the live site immediately. Requires confirmation.sites.panel_access変更を適用する · 確認を求める

バックアップ

ツール機能アクセス権メモ
backups_listA site's backups — each one's id, when it was taken, its size and status — plus whether a backup is currently running and how many on-demand backups remain in the rolling 24-hour allowance.sites.view読み取り専用
backup_createTake an on-demand backup of a site and return the updated backup state. Bounded to 3 per rolling 24 hours per site; the backup runs in the background.hosting.backup.manage変更を適用する
backup_restoreRestore a site from one of its backups. This OVERWRITES the site's live database and files, and everything changed since that backup was taken is lost. Requires confirmation, and the confirmation names how old the backup is.hosting.backup.manage変更を適用する · 確認を求める

ドメインと DNS

ツール機能アクセス権メモ
dns_records_listList a page of DNS records for a domain whose DNS we host, in name/type/value order. Returns a next_cursor for the following page.sites.view読み取り専用
dns_record_createCreate a DNS record for a domain whose DNS we host.domains.dns.manage変更を適用する
dns_record_updateUpdate an existing DNS record for a domain whose DNS we host.domains.dns.manage変更を適用する
dns_record_deleteDelete a DNS record for a domain whose DNS we host.domains.dns.manage変更を適用する · 確認を求める
domains_listList the organization's domains — id, hostname, status, product line and whether we registered it or the customer pointed it at us. The ids returned here are what the DNS, cache-purge and index-check tools take.sites.view読み取り専用

キャッシュとクローラー

ツール機能アクセス権メモ
cache_purgePurge the CDN cache for a domain. Omit 'urls' to purge everything, or pass a bounded list of absolute URLs to purge only those.sites.cache.purge読み取り専用
crawler_policy_getGet a site's SEO-crawler-blocking (PBN footprint) policy: which crawlers are blocked, the available crawlers, and the rendered robots.txt/server rules.sites.view読み取り専用
crawler_policy_setSet a site's SEO-crawler-blocking policy. 'blocked' is a list of crawler keys (from crawler_policy_get's available_crawlers). Search engines can never be blocked. Publishes the change so the server rules are re-written.sites.crawler.manage変更を適用する

メール

ツール機能アクセス権メモ
mail_services_listList the organization's email services — every domain it has mailboxes on, with the plan's mailbox allowance, how many are used, and whether the mail DNS is published.mail.view読み取り専用
mailboxes_listList the mailboxes on one email service, with each mailbox's size, how full it is, and whether it can send and receive.mail.view読み取り専用
mailbox_createCreate a mailbox on an email service. Returns the new mailbox's password, which is shown once and cannot be retrieved later.mail.manage変更を適用する
mail_forwarders_listList the mail forwarders on one email service — which address goes where.mail.view読み取り専用
mail_forwarder_createCreate a mail forwarder on an email service, sending everything for one address on to one or more destinations.mail.manage変更を適用する

SEO

ツール機能アクセス権メモ
site_seo_metricsThe cached SEO authority metrics for a hosted site — domain rank, backlinks, referring domains and organic keywords. Read-only and free; the figures are refreshed by the platform's own sweep, so they may be up to a month old.sites.view読み取り専用
domain_index_checkThe cached search-index status for a domain — whether it is indexed, how many pages, and when the reading was taken. Read-only and free.sites.view読み取り専用

AI画像

ツール機能アクセス権メモ
image_models_listThe image models this account can generate with — provider, model, and the price per image in USD. Read-only and free. A model that is not listed cannot be used, either because it is retired or because nobody has priced it.sites.view読み取り専用
image_generateGenerate an image from a prompt and put it in this account's image library. Costs money — the price per image is what image_models_list reports for the model used. Returns the image ids; the customer sees them in their library immediately.links.edit変更を適用する · 利用額

ボード

ツール機能アクセス権メモ
board_listList this organisation's project boards, newest first.agency.board.view読み取り専用
board_getRead one board in full: its columns and every card on them.agency.board.view読み取り専用
board_createCreate a project board, optionally for one of your client organisations.agency.board.manage変更を適用する
board_card_createAdd a card to a column. Cards are agency-only unless you pass visibility 'client'.agency.board.manage変更を適用する
board_card_moveMove a card to another column, or to another position in its column.agency.board.manage変更を適用する
board_card_commentComment on a card. Agency-only unless you pass visibility 'client', in which case the client sees it attributed to your agency.agency.board.comment変更を適用する

請求とアップグレード

ツール機能アクセス権メモ
subscriptions_listList the organization's subscriptions — the plan each one is on, its status, renewal date and whether it auto-renews.billing.view読み取り専用
invoices_listList the organization's invoices and credit notes — number, status, total, currency and issue date. Optionally filter by status.billing.view読み取り専用
upgrade_optionsWhat can be bought to lift a limit you have hit — bigger plans, priced with tax, in your own currency. Pass the entitlement from a refusal (e.g. 'max_sites'), or a site_id to see what that site's own plan could move to. Read-only: nothing is bought, and calling this costs nothing.billing.view読み取り専用
purchase_quotePrice a plan exactly, with tax, in the customer's own currency — and nothing is bought or charged. Returns a quote_id to pass to purchase_authorize together with the total, which is what stops an agent committing someone to a figure they never saw. Quotes expire: re-quote rather than reusing an old id.billing.payment.manage変更を適用する
purchase_authorizeComplete a purchase from a quote: places the order and charges the payment method on file. You must pass the exact total and currency purchase_quote returned — if the price has moved since, this refuses rather than charging a different amount. Retrying with the same quote_id returns the same order and never charges twice.billing.payment.manage変更を適用する · 確認を求める · 利用額

サポート

ツール機能アクセス権メモ
tickets_listList the organization's support tickets — subject, status, priority and when they were last updated. Optionally filter by status or site.tickets.view読み取り専用
ticket_createOpen a support ticket. Include what you already checked — an agent that has read the KB and run diagnostics should say so in the body, so a human does not repeat it.tickets.reply変更を適用する

代理店

ツール機能アクセス権メモ
reseller_overviewThe reseller programme in one read: status, whether you can sell, billing day, default markup, your panel hostname and nameservers, mail sending domain, support routing, commerce readiness and the languages your clients' panel offers.reseller.view読み取り専用 · リセラー専用
reseller_services_listList the sites you have provisioned for your clients — one row per service, with the client organisation, status, any hold you placed, what it costs you wholesale and what you sell it for. Your own sites are not here; use sites_list for those.reseller.view読み取り専用 · リセラー専用
reseller_service_getOne client service in full — status, plan, any hold, wholesale cost, your sell price, and its disk and bandwidth usage.reseller.view読み取り専用 · リセラー専用
reseller_service_suspendPut one of your client's services on a non-payment hold. The site stops serving until you release it. Requires confirm: true.reseller.provision変更を適用する · 確認を求める · リセラー専用
reseller_service_unsuspendRelease a non-payment hold you placed on a client's service. The site starts serving again.reseller.provision変更を適用する · リセラー専用
reseller_prices_listYour price list: every plan you can sell, with the Zinn® list price, your wholesale cost, and the retail price you have set (if any).reseller.view読み取り専用 · リセラー専用
reseller_client_wallets_listEvery client wallet you hold a float in, with the balance per client and the total held per currency. This is money you have taken and not yet delivered service for.reseller.view読み取り専用 · リセラー専用

続きを読む

ターミナルをご希望ですか?

Zinnector® CLI リファレンス

パブリックAPIをベースに構築

API リファレンス

AIアシスタントがお客様のためにできること

AIツールとMCP

2分でアシスタントを接続する

ダッシュボードでAIツールを開き、接続を作成して、クライアントが読み込む設定を貼り付けます。