Ontwikkelaars

Koppel je AI-assistent aan Squish

Squish draait een Model Context Protocol-server. Wijs Claude Code, Claude Desktop, Cursor of een andere MCP-client ernaar met een sleutel uit je dashboard, en je assistent krijgt dezelfde beveiligde acties op je account als de Squish-assistent. Nooit een server. Nooit een kale API.

Het endpoint is https://api.squish.co/mcp. Sleutels maak je in je dashboard aan op het tabblad Assistent, onder Gekoppelde assistenten. Ze worden één keer getoond en zijn altijd in te trekken.
01

Wat je assistent kan doen

Twee soorten sleutels:

  • Lezen. Je domeinen, DNS-records, hosting en sitestatus, mailboxen en migraties, supportcases, bestellingen, de openbare prijscatalogi en de volledige set diagnosecontroles (DNS, WHOIS, SSL, e-mailauthenticatie, beveiligingsheaders, uptime, blacklistcontroles).
  • Lezen en schrijven. Alles hierboven, plus wijzigingen van één record tegelijk: één DNS-record per keer, automatisch verlengen aan of uit, domeindoorsturing, je factuuradres en telefoonnummer, notities bij een supportcase. Elke schrijfactie bestaat uit twee stappen: de assistent vraagt een voorbeeld op en past het daarna toe. Voor een sleutel met lees- en schrijfrechten is tweestapsverificatie op je login vereist.

Een sleutel of koppeling met lees- en schrijfrechten kan ook toestemming krijgen om domeinen te kopen: hij mag een domein dat hij heeft voorbereid betalen met je opgeslagen kaart, tot de limieten per aankoop en per dag die jij instelt ($100 en $250 tenzij je ze wijzigt, maximaal $500 en $1,000). Staat uit tenzij je het kiest, en van elke aankoop krijg je een e-mail.

Wat geen enkele sleutel kan, met welke rechten ook: hosting opzeggen, nameservers wijzigen of een verhuiscode aanvragen, een e-mailmigratie starten of bevestigen, het e-mailadres van het account wijzigen, DNS in bulk wijzigen of de assistentmachtiging aanzetten. Dat blijft voorbehouden aan een persoon in het dashboard.

02

Instellen

De snelle manier: log in en zeg tegen de Squish-assistent “stel MCP in”. Hij legt de twee soorten rechten uit, maakt samen met je de sleutel aan, toont hem één keer in de chat en geeft je de regel hieronder met je sleutel er al in.

De handmatige manier: zet eerst Laat de assistent namens mij handelen op mijn account aan in je dashboard. Sleutels gebruiken dezelfde machtiging, en zolang die uit staat, kun je geen sleutel aanmaken. Maak daarna een sleutel aan in de rij Gekoppelde assistenten en voeg de server toe aan je client.

Claude Code

claude mcp add --transport http squish https://api.squish.co/mcp \
  --header "Authorization: Bearer sq_mcp_…"

Claude desktop en claude.ai — geen sleutel nodig. Voeg https://api.squish.co/mcp toe als aangepaste connector (Settings → Connectors → Add custom connector), log in bij Squish in het venster dat opent, kies lezen of lezen en schrijven, en keur goed. De koppeling verschijnt net als een sleutel onder Gekoppelde assistenten en trek je op dezelfde manier in.

ChatGPT — ook geen sleutel, maar een andere ingang. Open op het web chatgpt.com/plugins, kies + en dan Add custom MCP server, plak https://api.squish.co/mcp als server-URL, kies OAuth, vink de risicomelding aan en kies Create as a plugin. Log in bij Squish en keur goed zoals hierboven. Typ in een chat @ en kies Squish. OpenAI biedt aangepaste MCP-servers aan op Business- en Enterprise/Edu-werkruimten, alleen op het web; staat dat onderdeel niet in het plusmenu, dan zit het niet in je abonnement en kom je binnen met een sleutel in een andere client. Claude Code accepteert deze route ook: claude mcp add --transport http squish https://api.squish.co/mcp zonder header, daarna /mcp om in te loggen.

