MCP-server

Laat uw AI-assistent uw hosting beheren

Één MCP-server voor uw hele account. Verbind Claude Code, Claude Desktop of Cursor één keer, en uw assistent kan uw sites weergeven, de logboeken lezen, bestanden synchroniseren met uw repository en implementeren — en handelt hierbij uitsluitend op basis van de rechten die u verleent.

65 tools vandaag, hieronder exact weergegeven zoals de server ze aanbiedt.

Verbinden

Twee stappen. Het token is de volledige inloggegevens, dus behandel het als een wachtwoord: het wordt één keer getoond en u kunt één verbinding intrekken zonder de andere te raken.

  1. Verbinding maken

    Open in uw dashboard de AI-tools, geef de verbinding een naam, kies uw klant en vink aan wat deze mag doen. U kunt alleen verlenen waartoe u zelf bevoegd bent.

  2. Plak de configuratie die uw client leest

    Het dashboard toont de configuratie voor de gekozen klant, waarin uw token al is verwerkt. Elke klant maakt verbinding met hetzelfde serveradres:

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

Claude Code

Voer de enkele opdracht uit, of plaats het blok in .mcp.json in de hoofdmap van uw project. De regel "type": "http" is verplicht; zonder deze regel slaat Claude Code de server over.

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 start lokale servers, dus het voert onze gratis Zinnector® CLI uit als een brug naar de gehoste server. Het vereist Node 24 of hoger. Het token komt in env, nooit in de argumenten.

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

Cursor

Voeg de server toe aan ~/.cursor/mcp.json (of .cursor/mcp.json in een project) met het adres en de autorisatieheader.

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

Elke andere MCP-client

Elke client die externe Streamable HTTP-servers met een aangepaste header ondersteunt, werkt: verwijs naar het bovenstaande adres en stuur Authorization: Bearer mee met uw token. Een client die alleen lokale servers start, kan de Claude Desktop-bridge gebruiken.

ChatGPT maakt alleen verbinding met MCP-servers door in te loggen via OAuth, waardoor het nog geen token kan gebruiken. Gebruik dezelfde verbinding met Claude Code, Claude Desktop of Cursor.

Controleer of het werkt — vier vragen

Stel deze in begrijpelijke taal. Onder elke vraag staat het hulpmiddel dat uw assistent moet aanroepen en hoe een goed antwoord eruitziet.

  1. > List my sites.
      ↳ sites_list

    Uw websites met hun status en abonnement. Een lege lijst bij een account met websites betekent dat de verbinding geen toestemming heeft om websites te bekijken.

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

    Het recentste foutenlogboek en toegangslogboek. Als een van beide niet kon worden gelezen, vermeldt het antwoord dit — dat is iets anders dan een leeg logboek.

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

    Een commit in uw repository met alle wijzigingen op de live site, of een notitie dat de repository al overeenkwam. Als de repository is verplaatst, wordt de synchronisatie vastgehouden en wordt er niets overschreven.

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

    De implementatie wordt in de wachtrij geplaatst en gaat vervolgens live met de commit die erop is toegepast. Schrijftools vragen in de client om uw akkoord voordat ze worden uitgevoerd.

Tweezijdige synchronisatie, in beide richtingen

Een website met een gekoppelde repository blijft in beide richtingen synchroon, en uw assistent kan in beide richtingen aansturen.

Site → repository

Legt wijzigingen in de live bestanden vast — een bewerking in de bestandsbeheerder, een plugin-update, een upload — en pusht deze naar uw branch, zodat uw volgende git pull deze bevat.

site_repo_sync_run   ·   zinnector sync run

Repository → site

Een deployment past uw branch toe op de website. Push uw commit en voer vervolgens een deployment uit; op onze eigen servers vereist dit dat tweerichtingssynchronisatie is ingeschakeld, wat gratis is.

site_deploy   ·   zinnector push

Wanneer beide zijden zijn gewijzigd

Er wordt nooit stilzwijgend iets samengevoegd of overschreven. De synchronisatie stopt, benoemt de commit en wacht tot u de website of de repository behoudt. Als u de repository behoudt, worden de niet-gesynchroniseerde wijzigingen van de website verwijderd. Daarom is hiervoor een bevestiging vereist.

site_repo_sync_resolve keep=site|repository confirm=true

Wat het veilig houdt

Alleen wat u heeft toegestaan

Elke tool heeft een permissie nodig, en een verbinding bevat alleen de opties die u heeft aangevinkt. De websites van een andere klant bestaan niet voor zover uw verbinding kan nagaan.

Bevestiging voor elke destructieve actie

Terugdraaien, herstellen, een vastgelopen synchronisatie oplossen en aankopen doen vereisen allemaal een expliciete bevestiging, en alles wat geld kost toont u eerst het exacte totaalbedrag.

Elke actie in uw auditlogboek

Elk gesprek wordt geregistreerd bij de verbinding waarmee het is gevoerd. Trek een verbinding in op de pagina met AI-tools en deze werkt direct niet meer.

Elk hulpmiddel

Alle 65 hulpprogramma's, gegenereerd uit het eigen register van de server — als het hier vermeld staat, kan uw assistent het aanroepen.

