Server MCP

Permetta al Suo assistente IA di gestire il Suo hosting

Un server MCP per l'intero account. Collega Claude Code, Claude Desktop o Cursor una sola volta e il Suo assistente potrà elencare i Suoi siti, leggerne i log, sincronizzare i file con il Suo repository e procedere al deployment, agendo esclusivamente con i permessi che Lei gli concede.

65 strumenti oggi, elencati di seguito esattamente come offerti dal server.

Collega

Due passaggi. Il token rappresenta l'intera credenziale, quindi trattalo come una password: viene mostrato una sola volta e puoi revocare una connessione senza toccare le altre.

  1. Crea una connessione

    Nella Sua dashboard, apra gli strumenti di IA, dia un nome alla connessione, scelga il Suo cliente e selezioni ciò che gli è consentito fare. Può concedere solo ciò che Lei stesso è autorizzato a fare.

  2. Incolla la configurazione letta dal client

    Il pannello di controllo mostra la configurazione per il client scelto, con il Suo token già inserito. Ogni client si collega allo stesso indirizzo del server:

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

Claude Code

Esegui l'unico comando o inserisci il blocco in .mcp.json nella root del tuo progetto. La riga "type": "http" è obbligatoria: senza di essa Claude Code ignora il server.

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 avvia server locali, quindi esegue la nostra CLI gratuita Zinnector® come bridge verso il server ospitato. Richiede Node 24 o versioni successive. Il token va inserito nelle variabili d'ambiente (env), mai negli argomenti.

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

Cursore

Aggiungi il server a ~/.cursor/mcp.json (o .cursor/mcp.json in un progetto) con l'indirizzo e l'intestazione Authorization.

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

Qualsiasi altro client MCP

Qualsiasi client che supporti server HTTP Streamable remoti con un'intestazione personalizzata funziona: puntatelo all'indirizzo sopra indicato e inviate Authorization: Bearer con il vostro token. Un client che avvia solo server locali può utilizzare il bridge di Claude Desktop.

ChatGPT si connette ai server MCP solo tramite l'accesso con OAuth, quindi non può ancora utilizzare un token. Utilizza la stessa connessione con Claude Code, Claude Desktop o Cursor.

Verifica che funzioni — quattro domande

Porga queste domande in linguaggio semplice. Sotto ciascuna di esse è indicato lo strumento che il Suo assistente dovrebbe chiamare e l'aspetto di una buona risposta.

  1. > List my sites.
      ↳ sites_list

    I Suoi siti con il rispettivo stato e piano. Un elenco vuoto su un account che dispone di siti significa che la connessione non possiede l'autorizzazione per visualizzare i siti.

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

    Il registro degli errori recente e il registro degli accessi. Se non è stato possibile leggerne uno, la risposta lo indica; questo è diverso da un registro vuoto.

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

    Un commit nel repository con tutte le modifiche apportate al sito live, oppure una nota che indica che il repository corrispondeva già. Se il repository è stato spostato, la sincronizzazione viene messa in pausa e non viene sovrascritto nulla.

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

    Il deployment è in coda e verrà pubblicato con il commit applicato. Gli strumenti di scrittura richiederanno la Sua autorizzazione nel client prima di essere eseguiti.

Sincronizzazione bidirezionale, in entrambe le direzioni

Un sito con un repository collegato si mantiene sincronizzato in entrambe le direzioni e il Suo assistente può operare in qualsiasi direzione.

Sito → repository