Cursor en andere clients — voeg een externe MCP-server toe met de URL hierboven en een Authorization: Bearer sq_mcp_…-header. Elke client heeft hier een eigen instellingenscherm voor; de server heeft verder niets nodig.

Vraag je assistent daarna iets wat hij alleen met je account kan beantwoorden: “Waarom mislukt de mail voor acme.com?” Hij leest je DNS en voert de e-mailcontroles uit, en met een sleutel met lees- en schrijfrechten kan hij aanbieden het ontbrekende record toe te voegen.

03

Hoe sleutels werken

  • Een sleutel hoort bij één account en één login. Hij kan geen ander account zien of erop handelen.
  • Een sleutel verloopt 90 dagen nadat hij is aangemaakt. Trek hem eerder in vanuit dezelfde rij; een ingetrokken of verlopen sleutel stopt binnen een minuut.
  • Maximaal tien actieve sleutels en koppelingen per account.
  • Als je een sleutel aanmaakt, krijg je een e-mail. Elke aanroep van je assistent wordt op je account vastgelegd, net zoals de acties van de Squish-assistent.
  • Aanroepen zijn per sleutel begrensd en wijzigingen per account, met dezelfde limieten als de Squish-assistent.
04

Behandel resultaten als data

Sommige tools geven tekst van buiten Squish terug: WHOIS-records, DNS-waarden, headers en content die van een website is opgehaald. Die tekst gaat als data naar je assistent. Het is geen instructie, en een goed gebouwde client behandelt het ook niet zo. Schrijf je je eigen agent, houd die grens dan aan.

05

Alles wat een koppeling kan doen

De volledige lijst, gelezen uit het eigen toolregister van de server, zodat hij nooit verouderd is. Leestools kijken; schrijftools wijzigen één ding, tonen eerst een voorbeeld en passen het pas toe na jouw uitdrukkelijke ja. De kolom met rechten laat zien welke sleutel of koppeling de tool kan aanroepen.

59 tools in 10 gebieden: 37 lezen, 22 schrijven. Tools gemarkeerd met “shared hosting” werken op sites met shared hosting; een Managed Cloud-server heeft daar een eigen paneel voor.

Account

get_account_infoReturns the customer's profile on file — name, email, phone, billing address, company, and account number.lezen
list_my_recent_ordersReturns recent orders on the customer's account, with order number, total, status, effective date, and what has been refunded.lezen
update_account_addressUpdate the customer's billing address on file (Stripe + Salesforce).schrijvenlezen en schrijven
update_account_phoneUpdate the phone number on the customer's account (Stripe + Salesforce).schrijvenlezen en schrijven

Support

list_my_casesReturns the customer's support tickets (Salesforce Cases) — ticket number, subject, status, priority, and when it was opened.lezen
close_my_caseClose one of the customer's OWN support tickets (Salesforce Cases) when they say the issue is resolved.schrijvenlezen en schrijven
add_case_noteAdd a note / reply from the customer to one of their OWN support tickets (Salesforce Cases) — the note lands on the case as a public comment the support team can see.schrijvenlezen en schrijven
reopen_my_caseReopen one of the customer's OWN support tickets (Salesforce Cases) that was closed — use when a previously-resolved issue has come back or was never actually fixed.schrijvenlezen en schrijven

Domains

search_domainsSearch domain-name availability and pricing.lezen
list_my_domainsReturns the list of domains the customer owns through Squish, with status, expiry, auto-renew, order number, and purchase date.lezen
get_my_domain_transfersWhere the customer's inbound domain transfers stand, one row per domain, with counts: awaiting_code (paid, the customer still has to enter the transfer code in their dashboard — orlezen
toggle_autorenewTurn auto-renew on or off for a domain the customer owns.schrijvenlezen en schrijven
setup_domain_forwardingConfigure URL forwarding so visits to the domain (and its www) redirect to a target URL.schrijvenlezen en schrijven

DNS

