MCP 服务器

让您的 AI 助理来管理您的托管服务

整个账户只需一个 MCP 服务器。只需连接一次 Claude Code、Claude Desktop 或 Cursor,您的助手就能列出您的网站、读取其日志、将文件与您的代码库同步并进行部署——且仅在您授予的权限范围内操作。

65 个工具,今天已完全按服务器提供的信息列在下方。

连接它

两步完成。令牌就是完整的凭据,因此请像对待密码一样妥善保管:它仅显示一次,并且您可以在不影响其他连接的情况下撤销其中一个连接。

  1. 创建连接

    在您的控制面板中,打开AI工具,为连接命名,选择您的客户并勾选其权限。您只能授予您自己本身拥有的权限。

  2. 粘贴您的客户端读取的配置

    仪表盘显示您所选客户端的配置,其中已包含您的令牌。所有客户端都连接到相同的服务器地址:

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

Claude Code

运行该单行命令,或将此代码块放入项目根目录下的 `.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 或更高版本。令牌应放在 env 中,绝不能放在参数中。

// 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。

检查它是否有效——四个问题

请用通俗易懂的语言提出这些问题。每个问题下方都是您的助手应该调用的工具以及理想回答的示例。

  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

两分钟内连接您的助手

在控制面板中打开 AI 工具,创建连接,并粘贴您的客户端读取的配置。