Esegue il commit delle modifiche nei file live (una modifica nel file manager, l'aggiornamento di un plugin, un caricamento) e le invia al vostro branch, in modo che siano disponibili al vostro prossimo git pull.

site_repo_sync_run   ·   zinnector sync run

Repository → sito

Un deploy applica il vostro branch al sito. Inviate il vostro commit, quindi procedete con il deploy; sui nostri server ciò richiede che la sincronizzazione bidirezionale sia attivata, il che è gratuito.

site_deploy   ·   zinnector push

Quando entrambi i lati sono cambiati

Nulla viene mai unito o sovrascritto silenziosamente. La sincronizzazione si interrompe, indica il commit e attende che Lei decida se mantenere il sito o mantenere il repository. Il mantenimento del repository scarta le modifiche non sincronizzate del sito, pertanto richiede una conferma.

site_repo_sync_resolve keep=site|repository confirm=true

Cosa lo protegge

Solo ciò che hai concesso

Ogni strumento richiede un'autorizzazione e una connessione mantiene solo quelle che Lei ha spuntato. I siti di un altro cliente non esistono per quanto riguarda la Sua connessione.

Conferma per qualsiasi azione distruttiva

Il ripristino, il rollback, la risoluzione di una sincronizzazione in sospeso e qualsiasi acquisto richiedono una conferma esplicita, e per qualsiasi operazione a pagamento ti viene mostrato prima il totale esatto.

Ogni azione nel registro di controllo

Ogni chiamata viene registrata in relazione alla connessione che l'ha effettuata. Revoca una connessione nella pagina degli strumenti di intelligenza artificiale e questa smetterà di funzionare immediatamente.

Ogni strumento

Tutti i 65 strumenti, generati dal registro del server: se sono elencati qui, il vostro assistente può richiamarli.

Siti e distribuzioni

StrumentoCosa faPermessoNote
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.viewsola lettura
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.viewsola lettura
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.createmodifica elementi
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.managemodifica elementi
site_deploy_statusThe site's current deploy state — status, target, the live URL, the deployed commit and when it last went live.sites.viewsola lettura
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.viewsola lettura
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.managemodifica elementi · chiede conferma

Sincronizzazione bidirezionale

StrumentoCosa faPermessoNote
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.viewsola lettura
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.managemodifica elementi
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.managemodifica elementi
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.managemodifica elementi · chiede conferma

Log e metriche

StrumentoCosa faPermessoNote
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.viewsola lettura
site_usageOne site's metered visit usage for the current billing period, with the plan's allowance and what any overage costs.sites.viewsola lettura
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_accesssola lettura
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.viewsola lettura

Configurazione e WordPress

StrumentoCosa faPermessoNote
site_php_version_getThe site's current PHP version and every version it is allowed to switch to on its product line.sites.viewsola lettura
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.managemodifica elementi
wordpress_stateA WordPress site's core version, whether an update is available, and which management operations its hosting permits.sites.viewsola lettura
wordpress_plugins_listList a WordPress site's plugins — name, version, whether active and whether an update is available.sites.viewsola lettura
wp_plugin_updateUpdate one WordPress plugin to its latest version. Returns the plugin list as it reads after the update.sites.panel_accessmodifica elementi
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_accessmodifica elementi · chiede conferma
wordpress_set_pluginActivate or deactivate one plugin on a WordPress site. Takes effect on the live site immediately. Requires confirmation.sites.panel_accessmodifica elementi · chiede conferma

Backup

StrumentoCosa faPermessoNote
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.viewsola lettura
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.managemodifica elementi
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.managemodifica elementi · chiede conferma

Domini e DNS

StrumentoCosa faPermessoNote
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.viewsola lettura
dns_record_createCreate a DNS record for a domain whose DNS we host.domains.dns.managemodifica elementi
dns_record_updateUpdate an existing DNS record for a domain whose DNS we host.domains.dns.managemodifica elementi
dns_record_deleteDelete a DNS record for a domain whose DNS we host.domains.dns.managemodifica elementi · chiede conferma
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.viewsola lettura

Cache e crawler

StrumentoCosa faPermessoNote
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.purgesola lettura
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.viewsola lettura
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.managemodifica elementi

Email

StrumentoCosa faPermessoNote
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.viewsola lettura
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.viewsola lettura
mailbox_createCreate a mailbox on an email service. Returns the new mailbox's password, which is shown once and cannot be retrieved later.mail.managemodifica elementi
mail_forwarders_listList the mail forwarders on one email service — which address goes where.mail.viewsola lettura
mail_forwarder_createCreate a mail forwarder on an email service, sending everything for one address on to one or more destinations.mail.managemodifica elementi

SEO

StrumentoCosa faPermessoNote
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.viewsola lettura
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.viewsola lettura

Immagini IA

StrumentoCosa faPermessoNote
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.viewsola lettura
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.editmodifica elementi · può spendere

Bacheche

StrumentoCosa faPermessoNote
board_listList this organisation's project boards, newest first.agency.board.viewsola lettura
board_getRead one board in full: its columns and every card on them.agency.board.viewsola lettura
board_createCreate a project board, optionally for one of your client organisations.agency.board.managemodifica elementi
board_card_createAdd a card to a column. Cards are agency-only unless you pass visibility 'client'.agency.board.managemodifica elementi
board_card_moveMove a card to another column, or to another position in its column.agency.board.managemodifica elementi
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.commentmodifica elementi

Fatturazione e aggiornamenti

StrumentoCosa faPermessoNote
subscriptions_listList the organization's subscriptions — the plan each one is on, its status, renewal date and whether it auto-renews.billing.viewsola lettura
invoices_listList the organization's invoices and credit notes — number, status, total, currency and issue date. Optionally filter by status.billing.viewsola lettura
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.viewsola lettura
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.managemodifica elementi
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.managemodifica elementi · chiede conferma · può spendere

Supporto

StrumentoCosa faPermessoNote
tickets_listList the organization's support tickets — subject, status, priority and when they were last updated. Optionally filter by status or site.tickets.viewsola lettura
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.replymodifica elementi

Rivenditore

StrumentoCosa faPermessoNote
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.viewsola lettura · solo rivenditori
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.viewsola lettura · solo rivenditori
reseller_service_getOne client service in full — status, plan, any hold, wholesale cost, your sell price, and its disk and bandwidth usage.reseller.viewsola lettura · solo rivenditori
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.provisionmodifica elementi · chiede conferma · solo rivenditori
reseller_service_unsuspendRelease a non-payment hold you placed on a client's service. The site starts serving again.reseller.provisionmodifica elementi · solo rivenditori
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.viewsola lettura · solo rivenditori
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.viewsola lettura · solo rivenditori

Continua a leggere

Preferisci un terminale?

Riferimento CLI di Zinnector®

Realizzato sull'API pubblica

Riferimento API

Cosa può fare per voi un assistente IA

Strumenti di IA e MCP

Colleghi il Suo assistente in due minuti

Apra gli strumenti di IA nella Sua dashboard, crei una connessione e incolli la configurazione che il Suo client legge.