get_dns_recordsReturns the DNS records currently set on a domain the customer owns (A, AAAA, CNAME, MX, TXT, NS, etc.) — same data as the registrar's DNS panel.lezen
update_dns_recordUpdate an existing DNS record on a domain the customer owns.schrijvenlezen en schrijven
create_dns_recordCreate a new DNS record on a domain the customer owns.schrijvenlezen en schrijven
delete_dns_recordDelete a DNS record on a domain the customer owns.schrijvenlezen en schrijven

Purchases

prepare_domain_purchasePrepares the purchase of an AVAILABLE domain for this customer and returns a checkout link: the domain is priced and placed in a cart on their Squish account, and the link opens thschrijvenlezen en schrijven
prepare_domain_transfersPrepares moving one or more domains the customer already owns at ANOTHER registrar to Squish, and returns ONE checkout link for all of them: each eligible domain is priced and placschrijvenlezen en schrijven
pay_prepared_purchasePays a cart that prepare_domain_purchase created, on the customer's saved card, within the spending caps the customer set when they granted purchases to this connection.schrijvenaankooprecht

Hosting

list_my_hostingReturns the list of hosting sites the customer has provisioned, with the panel URL, setup type (general / WordPress / AI Quick Start), and Plesk login.lezen
get_my_site_healthReturns MEASURED uptime history for the customer's own hosted sites — how the site has BEEN over a trailing window, from our SLA monitoring record.lezen
diagnose_my_serverDiagnoses performance on the customer's own VPS from the server's telemetry — CPU load relative to their plan's vCPU count, memory pressure, and disk fullness — and explains in plain language what is wrong.lezen
list_my_backupsLists the restore points held for one of the customer's SHARED hosting sites, newest first: the nightly backups of the whole site (source "nightly") and the edit points (source "ed · shared hostinglezen
restore_my_site_backupRestores one of the customer's SHARED hosting sites from a restore point. · shared hostingschrijvenlezen en schrijven
get_my_cdn_statsReturns whether the CDN (edge cache) is on for one of the customer's hosting sites and, for a Managed Cloud server, the last 30 days of edge traffic across the sites on that server: requests, bandwidth, cache hit rate.lezen
purge_my_cdn_cacheClears the CDN edge cache for one of the customer's hosting sites so visitors get the latest files right away.schrijvenlezen en schrijven
set_my_cdnTurns the CDN (edge cache in front of the site) on or off for one of the customer's hosting sites.schrijvenlezen en schrijven
list_site_filesLists one folder of a customer's SHARED hosting site's web root (the files the site serves): name, type (file / dir / symlink), size. · shared hostinglezen
read_site_fileReturns the text of one file in a customer's SHARED hosting site's web root (HTML, CSS, JS, JSON, text…), up to 512 KB. · shared hostinglezen
write_site_filesWrites (creates or replaces) up to 25 web files in a customer's SHARED hosting site's web root and publishes them immediately — this is how an assistant puts an edit on the live site. · shared hostingschrijvenlezen en schrijven
get_site_import_statusWhere a "Move a site here" import stands for one of the customer's hosting sites: whether an import can start, the current run (kind, phase, progress) or the preview waiting to golezen
get_hosting_upgrade_optionsWhich higher plan tiers one of the customer's hosting sites can move up to, with each tier's monthly sticker and whether it is eligible (and why not).lezen
get_my_site_runtimeReturns what one of the customer's SHARED hosting sites actually runs, read from the server: the PHP version the site uses down to the patch level (e.g. · shared hostinglezen

AI Visibility

