MCP 서버

AI 어시스턴트에게 호스팅 관리를 맡기세요

전체 계정을 위한 단 하나의 MCP 서버. Claude Code, Claude Desktop 또는 Cursor를 한 번만 연결하면 어시스턴트가 사이트 목록을 조회하고, 로그를 확인하고, 파일을 저장소와 동기화하며, 배포까지 수행할 수 있습니다. 어시스턴트는 귀하가 부여한 권한 내에서만 작동합니다.

모든 개발자 문서 →

오늘 141개의 도구가 있으며, 서버에서 제공하는 그대로 아래에 나열되어 있습니다.

연결하기

두 단계입니다. 토큰은 완전한 자격 증명이므로 비밀번호처럼 다루십시오. 한 번만 표시되며 다른 연결에 영향을 주지 않고 하나의 연결을 취소할 수 있습니다.

  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.6",
        "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 브리지를 사용할 수 있습니다.

Claude 및 ChatGPT는 토큰을 붙여넣을 필요 없이 로그인하여 연결할 수도 있습니다. Claude에 사용자 지정 커넥터로 또는 ChatGPT 개발자 모드에 앱으로 https://api.zinndigital.com/v1/mcp 주소를 추가하고, 열리는 Zinn Digital® 페이지에서 이를 승인하십시오. 귀하가 조직과 수행 가능한 작업을 직접 선택할 수 있으며, 설정의 AI 도구에서 언제든지 연결을 해제할 수 있습니다.

작동 여부 확인 — 네 가지 질문

이 내용들을 쉬운 말로 질문하십시오. 각 항목 아래에는 어시스턴트가 호출해야 할 도구와 좋은 답변의 예시가 나와 있습니다.

  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 도구 페이지에서 연결을 취소하면 즉시 작동이 중단됩니다.

Claude 및 ChatGPT 앱에 안전함

Claude 또는 ChatGPT 앱에서 연결된 경우 서버는 해당 앱 스토어에서 허용하지 않는 도구를 제외합니다. 두 앱 모두에서 구매 및 이미지 생성이 제외되며, ChatGPT에서는 요금제 가격, 플러그인 작업 및 비밀번호를 반환하는 모든 항목도 제외됩니다. 그런 다음 견적이 귀하의 대시보드로 연결되어 결제를 진행하실 수 있습니다. Claude Code, Cursor 및 붙여넣은 토큰은 모든 도구를 유지합니다.

모든 도구

서버 자체 레지스트리에서 생성된 모든 141개의 도구 — 여기에 나열되어 있으면 어시스턴트가 호출할 수 있습니다.

사이트 및 배포

도구기능권한메모
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, from a primary domain and a product line, with an optional blueprint, stack type, PHP version or region. Returns the new site, which reads 'provisioning' while it is built.sites.create항목을 변경합니다
site_deployDeploy a site — build and publish its current source to our servers. Returns the deploy state immediately; the build runs in the background as a durable workflow, and each deployment's progress stays readable by its id.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. Each id is a deployment the site can be rolled back to.sites.view읽기 전용
site_rollbackRoll a site back to an earlier deployment of it by re-deploying that deployment's commit. Destructive: requires confirm=true.hosting.deploy.manage항목을 변경합니다 · 확인을 요청함
migration_discoverLook at the host a site currently lives on and work out which control panel it runs, which ports answer and what could be taken from it. Returns a discovery id immediately, by which the answer is read. Nothing is installed on the old host and nothing is moved by this call.hosting.import.manage항목을 변경합니다
migration_discoveryThe result of a host discovery, by its discovery id: which control panel was identified, on which port, and how confident we are. While the outcome is 'pending' the check has not finished — it has not failed.hosting.import.manage읽기 전용
migration_listEvery migration of one site, newest first, with each one's status and progress. A pure database read — it costs no connection to anybody's old host.sites.view읽기 전용
migration_statusOne migration in detail: how far it has got, what it captured, its DNS plan, what it warned about, and whether it can still be rolled back.sites.view읽기 전용
migration_verifyWhat the comparison of the old and new site found after a migration finished, plus the written report if one has been produced. This comparison, not the status word, says whether a migration worked: a migration can read 'complete' while the comparison says the new site is thin or erroring.sites.view읽기 전용
migration_cancelStop a migration that is still running. What has already arrived on the new site stays there — this does not put anything back, and it does not roll back a migration that replaced an existing site.hosting.import.manage항목을 변경합니다 · 확인을 요청함
migration_rollbackRestore the backup taken immediately before a migration, putting the site back as it was. This REPLACES the site's current files and database, so anything done since the migration is lost. Only available while the safety backup still exists, and only once.hosting.backup.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; a sync run does 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. Site-to-repository only; a deploy is the other direction.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.sites.panel_access읽기 전용
site_build_logRead the build log of one deployment — the latest when deployment_id is omitted. With 'after' set to the total from an earlier read, only the lines added since are returned, while complete is false.sites.view읽기 전용