Sites enimplementaties

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.viewalleen-lezen
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.createwijzigt zaken
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.managewijzigt zaken
site_deploy_statusThe site's current deploy state — status, target, the live URL, the deployed commit and when it last went live.sites.viewalleen-lezen
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.viewalleen-lezen
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.managewijzigt zaken · vraagt om bevestiging

Dubbele synchronisatie

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.managewijzigt zaken
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.managewijzigt zaken
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.managewijzigt zaken · vraagt om bevestiging

Logs en statistieken

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
site_usageOne site's metered visit usage for the current billing period, with the plan's allowance and what any overage costs.sites.viewalleen-lezen
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_accessalleen-lezen
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.viewalleen-lezen

Configuratie en WordPress

HulpmiddelWat het doetToestemmingNotities
site_php_version_getThe site's current PHP version and every version it is allowed to switch to on its product line.sites.viewalleen-lezen
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.managewijzigt zaken
wordpress_stateA WordPress site's core version, whether an update is available, and which management operations its hosting permits.sites.viewalleen-lezen
wordpress_plugins_listList a WordPress site's plugins — name, version, whether active and whether an update is available.sites.viewalleen-lezen
wp_plugin_updateUpdate one WordPress plugin to its latest version. Returns the plugin list as it reads after the update.sites.panel_accesswijzigt zaken
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_accesswijzigt zaken · vraagt om bevestiging
wordpress_set_pluginActivate or deactivate one plugin on a WordPress site. Takes effect on the live site immediately. Requires confirmation.sites.panel_accesswijzigt zaken · vraagt om bevestiging

Back-ups

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.managewijzigt zaken
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.managewijzigt zaken · vraagt om bevestiging

Domeinen en DNS

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
dns_record_createCreate a DNS record for a domain whose DNS we host.domains.dns.managewijzigt zaken
dns_record_updateUpdate an existing DNS record for a domain whose DNS we host.domains.dns.managewijzigt zaken
dns_record_deleteDelete a DNS record for a domain whose DNS we host.domains.dns.managewijzigt zaken · vraagt om bevestiging
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.viewalleen-lezen

Cache en crawlers

HulpmiddelWat het doetToestemmingNotities
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.purgealleen-lezen
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.viewalleen-lezen
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.managewijzigt zaken

E-mail

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.viewalleen-lezen
mailbox_createCreate a mailbox on an email service. Returns the new mailbox's password, which is shown once and cannot be retrieved later.mail.managewijzigt zaken
mail_forwarders_listList the mail forwarders on one email service — which address goes where.mail.viewalleen-lezen
mail_forwarder_createCreate a mail forwarder on an email service, sending everything for one address on to one or more destinations.mail.managewijzigt zaken

SEO

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.viewalleen-lezen

AI-afbeeldingen

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen
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.editwijzigt zaken · geld uitgeven

Borden

HulpmiddelWat het doetToestemmingNotities
board_listList this organisation's project boards, newest first.agency.board.viewalleen-lezen
board_getRead one board in full: its columns and every card on them.agency.board.viewalleen-lezen
board_createCreate a project board, optionally for one of your client organisations.agency.board.managewijzigt zaken
board_card_createAdd a card to a column. Cards are agency-only unless you pass visibility 'client'.agency.board.managewijzigt zaken
board_card_moveMove a card to another column, or to another position in its column.agency.board.managewijzigt zaken
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.commentwijzigt zaken

Facturatie en upgrades

HulpmiddelWat het doetToestemmingNotities
subscriptions_listList the organization's subscriptions — the plan each one is on, its status, renewal date and whether it auto-renews.billing.viewalleen-lezen
invoices_listList the organization's invoices and credit notes — number, status, total, currency and issue date. Optionally filter by status.billing.viewalleen-lezen
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.viewalleen-lezen
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.managewijzigt zaken
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.managewijzigt zaken · vraagt om bevestiging · geld uitgeven

Ondersteuning

HulpmiddelWat het doetToestemmingNotities
tickets_listList the organization's support tickets — subject, status, priority and when they were last updated. Optionally filter by status or site.tickets.viewalleen-lezen
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.replywijzigt zaken

Reseller

HulpmiddelWat het doetToestemmingNotities
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.viewalleen-lezen · alleen voor resellers
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.viewalleen-lezen · alleen voor resellers
reseller_service_getOne client service in full — status, plan, any hold, wholesale cost, your sell price, and its disk and bandwidth usage.reseller.viewalleen-lezen · alleen voor resellers
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.provisionwijzigt zaken · vraagt om bevestiging · alleen voor resellers
reseller_service_unsuspendRelease a non-payment hold you placed on a client's service. The site starts serving again.reseller.provisionwijzigt zaken · alleen voor resellers
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.viewalleen-lezen · alleen voor resellers
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.viewalleen-lezen · alleen voor resellers

Verder lezen

Liever een terminal?

De Zinnector® CLI-referentie

Gebouwd op de publieke API

De API-referentie

Wat een AI-assistent voor u kan doen

AI-tools en MCP

Verbind uw assistent in twee minuten

Open AI-tools in uw dashboard, maak een verbinding en plak de configuratie die uw client leest.