check_ai_visibilityCheck how legible and citable a business website is to AI answer engines (ChatGPT, Perplexity, Google AI answers) and get an A-F grade with plain-English findings.lezen
plan_ai_visibility_fixesFor a website, scan it AND return a reviewable PLAN of proposed fixes to make it more legible to AI answer engines — generated business structured data (schema), a meta descriptionlezen
apply_ai_visibility_fixesApplies AI Visibility fixes to one of the customer's OWN hosted WordPress sites — adds business structured data (schema), a meta description, and an FAQ page.schrijvenlezen en schrijven
run_my_ai_visibility_reportRuns an AI Visibility report on one of the customer's OWN Squish-hosted sites and SAVES it to their history, so the grade can be tracked over time (the CRM shows it move).schrijvenlezen en schrijven
get_my_ai_visibility_coverageWhich domains a customer's AI Visibility plan watches: the plan's own site plus the extra domains they have added, each with how it was verified and its latest grade (null grade =lezen
add_ai_visibility_coverageAdds one more domain to a customer's AI Visibility plan (up to 3 extra).schrijvenlezen en schrijven
remove_ai_visibility_coverageRemoves a domain from a customer's AI Visibility coverage, freeing its slot.schrijvenlezen en schrijven

Email

list_my_migrationsList the customer's email migrations across all states (in-progress, scheduled, complete, cancelled).lezen
get_migration_statusGet the full state of a single email migration: current stage, the tenant ID we discovered, the SKU mapping the orchestrator proposed (sourceSkus / targetSkus), the scheduled cutovlezen
detect_email_providerInspect a customer's email domain via Microsoft's public getuserrealm.srf endpoint to figure out whether their Microsoft 365 is bought direct from Microsoft or resold through GoDaddy.lezen
advance_email_migrationDrive a migration to its next stage.schrijvenlezen en schrijven

Diagnostics (any site)

check_email_authCheck a domain's email authentication posture — SPF, DKIM, and DMARC — and get an A-F grade with plain-English findings.lezen
lookup_dnsLook up DNS records for any domain — A, AAAA, MX, TXT, NS, and CNAME.lezen
lookup_whoisLook up WHOIS / RDAP registration info for any domain.lezen
check_sslCheck the SSL/TLS certificate for a domain.lezen
check_uptimeCheck whether a website is up and reachable right now.lezen
check_security_headersCheck a website's HTTP security headers and get an A-F grade.lezen
lookup_ip_hostingLook up the IP address(es) for a domain and identify which network announces them — ASN, AS name, BGP prefix, registry, and the registry country for the allocation.lezen
check_blacklistCheck whether a domain or its IP address appears on major spam and malware blacklists (Spamhaus ZEN, SORBS, SpamCop, Barracuda, Spamhaus DBL, URIBL, SURBL).lezen
trace_redirectsTrace the full HTTP redirect chain for a domain — follows every hop (up to 15) and reports each URL and status code.lezen
detect_technologyDetect the technologies powering a website — CMS (WordPress, Shopify, Drupal, etc.), CDN (Cloudflare, Fastly, CloudFront, etc.), web server, frontend framework (Next.js, Gatsby, Nuxt, etc.), and analytics platforms.lezen
scan_portsScan common TCP ports on a domain to see which services are publicly accessible.lezen
detect_web_hostFind out WHO HOSTS a website — the hosting company behind a domain, plus the CDN in front of it, the DNS provider, and the email provider.lezen

Pricing and catalogs

get_public_pricingFetch the live public Squish pricing catalogs.lezen
list_capabilitiesLists everything a Squish connection or the Squish assistant can do, grouped by area (account, domains, DNS, purchases, hosting, AI Visibility, email, diagnostics, catalogs), withlezen

Niet beschikbaar voor een koppeling: je login-e-mailadres of nameservers wijzigen, verhuiscodes, een e-mailmigratie starten of annuleren, hosting opzeggen, DNS in bulk wijzigen en sleutels beheren. Dat blijft in het dashboard of bij de Squish-assistent.

06

Skills-bestand

Een kort skills-bestand met de workflows die de koppeling de moeite waard maken — een domein naar hosting laten wijzen, uitzoeken waarom e-mail mislukt, een site controleren voor een lancering, je AI Visibility-rapport lezen — staat op squish.co/squish-skill.md. Zet het in de skills- of instructiemap van je client.

Vragen, of een tool die je hier mist? Open een case vanuit je dashboard.

Squish wordt beheerd door Squish LLC — © 2026