구성 및 WordPress

도구기능권한메모
site_firewall_getGet a site's own website firewall: login protection, XML-RPC, rule sets, trusted addresses, the visitor check, the always-on platform rules (read-only) and whether the site is being protected from a traffic flood right now.sites.view읽기 전용
site_firewall_updateChange a site's own firewall. Every field is optional (absent = unchanged): login ('standard' 10 attempts / 5 min, 'strict' 5), xmlrpc ('limited' or 'blocked'), rule_sets (the full list to have on), trusted (IPv4, IPv4 /8 /16 /24 ranges, or IPv6 addresses), admin_trusted_only (only trusted addresses reach the login page), challenge_hours (0 off, 1-24: check every visitor for that long). Only tightens the site; the platform's own rules cannot be changed. Applied to the server in the background — read apply_state.sites.panel_access항목을 변경합니다
site_firewall_blockedList the newest requests a site's firewall refused (up to 100, last 1-72 hours), with the visitor address, request, status and the layer that most likely refused it.sites.view읽기 전용
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, which must be one the site 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항목을 변경합니다
cron_listEvery scheduled task (cron job) on a site: name, kind, what it runs, schedule (UTC), whether it is on and why it is paused. `kinds` lists what this site may run; `limits` the per-site and per-account counts. Lines added over SSH are listed with source=crontab (read-only).sites.panel_access읽기 전용
cron_accountEvery scheduled task on every site of the account, each with its site id and domain.sites.panel_access읽기 전용
cron_createAdds a scheduled task and puts it on the site's server at once. It runs as the site's own user, in the site folder, and is stopped after 15 minutes. Refused at 20 tasks on a site or 500 on an account, for a schedule more often than every 5 minutes, a multi-line command, or a script outside the site folder.sites.panel_access항목을 변경합니다
cron_updateChange any of the fields; the others stay as they are. enabled=false switches it off (it stays listed); a task our team paused cannot be switched back on here.sites.panel_access항목을 변경합니다
cron_deleteDeletes the task and its run history on the server. A run already going finishes. Cannot be undone: requires confirm=true.sites.panel_access항목을 변경합니다 · 확인을 요청함
cron_runStarts the task on its server at once (once a minute per task, 10 times in 10 minutes per account). The run is recorded like a scheduled one, with trigger 'manual', a few seconds later, in the task's run history.sites.panel_access항목을 변경합니다
cron_runsThe task's last runs, newest first: status (ok, failed, timeout, skipped, running), exit code, start/finish (UTC), duration, trigger (schedule or manual) and the output (the first 1,000 and last 7,000 bytes of long output are kept).sites.panel_access읽기 전용
wordpress_update_coreUpdate WordPress core to the latest version on a site. No call undoes it; a backup taken beforehand is the way 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항목을 변경합니다 · 확인을 요청함
wordpress_abilities_listList the actions our WordPress plugins (Page Builder Sandwich, Tranzly, Zinn® Chat, Zinn® Cache, Zinn® Reseller Toolkit, Zinn® SEO) offer on a site you host with us: build and edit pages, sections and blocks, import kits, change the design, translate content, run translation jobs, answer support tickets, clear and tune the cache, manage reseller clients, set SEO titles, structured data, redirects and sitemaps, and more. Each has a name, a description and an input schema. Optional plugin filter: pbs, tranzly, zinn-chat, zinn-cache, zinn-reseller or zinn-seo.sites.panel_access읽기 전용 · ChatGPT 앱에 없음
wordpress_ability_runRun one action of our WordPress plugins (Page Builder Sandwich, Tranzly) on a site you host with us, as the site's administrator: e.g. pbs/create-page, pbs/apply-kit, tranzly/translate-post. Takes an action name and input matching the schema the site's plugins publish for it. Actions that delete or undo something need confirm: true.sites.panel_access항목을 변경합니다 · ChatGPT 앱에 없음

백업

도구기능권한메모
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항목을 변경합니다 · 확인을 요청함

서버 및 클러스터

도구기능권한메모
compute_servers_listList the organisation's servers: id, name, status, power state, addresses, size, the account to sign in as, the stack installed at first boot and any cluster.sites.view읽기 전용
compute_server_getOne server by id: status, addresses, the sign-in account (key-only; root login is off on Zinn® Cloud machines), its capabilities, floating IPs and private networks.sites.view읽기 전용
compute_server_powerStart, stop or reboot a server. Stopping or rebooting interrupts whatever the server is running, so those need confirm: true.sites.restart항목을 변경합니다 · ChatGPT 앱에 없음
compute_server_startStart a stopped server. Nothing on it is changed or deleted.sites.restart항목을 변경합니다
compute_server_stopStop a server. Everything running on it stops and it is unreachable until started again, so this needs confirm: true.sites.restart항목을 변경합니다
compute_server_rebootReboot a server. Everything running on it is interrupted while it restarts, so this needs confirm: true.sites.restart항목을 변경합니다
compute_server_resize_quotePrices moving a server to another size before doing it: the new price per period in the customer's billing currency. Nothing changes. Returns the exact arguments the resize itself needs if the customer agrees.sites.view읽기 전용 · ChatGPT 앱에 없음
compute_server_resizeMoves a server to another size. The server is stopped, resized and started again, and what it is billed changes to the new price. Takes the exact price and currency the resize quote returned (refused if the price has moved) and confirm: true.billing.payment.manage항목을 변경합니다 · 비용 지출 가능 · Claude 앱 내에 없음 · ChatGPT 앱에 없음
compute_snapshots_listList a server's snapshots: id, description, when it was taken, size, whether it is ready to restore, and its monthly storage price once measured.sites.view읽기 전용
compute_snapshot_createTakes a snapshot (a restore point) of a server now. It is billed every month until it is deleted. Without confirm it only states the most it can cost per month; it runs when that figure comes back as expected_max_monthly_minor with its currency and confirm: true.billing.payment.manage항목을 변경합니다 · 비용 지출 가능 · Claude 앱 내에 없음 · ChatGPT 앱에 없음
compute_snapshot_restoreOverwrite a server's disk with one of its snapshots. Everything written to the server since the snapshot was taken is lost for good, so this needs confirm: true.sites.delete항목을 변경합니다 · 확인을 요청함
compute_snapshot_deleteDelete one of a server's snapshots. It cannot be restored from afterwards, so this needs confirm: true. Its monthly storage charge stops.sites.delete항목을 변경합니다 · 확인을 요청함
compute_networks_listList private networks: name, address range, region, and each of the organisation's servers on it with its private address.sites.view읽기 전용
compute_clusters_listList Kubernetes clusters: status, ready machines, Kubernetes and Argo CD versions as the cluster reports them, the sample application's health and the API address.sites.view읽기 전용

도메인 및 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읽기 전용
domain_fresh_nameserversWhen a domain's nameservers have expired (the domain was never switched to them, so the DNS provider removed the zone), create the zone again and return the NEW nameserver pair for the customer to set at their registrar. Refused when the domain is already delegated to us or its nameservers still work. Runs only with confirm: true, after the customer has agreed.domains.dns.manage항목을 변경합니다 · 확인을 요청함

캐시 및 크롤러

도구기능권한메모
cache_purgePurge the CDN cache for a domain: everything when 'urls' is absent, or only a bounded list of absolute URLs.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 the site'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 a generated password, shown once and not retrievable later. A person can instead choose their own mailbox password in the dashboard (Email, Set password) or change it in webmail (Settings, Password).mail.manage항목을 변경합니다 · ChatGPT 앱에 없음
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읽기 전용
ads_connections_listList the organisation's connected Zinn® Ads ad accounts (Google Ads): status, the mode per action class (approve first, automatic, off), spend ceilings and how many changes wait for approval.ads.view읽기 전용
ads_changes_listList Zinn® Ads changes to the organisation's ad accounts: 'pending' ones wait for approval; 'applied' ones say whether they can still be undone (30 days).ads.view읽기 전용
ads_change_decideApprove (it is then sent to Google), reject, or undo one Zinn® Ads change by id. A kill switch or a spend ceiling can still stop an approved change.ads.manage항목을 변경합니다
ads_kill_switchTurn the organisation's Zinn® Ads kill switch on (nothing is changed in any of its ad accounts; Undo still works) or off.ads.manage항목을 변경합니다
ads_connection_settingsChange one connected ad account's autopilot settings: per kind of change (negatives, keywords, pauses, budgets, bids, exclusions, campaigns, ads, assets, audiences, conversions) approve / auto / off; daily and monthly spend ceilings in minor units of the account's currency; hold_until_sale; roas_target_pct (400 = 4.0x); markets [{country, language}]; excluded_countries [ISO codes never served]; country_waste_mode suggest / auto / off (exclude countries that spend with no activation or sale); competitor_automation; new-country campaigns (auto_new_countries, new_country_max_per_month 0-10, new_country_budget_minor a day, new_country_min_conversions, new_country_min_clicks — proposed for approval unless campaigns are 'auto'); auto_cap_raise (default on: +20% CPC cap for a converting campaign losing on price, inside the ceiling); budget raises for converting campaigns held back by budget: budget_raise_mode auto / suggest / off, budget_raise_scope all / campaigns, budget_raise_campaigns {campaign id: mode}; month-end spend pacing: pacing_mode auto / suggest / off (correct the budgets inside the ceiling, suggest it, or only warn), pacing_deviation_pct 5-50 (the drift that warns), pacing_target_minor (the month's target, null = what the budgets plan); pacing_strategy even / day_of_week / front_loaded, pacing_change_cap_pct 5-50 (the most one run changes a budget), pacing_rollover (carry last month's unspent target), pacing_pause_over (pause the spending campaigns once the month spent its ceiling, resumed on the 1st), pacing_minimums {campaign id: minor units} (a cut never goes under it). tidy_paused_days (1-365, null = off, the default) deletes an ad paused that many days, tidy_paused_mode suggest (queued for approval) or auto (each delete keeps its Rebuild). The signal ladder: business_type free_trial / freemium / lead_gen / ecommerce / local / b2b ('' = not chosen) and ladder_signals {"1"|"2"|"3": [conversion action resource names]} — which actions are the sign-up, activation and paid signal (a stage left out follows the business type); campaign_ladder {campaign id: {business_type, signals}} judges one campaign differently (hosting on a real domain live, plugins on installs). Only what is given changes. 'auto' needs a plan with autopilot (Starter or above); several languages and competitor campaigns need Pro or above. Every change is audit-logged.ads.manage항목을 변경합니다
ads_audit_runRun one connected ad account's audit now (Google Ads, Microsoft Advertising or X Ads). Every change it finds (negatives, keywords, pauses) waits in the approval queue unless that kind of change is set to automatic. Returns at once; the changes it finds appear in the approval queue.ads.manage항목을 변경합니다
ads_shield_clicksThe Zinn® Ads click-fraud shield for the organisation's sites hosted by Zinn®: the period totals (clicks, suspected invalid, converted, reasons, ESTIMATED wasted spend in minor units) and the latest scored paid clicks. Estimates only: Google decides what is invalid and nothing here promises a refund.ads.view읽기 전용
ads_shield_exclusionsWhat the Zinn® Ads click shield did at Google for the organisation: the IP and placement exclusions it asked for per campaign (each an ad-account change: approve-first unless exclusions are automatic, undoable for 30 days; IPs shown as their network only), and the monthly refund evidence packs per Google Ads account with any credit Google gave. Packs are never filed automatically: a person sends one through Google's form.ads.view읽기 전용
ads_trackingFor one connected ad account: its real outcomes (sales, trials, leads, sign-ups from the customer's own store, plugin, CRM or the events API) against what the network credited over the settled days, whether the autopilot is HOLDING (tracking more than 10% apart, or the network unreadable: nothing is judged, cut or paused on its counts), what the check found (lost click ids, checkout round-trips, off-site outcomes, missing tag, upload action not counting) and the recovery's before/after, plus the 'Fix it for me' add-on price when it is offered.ads.view읽기 전용
ads_budget_movesAnswered from the daily audit's stored findings (no network call): for one connected Google Ads account, every campaign held back by its budget with the proposal — 'move X/day from A to B' naming the donor and why it can give (held back by ad rank, under-spending, low return), the receiver's share lost to budget, the clicks and conversions the money buys at its own cost per click and conversion rate, the 'increase' option when the ceiling has room, or why there is no move (no return yet, learning, an owner hold). Apply one with the findings apply operation (option move | increase); nothing here changes the account.ads.view읽기 전용
ads_tracking_checkRun one ad account's tracking truth check now, then upload the real outcomes the network missed (each once, deduplicated by its own order or trial id, within 90 days). recovery_mode 'validate' makes the network check the upload and keep nothing. Returns at once; the result appears on the account's tracking check a moment later.ads.manage항목을 변경합니다
ads_insightsFor one connected Google Ads account, the latest daily readings: where this month's spend will end against its target (and any budget correction made or waiting for approval, inside the spend ceiling); any conversion action that stopped recording against its own baseline, with how to fix it; and the clicks and conversions each campaign missed in the last 7 days because of its budget or ad rank (estimates), with the one fix (a bigger budget, a higher bid cap, better ad rank); and the signal ladder: each campaign's stage (1 learn on sign-ups, 2 activate, 3 earn on paid sales), what the next stage still needs, and whether each stage's signal is proven recorded.ads.view읽기 전용
ads_autopilotFor one connected ad account (za-14): each step the autopilot runs on it — add a wasteful search term as a negative keyword, pause a keyword that spent its maturity clicks with no conversion, add a converting search term as a phrase keyword, keep budgets inside the account's own monthly ceiling (za-67), move a campaign up the bid-strategy ladder (za-68, automatic only) — with the account's mode for it: auto (sent, 30-day Undo), approve (kept as a change waiting for approval) or off (never tried); and what the latest finished audit did. Every write still passes the account's guards (good standing, spend ceilings, hold until a sale, ROAS target). The modes are the account's autopilot settings.ads.view읽기 전용
ads_outcomes_recordThe events API as a tool: record up to 500 real outcomes for one ad account — kind (purchase, trial, lead, signup, activation — the step after a sign-up that predicts a sale, e.g. the plugin installed or the first site live), your own order or trial id (external_ref), when it happened, value in minor units + currency, and the ad click id it came with (gclid, gbraid, wbraid or msclkid). The same order twice is stored once. A plain e-mail is hashed and dropped.ads.manage항목을 변경합니다
ads_planWhich Zinn® Ads plan the organisation is on (Free, Starter, Pro or Agency), how many ad accounts it may connect and has connected, the monthly ad spend it may have managed across all its accounts and how much is set now, the Extra accounts (+10, $49/mo) and Extra spend (+$25k, $99/mo) add-ons it holds, any automatic Agency overage (+$99 per extra $25k), whether autopilot and the click shield are included, and the plans it can move to, each with the dashboard link that buys it (the Free plan costs nothing).ads.view읽기 전용
ads_buildsThe organisation's Zinn® Ads Simple-mode plans (website + monthly budget + markets -> a whole Google Ads account plan): status, and for one plan ('build_id') its campaigns, keywords with measured volume and CPC (minor units), negatives, ads quoted from the site, policy findings and the forecast range. Reading only; nothing reaches Google.ads.view읽기 전용
ads_build_createStart a Zinn® Ads Simple-mode plan: read the website, then (once its 'what do you sell' is confirmed) research keywords per market and write the plan. 'monthly_budget_minor' is integer minor units of 'currency'; 'markets' is a list of {country (ISO alpha-2), language}. Building costs research and AI credits; launching it is a person's click in the dashboard and only queues changes for approval.ads.manage항목을 변경합니다
ads_ads_listFor one connected Google Ads account: its campaigns, ad groups and ads (not removed) with their status, read from Google now — each ad with its headlines, descriptions, final URL, ad strength and whether it can be rebuilt after a delete. paused_only=true lists only the paused ads (what 'Delete all paused ads' would delete).ads.view읽기 전용
ads_ad_actionPause, unpause or delete one ad, ad group or campaign of a connected Google Ads account (its resource name, as the list tool returns it). Delete is for a PAUSED ad or ad group only: its snapshot (headlines, descriptions, paths, final URLs, keywords) is saved and the change's undo REBUILDS it as a new paused copy; a deleted ad itself cannot be brought back. Pause and unpause can be undone. The kill switch still stops it.ads.manage항목을 변경합니다
ads_paused_ads_deleteDelete every ad that is PAUSED right now in one connected Google Ads account (or only the resources given, as the list tool returns them with paused_only). Each ad's snapshot is saved and each delete's undo rebuilds it as a new paused copy. Sent in the background.ads.manage항목을 변경합니다
ads_negative_conflictsFor one connected Google Ads account: every negative keyword (campaign, ad group, negative keyword list or account level) that blocks one of the account's own enabled keywords, as found by the daily audit — what it blocks, the decision (pause the keywords when the negative is deliberate, otherwise narrow it to exact match or remove it), why, and the id of the change in the approval queue to approve or reject. New negatives that would block a keyword are refused before they are sent.ads.view읽기 전용
ads_bid_ladderFor one connected ad account (Google or Microsoft), each campaign's bid strategy on the ladder (Maximise clicks → Maximise conversions → target CPA, or target ROAS when its conversions carry values) and the verdict: up / down (a switch is proposed), not_yet (with the conversions it has and the network's published minimum plus our 1.5 margin), top, learning (switched in the last 14 days: no automatic budget raise, bid or keyword change touches it until frozen_until) or kept; and the measured result 14 days after a switch. Answered from the daily audit's rows, never a network call.ads.view읽기 전용
ads_bid_strategy_switchMove one campaign of a connected ad account the step its bid-ladder row proposes (only when its verdict is up or down). The switch is approved and sent through the same gate as every change (kill switches, good standing) with a 30-day undo; the campaign then learns for 14 days with no automatic budget, bid or keyword change.ads.manage항목을 변경합니다
ads_objective_setPropose the objective one campaign of a connected ad account is judged against (OBJ1, za-184): leads (target_cpa_micros), revenue (target_roas_pct, 400 = 4.00x), profit (margin_pct; the target return is break-even), top_of_page (share_pct, placement anywhere/top/absolute_top, max_cpc_micros), brand_defence (max_cpc_micros; 90% at the absolute top unless given), traffic (optional max_cpc_micros) or none. Approve-first: the proposal changes nothing until a person approves it on the Zinn® Ads screen; then the bid-strategy ladder steers towards it, one step at a time on the networks' minimums, never while the campaign learns, and every switch is its own change with an Undo. Money is integer micros of the account's currency.ads.manage항목을 변경합니다
ads_acquisition_qualityFor one connected ad account, each keyword, ad group and country that acquired paid customers: how many paid, how many went bad (refunded, charged back, cancelled early or heavy on support — on a customer's account its checkout connectors report refunds only), its bad-customer rate against the rest of the account in basis points, and the verdict: finding (a one-click suggestion to pause it or exclude the country, approve first, with Undo), owner_locked, or held (held_sample under 3 bad customers, held_baseline, held_rate). Answered from the daily audit's report, never a network call; no buyer is ever named.ads.view읽기 전용
ads_placement_goalsEvery top-of-page goal of a connected ad account (TOPPAGE1, za-187): each campaign's main keywords, its target share of the top (or absolute top) of the page, its max CPC and daily budget, and the daily audit's latest reading — the share measured, the verdict (on_target / off_target / no_data) and, below target, the causes in order (ad relevance, landing page, expected CTR, then bid or budget) with each fix priced from the ad network's own top-of-page bid estimates. It changes nothing. Money is integer micros.ads.view읽기 전용
ads_placement_goal_setSet (or, with remove=true, remove) the top-of-page goal of one campaign of a connected ad account (TOPPAGE1, za-187): keywords (its main keywords, at most 20), share_pct (the target share, 1-100), placement (top or absolute_top), optional max_cpc_micros and daily_budget_micros (0: let Zinn® Ads price them from the network's top-of-page bid estimates). A goal sends nothing to the ad account: the daily audit measures it and, below target, proposes its fixes for a person to apply, each with its Undo.ads.manage항목을 변경합니다
ads_findingsFor one connected Google Ads account: everything the daily audit found — wasted searches, dead campaigns (spend with no install, activation or sale), campaigns limited by budget or rank, the month's run rate against the ceiling with its pacing verdict (a trim that lands the month inside it, or raises held when no safe trim fits), and the rest — each with its reason code, its figures (campaign, spend, clicks, days) and whether it is an open one-click suggestion or a change the autopilot already made (with its Undo). Reading only; nothing reaches Google.ads.view읽기 전용
ads_allowed_termsFor one connected Google Ads account: every other company's name the account allows in ONE ad group's ad text (an 'alternative to X' or 'X vs Y' group), with the group and the allowance id. Every other ad group keeps refusing that name: no ad text may name a competitor except where the account allows it. Reading only.ads.view읽기 전용
ads_allowed_term_setOn one connected Google Ads account: 'allow' lets ONE ad group's ad text name another company (give ad_group_id, as the ads list tool returns it, and term, the company name); 'withdraw' removes an allowance by its id (as the allowed-names listing returns it). The name stays refused in every other ad group. Every allow and withdraw is audit-logged.ads.manage항목을 변경합니다
ads_landing_pagesFor one connected Google Ads account: every enabled ad's final URL as the daily audit last checked it on a phone (status, redirect, language, main heading, whether the call to action is in the first screen, mobile LCP/CLS) and each problem found with its concrete fix: broken or redirecting pages, wrong language, a competitor ad landing on a page that never names the competitor, a page that does not say what people searched, the button below the fold, slow on a phone, Google rating the landing page below average. Reading only; nothing reaches Google.ads.view읽기 전용
ads_scorecardFor one connected ad account: every automatic change of the last 30 days with its stated expected effect (metric, direction, size and a 14-day window), the measured result 14 days on (first-party outcomes where we have them, else the ad network's own conversions; spend in micros of the account currency), the verdict (pending, better, same, worse, no_data, gone) and its Undo: proposed (one click on the findings list), undone (automatic changes on), held (the owner's decision, a learning freeze, the account's standing), expired. Reading only; nothing reaches the ad network.ads.view읽기 전용
ads_rule_previewFor one connected Google Ads account, replay a rule (if a metric over a window crosses a threshold, then an action) over the last N days (1-90) of the account's real stored figures and say what it WOULD have done: each day and campaign it would have acted on, with the reading; campaigns the owner locked or that are learning after a bid-strategy switch are listed as held. Writes nothing and calls no network. Answered from the daily audit's figures.ads.view읽기 전용
ads_rule_createCreate a rule (if a metric over a window crosses a threshold, then an action) on one connected Google Ads account; it runs once a day on its own schedule. A rule made here is ALWAYS approve-first: each change it proposes waits in the account's approval queue for a person, then passes every guard (kill switches, good standing, spend ceilings, owner-locked campaigns, the 14-day bid-strategy freeze) and keeps a 30-day undo. A campaign it acted on is left alone for cooldown_days. Preview it first, which writes nothing.ads.manage항목을 변경합니다
ads_reviewsEvery scheduled review of a connected ad account (AUTOREVIEW1): what it judges (a campaign's results since a day, a change's effect, an experiment's end, a Quality Score re-read, or clicks-to-results), the campaigns or change it covers, its due day, its status (scheduled, due, decided, cancelled) and, once due, the measured verdict (working, worse, not_working, too_early, unchanged, no_data), the recommended decision and the figures it rests on (money in integer micros). Also the campaigns and the changes of the last 30 days a new review can cover. It changes nothing.ads.view읽기 전용
ads_review_createSchedule a review on one connected ad account: subject (results, change, experiment, quality, funnel), a short title, the due day (due_on YYYY-MM-DD, or days from today), optionally the day it measures from, the campaign ids it covers (none = all), the change id it reviews (subject change), and the decisions it offers (keep, pause, revert, extend). On its due day the platform measures it and writes the verdict; the decision is a person's one click. Creating it changes nothing in the ad account.ads.manage항목을 변경합니다
ads_review_decideTake one of the decisions a DUE review offers: keep (records it), extend (7 more days, then judged again), pause (pauses its campaigns in the live account, each through the approve-first queue as an approved change with a 30-day Undo) or revert (starts the reviewed change's Undo). The decision itself can be put back within 30 days from the dashboard.ads.manage항목을 변경합니다

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읽기 전용 · Claude 앱 내에 없음 · ChatGPT 앱에 없음
image_generateGenerate an image from a prompt and put it in this account's image library. Costs money: the per-image price this account's image model list shows for the model used. Returns the image ids; the customer sees them in their library immediately.links.edit항목을 변경합니다 · 비용 지출 가능 · Claude 앱 내에 없음 · ChatGPT 앱에 없음

보드

도구기능권한메모
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 — for an entitlement key from a refusal (e.g. 'max_sites'), or for one site's own plan. Read-only: nothing is bought, and calling this costs nothing.billing.view읽기 전용 · ChatGPT 앱에 없음
purchase_quotePrice a plan exactly, with tax, in the customer's own currency — and nothing is bought or charged. Returns a quote_id, the total, and a dashboard link where the customer can pay for exactly this quote. Quotes expire; an expired quote_id is refused.billing.payment.manage항목을 변경합니다 · ChatGPT 앱에 없음
compute_server_quotePrices a new server exactly, with tax, in the customer's currency — nothing is bought or charged. Takes the plan_code and region (zone) from the server catalogue, a name, and the operating system image and SSH key ids where the plan needs them. Returns a quote_id, the total and a dashboard link where the customer can pay for it.billing.payment.manage항목을 변경합니다 · ChatGPT 앱에 없음
purchase_authorizeComplete a purchase from a quote: places the order and charges the payment method on file. Takes the exact total and currency the 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항목을 변경합니다 · 확인을 요청함 · 비용 지출 가능 · Claude 앱 내에 없음 · ChatGPT 앱에 없음

지원

도구기능권한메모
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 for the support team, with a subject and a body. The body can record what was already checked, 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.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읽기 전용 · 리셀러 전용

API의 기타 모든 항목

도구기능권한메모
api_operation_getRun one read-only (GET) Zinn Digital® API operation as this connection, with the same permissions an API key with this connection's scopes has. Takes an operation_id from an API search, its path parameters and query. Returns the operation's JSON answer.읽기 전용 · ChatGPT 앱에 없음
api_operation_callRun one Zinn Digital® API operation that changes something (POST, PUT, PATCH or DELETE) as this connection, with the same permissions an API key with this connection's scopes has. Every call needs confirm: true. Operations that move money or change credentials are refused; purchases go through a priced quote instead.항목을 변경합니다 · ChatGPT 앱에 없음

자체 MCP 서버를 제공하는 WordPress 플러그인

이 플러그인 중 하나를 설치하면 WordPress 사이트도 MCP 서버가 됩니다. AI 어시스턴트가 애플리케이션 비밀번호로 로그인하여 해당 사용자가 수행할 수 있는 작업만 실행할 수 있습니다.

Page Builder Sandwich

Page Builder Sandwich은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 151개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

Tranzly™

Tranzly™은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 74개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

Zinn® Cache

Zinn® Cache은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 22개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

Zinn® Chat

Zinn® Chat은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 36개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

Zinn® Reseller Toolkit

Zinn® Reseller Toolkit은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 12개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

Zinn® SEO

Zinn® SEO은(는) WordPress 사이트를 MCP 서버로 만들어 줍니다. Claude, Cursor, VS Code 및 기타 AI 어시스턴트가 사용자의 권한으로 해당 487개의 작업을 사용할 수 있습니다.

AI 앱을 연결하는 방법

모든 작업, 해당 REST 경로 및 매개변수

계속 읽기

터미널을 선호하시나요?

Zinnector® CLI 참조

공개 API 기반 구축

API 참조

AI 어시스턴트가 지원해 드릴 수 있는 작업

AI 도구 및 MCP

2분 만에 어시스턴트를 연결하세요

대시보드에서 AI 도구를 열고, 연결을 생성한 후 클라이언트가 읽는 구성을 붙여넣으십시오.