Beschikbare MCP Tools
Compleet overzicht van alle OptimoCMS MCP tools met parameters en voorbeelden.
Beschikbare MCP Tools
OptimoCMS biedt 62 MCP tools verdeeld over 19 categorieën. Elke tool is beschikbaar in Cursor, Claude Desktop en Lovable.
Sites
list_sites
Alle websites ophalen die toegankelijk zijn met de huidige API key.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
limit | number | Nee | Max aantal sites (standaard 25, max 100) |
status | string | Nee | Filter op status: active, paused, building, error |
Voorbeeld-prompt: "Toon al mijn actieve sites."
get_site
Gedetailleerde informatie over een specifieke website, inclusief design tokens, domein en status.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Wat zijn de details van site site_abc123?"
create_site
Nieuwe website aanmaken. Vereist admin-rol. Respecteert de site-limiet van het abonnement.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteName | string | Ja | Naam voor de nieuwe website |
language | string | Nee | Taal: nl, en, de, fr, es (standaard: nl) |
Voorbeeld-prompt: "Maak een nieuwe website aan genaamd 'Bakkerij De Molen'."
delete_site
Website verwijderen inclusief alle data. Vereist admin-rol. Bevestiging via sitenaam vereist.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID om te verwijderen |
confirmName | string | Ja | Typ de sitenaam ter bevestiging |
Voorbeeld-prompt: "Verwijder site site_abc123 (bevestig: Bakkerij De Molen)."
Pagina's
list_pages
Alle pagina's van een website ophalen met titels, slugs en status.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
limit | number | Nee | Max aantal pagina's (standaard 25, max 100) |
status | string | Nee | Filter: published, draft, archived, all |
Voorbeeld-prompt: "Toon alle gepubliceerde pagina's van site site_abc123."
get_page
Volledige pagina-details inclusief content blocks, SEO metadata en timestamps.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID |
Voorbeeld-prompt: "Haal de content op van pagina page_xyz789 op site site_abc123."
create_page
Nieuwe pagina aanmaken. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
title | string | Ja | Pagina titel |
slug | string | Nee | URL slug (auto-gegenereerd uit titel indien weggelaten) |
blocks | array | Nee | Content blocks |
Voorbeeld-prompt: "Maak een pagina 'Over Ons' aan op site site_abc123."
update_page
Bestaande pagina bijwerken. Kan titel, slug, blocks, SEO of status wijzigen.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID |
title | string | Nee | Nieuwe titel |
slug | string | Nee | Nieuwe URL slug |
status | string | Nee | published, draft, archived |
blocks | array | Nee | Nieuwe content blocks (vervangt alle bestaande) |
seo | object | Nee | SEO metadata: title, description, ogImage, noIndex |
Voorbeeld-prompt: "Zet pagina page_xyz789 op draft."
delete_page
Pagina verwijderen (archiveren). De pagina wordt soft-deleted en kan hersteld worden.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID om te verwijderen |
Voorbeeld-prompt: "Verwijder pagina page_xyz789 van site site_abc123."
Publiceren
publish_site
Website publiceren (deployen) naar productie. Rate limited: max 1 deploy per 5 minuten per site. Vereist publish permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Publiceer site site_abc123."
Media
search_media
Zoeken in de mediabibliotheek op bestandsnaam of alt-tekst. Optioneel filteren op MIME type.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
query | string | Ja | Zoekterm (op bestandsnaam en alt-tekst) |
mimeType | string | Nee | Filter op MIME type prefix, bijv. image/ of video/ |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Zoek alle afbeeldingen met 'logo' in de naam op site site_abc123."
Analytics
get_analytics
Analytics samenvatting voor een website: pageviews, unieke bezoekers, gemiddelde sessieduur, bounce rate en top pagina's.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
period | string | Nee | Periode: last7d, last30d, last90d (standaard: last30d) |
Voorbeeld-prompt: "Hoe heeft site site_abc123 het de afgelopen 7 dagen gedaan?"
AI
generate_page
Nieuwe pagina genereren met AI vanuit een tekstprompt. Optioneel met AI-gegenereerde hero video (Professional+ plannen). Kies een videomodel: seedance-fast (1 credit, standaard), seedance-standard (2 credits, max kwaliteit), kling-standard (1 credit, budget). Vereist ai permissie. Rate limited: 2 calls per minuut. Kosten: ~€0,30 per call (excl. video).
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
prompt | string | Ja | Beschrijving van de te genereren pagina |
language | string | Nee | Content taal: nl, en, de, fr, es |
style | string | Nee | Visuele stijl hint: minimalist, corporate, playful etc. |
useHeroVideo | boolean | Nee | AI hero video genereren voor de hero sectie (Professional+ plannen). Standaard: false |
videoModelId | string | Nee | Videomodel: seedance-fast (1 credit, standaard), seedance-standard (2 credits), kling-standard (1 credit). Alleen relevant wanneer useHeroVideo is true. |
AI media generatie: Wanneer
useHeroVideooptruestaat, wordt automatisch een korte achtergrondvideo gegenereerd voor de hero sectie. Dit is beschikbaar voor Professional en Agency plannen. Bij lagere plannen wordt de parameter genegeerd.
Videomodellen: Gebruik
videoModelIdom het model te kiezen. Standaard wordtseedance-fastgebruikt (beste balans kwaliteit/snelheid). Het modelseedance-standardlevert maximale kwaliteit maar kost 2 credits.kling-standardis de budget-optie.
Voorbeeld-prompt: "Genereer een landingspagina voor een bakkerij met hero video."
Voorbeeld-prompt (met model): "Genereer een landingspagina voor een bakkerij met hero video in hoge kwaliteit."
Voorbeeld-prompt (zonder video): "Genereer een moderne landingspagina voor een bakkerij in minimalistische stijl."
translate_page
Alle content blocks van een pagina vertalen naar een andere taal. Vereist ai permissie. Rate limited: 5 calls per minuut.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID |
targetLanguage | string | Ja | Doeltaal: nl, en, de, fr, es |
Voorbeeld-prompt: "Vertaal pagina page_xyz789 naar het Duits."
assist_content
AI-gedreven content verbetering voor een bestaande pagina. Beschrijf wat je wilt veranderen. Vereist ai permissie. Rate limited: 5 calls per minuut.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID |
instruction | string | Ja | Wat te veranderen (vrije tekst instructie) |
Voorbeeld-prompt: "Maak de toon van pagina page_xyz789 professioneler."
generate_template
Herbruikbaar component template genereren vanuit een beschrijving. Vereist ai permissie. Rate limited: 2 calls per minuut.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID (voor context zoals design tokens) |
prompt | string | Ja | Beschrijving van het template |
style | string | Nee | Visuele stijl hint |
Voorbeeld-prompt: "Maak een pricing table template met 3 tiers."
generate_template_variants
Stijlvarianten genereren van een bestaand template. Produceert meerdere visuele variaties. Vereist ai permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
templateId | string | Ja | Het basis template ID |
count | number | Nee | Aantal varianten (standaard 3, max 5) |
styles | string[] | Nee | Specifieke stijlnamen, bijv. ["dark", "playful", "corporate"] |
Voorbeeld-prompt: "Maak 3 varianten van template tmpl_abc: dark, playful en corporate."
Import
preview_import
Website URL crawlen en een preview tonen van wat de import zou opleveren. Maakt GEEN site aan. Vereist ai permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
url | string | Ja | De website URL om te previewer |
language | string | Nee | Doeltaal: nl, en, de, fr, es (standaard: nl) |
Voorbeeld-prompt: "Preview wat er zou worden geïmporteerd van https://voorbeeld.nl."
import_website
Website importeren via URL. Crawlt de site, detecteert layout, mapt secties naar componenten en maakt een nieuwe OptimoCMS site. Vereist ai permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
url | string | Ja | De website URL om te importeren |
language | string | Nee | Doeltaal (standaard: nl) |
siteName | string | Nee | Naam voor de nieuwe site |
siteId | string | Nee | Bestaand site ID om te overschrijven |
selectedSubPages | string[] | Nee | URLs van subpagina's om mee te nemen |
importBlogPosts | boolean | Nee | WordPress blogposts importeren (standaard: true) |
hdImport | boolean | Nee | HD Import met vision-guided refinement (professional+ tier) |
Voorbeeld-prompt: "Importeer https://voorbeeld.nl als 'Voorbeeld Site' met alle subpagina's."
Booking
get_available_slots
Beschikbare boekingstijdslots ophalen voor een datum. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
date | string | Ja | Datum in YYYY-MM-DD formaat |
serviceId | string | Nee | Specifieke service ID |
Voorbeeld-prompt: "Welke tijdslots zijn beschikbaar op 2026-06-15 voor site site_abc123?"
create_booking
Nieuwe boeking aanmaken. Controleer eerst beschikbare slots met get_available_slots. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
serviceId | string | Ja | De service ID |
date | string | Ja | Datum in YYYY-MM-DD formaat |
startTime | string | Ja | Starttijd in HH:mm formaat |
customerName | string | Ja | Klantnaam |
customerEmail | string | Ja | Klant e-mailadres |
customerPhone | string | Nee | Klant telefoonnummer |
staffId | string | Nee | Medewerker ID |
Voorbeeld-prompt: "Boek een afspraak voor Jan Jansen op 2026-06-15 om 14:00."
list_bookings
Boekingen ophalen, optioneel gefilterd op status of datum. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: pending, confirmed, cancelled, completed |
date | string | Nee | Filter op datum (YYYY-MM-DD) |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle bevestigde boekingen van vandaag."
E-commerce
list_products
Producten ophalen uit de webshop. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
category | string | Nee | Filter op categorie |
Voorbeeld-prompt: "Toon alle producten in de categorie 'Brood' van site site_abc123."
create_product
Nieuw product aanmaken. Prijs in centen (bijv. 1999 = €19,99). Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
title | string | Ja | Productnaam |
priceCents | number | Ja | Prijs in centen |
description | string | Nee | Productbeschrijving |
category | string | Nee | Categorie |
stock | number | Nee | Voorraad (null = onbeperkt) |
Voorbeeld-prompt: "Voeg een product 'Zuurdesembrood' toe voor €4,50 met 50 stuks op voorraad."
update_product
Bestaand product bijwerken. Alleen meegegeven velden worden gewijzigd. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
productId | string | Ja | Het product ID |
title | string | Nee | Nieuwe naam |
priceCents | number | Nee | Nieuwe prijs in centen |
description | string | Nee | Nieuwe beschrijving |
category | string | Nee | Nieuwe categorie |
active | boolean | Nee | Actief/inactief |
stock | number | Nee | Nieuwe voorraad |
Voorbeeld-prompt: "Verhoog de prijs van product prod_123 naar €5,99."
list_orders
Bestellingen ophalen. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: pending, paid, shipped, delivered, completed, cancelled, refunded |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle onbetaalde bestellingen van site site_abc123."
Loyaliteit
get_member_status
Loyalty-programma lidstatus ophalen inclusief puntensaldo en tier. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
memberId | string | Ja | Het lid ID |
Voorbeeld-prompt: "Hoeveel punten heeft lid mem_456 op site site_abc123?"
earn_points
Loyaliteitspunten toekennen aan een lid. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
memberId | string | Ja | Het lid ID |
points | number | Ja | Aantal punten (positief geheel getal) |
description | string | Ja | Reden voor toekenning |
Voorbeeld-prompt: "Geef lid mem_456 100 punten voor een aankoop van €50."
list_rewards
Beschikbare loyalty beloningen ophalen. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Welke beloningen kunnen leden inwisselen op site site_abc123?"
Reviews
list_reviews
Reviews ophalen, optioneel gefilterd op status. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: all, pending, approved, rejected |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle ongoedgekeurde reviews van site site_abc123."
Vacatures
list_jobs
Vacatures ophalen. Vereist verticals of read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: draft, review, published, paused, closed, filled, archived |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle openstaande vacatures van site site_abc123."
create_job
Nieuwe vacature aanmaken in draft status. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
title | string | Ja | Functietitel |
description | string | Nee | Volledige beschrijving (ondersteunt markdown) |
location | string | Nee | Locatie (bijv. "Amsterdam" of "Remote") |
department | string | Nee | Afdeling |
jobType | string | Nee | full_time, part_time, contract, internship, volunteer, temporary |
Voorbeeld-prompt: "Maak een vacature aan voor Senior Frontend Developer in Amsterdam."
Bezorging
list_delivery_orders
Bezorgorders ophalen met optionele filters. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: received, preparing, ready, picked_up, in_transit, delivered, cancelled |
driverId | string | Nee | Filter op bezorger ID |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle bezorgorders die onderweg zijn."
update_delivery_status
Status van een bezorgorder bijwerken. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
orderId | string | Ja | Het bezorgorder ID |
status | string | Ja | Nieuwe status: received, preparing, ready, picked_up, in_transit, delivered, cancelled |
Voorbeeld-prompt: "Markeer bezorgorder ord_123 als afgeleverd."
get_delivery_kpis
Dashboard KPI's ophalen: totaal orders, orders vandaag, gemiddelde levertijd, actieve bezorgers. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Wat zijn de bezorg-KPI's van site site_abc123?"
Verhuur
list_rental_units
Beschikbare accommodaties/verhuurunits ophalen. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle beschikbare accommodaties van site site_abc123."
check_rental_availability
Controleer of een accommodatie beschikbaar is voor bepaalde data. Retourneert beschikbaarheidsstatus en totaalprijs.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
unitId | string | Ja | Het accommodatie ID |
checkIn | string | Ja | Incheckdatum (YYYY-MM-DD) |
checkOut | string | Ja | Uitcheckdatum (YYYY-MM-DD) |
guests | number | Nee | Aantal gasten |
Voorbeeld-prompt: "Is unit unit_456 beschikbaar van 1 tot 8 juli 2026 voor 4 gasten?"
create_rental_booking
Verhuurboeking aanmaken. Controleer eerst beschikbaarheid met check_rental_availability. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
unitId | string | Ja | Het accommodatie ID |
checkIn | string | Ja | Incheckdatum (YYYY-MM-DD) |
checkOut | string | Ja | Uitcheckdatum (YYYY-MM-DD) |
guests | number | Ja | Aantal gasten |
customerName | string | Ja | Klantnaam |
customerEmail | string | Ja | Klant e-mailadres |
customerPhone | string | Nee | Klant telefoonnummer |
Voorbeeld-prompt: "Boek unit unit_456 van 1-8 juli voor Jan de Vries."
list_rental_bookings
Verhuurboekingen ophalen. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: pending, approved, declined, cancelled |
limit | number | Nee | Max resultaten (standaard 25) |
Voorbeeld-prompt: "Toon alle goedgekeurde verhuurboekingen van deze maand."
Vastgoed
list_realestate_listings
Vastgoedaanbod ophalen met optionele filters. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
status | string | Nee | Filter: draft, published, archived, sold |
type | string | Nee | Filter: sale, rent |
propertyType | string | Nee | Filter: apartment, house, villa, land, commercial, other |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle gepubliceerde koopwoningen op site site_abc123."
create_realestate_listing
Nieuw vastgoedobject aanmaken. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
title | string | Ja | Titel van het aanbod |
description | string | Nee | Beschrijving |
type | string | Ja | sale of rent |
propertyType | string | Ja | apartment, house, villa, land, commercial, other |
price | number | Ja | Prijs in EUR |
address | string | Ja | Adres |
city | string | Ja | Stad |
bedrooms | number | Nee | Aantal slaapkamers |
bathrooms | number | Nee | Aantal badkamers |
areaSqm | number | Nee | Woonoppervlak in m² |
Voorbeeld-prompt: "Voeg een appartement toe: 2 slaapkamers, Keizersgracht Amsterdam, €425.000."
search_realestate
Vastgoed zoeken op locatie (geo search). Retourneert objecten binnen een straal rond coördinaten.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
lat | number | Ja | Breedtegraad van zoekcentrum |
lng | number | Ja | Lengtegraad van zoekcentrum |
radiusKm | number | Ja | Zoekstraal in kilometers |
type | string | Nee | Filter: sale, rent |
Voorbeeld-prompt: "Zoek huurwoningen binnen 5 km van het centrum van Amsterdam."
Voice Agent
get_voice_agent_config
Voice agent configuratie ophalen (taal, begroeting, openingstijden, stem). Gevoelige velden zijn gemaskeerd. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Wat is de huidige voice agent configuratie van site site_abc123?"
update_voice_agent_config
Voice agent instellingen bijwerken (taal, begroeting, stem, na-openingstijden). Kan geen API keys instellen. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
language | string | Nee | Standaardtaal: nl, en, de, fr, es |
greeting | string | Nee | Begroetingsbericht bij start van een gesprek |
voiceId | string | Nee | Stem ID: eve, ara, rex, sal, leo |
afterHoursAction | string | Nee | Actie buiten openingstijden: voicemail, message, off |
Voorbeeld-prompt: "Stel de begroeting van de voice agent in op 'Welkom bij onze zaak'."
get_voice_agent_analytics
Voice agent belanalytics ophalen: totaal gesprekken, gemiddelde duur, gemiste oproepen, top intenties. Vereist verticals permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
period | string | Nee | Periode: 7d, 30d, 90d (standaard 30d) |
Voorbeeld-prompt: "Toon de belstatistieken van de afgelopen 30 dagen."
SEO & Design
update_site_seo
SEO-instellingen van een site bijwerken: meta title, description, OG image en robots directive. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
siteTitle | string | Nee | Meta title voor de site |
siteDescription | string | Nee | Meta description voor de site |
ogImage | string | Nee | Open Graph afbeelding URL (moet HTTPS zijn) |
robotsDirective | string | Nee | Robots directive: index,follow, noindex,nofollow etc. |
Voorbeeld-prompt: "Stel de SEO title in op 'Bakkerij Amsterdam' voor site site_abc123."
update_page_seo
SEO-instellingen van een specifieke pagina bijwerken: meta title, description en canonical URL. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
pageId | string | Ja | Het pagina ID |
title | string | Nee | Meta title voor de pagina |
description | string | Nee | Meta description voor de pagina |
canonicalUrl | string | Nee | Canonical URL (moet HTTPS zijn) |
Voorbeeld-prompt: "Stel de meta description in voor pagina page_xyz789."
update_design_tokens
Design tokens van een site bijwerken: kleuren, fonts, spacing en border-radius. Wijzigingen worden gemerged met bestaande tokens. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
colorPrimary | string | Nee | Primaire kleur (hex, bijv. #2563eb) |
colorBackground | string | Nee | Achtergrondkleur |
colorText | string | Nee | Tekstkleur |
colorSurface | string | Nee | Surface/card kleur |
fontBody | string | Nee | Body font-family |
fontHeading | string | Nee | Heading font-family |
radiusCard | string | Nee | Border-radius voor kaarten (bijv. 12px) |
radiusButton | string | Nee | Border-radius voor knoppen (bijv. 8px) |
Voorbeeld-prompt: "Verander de primaire kleur naar #ff6600 en het heading font naar Inter."
Push Notificaties
send_push_campaign
Push notificatie versturen naar alle subscribers van een site. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
title | string | Ja | Notificatie titel |
body | string | Ja | Notificatie bericht |
url | string | Nee | URL om te openen bij klik (moet HTTPS zijn) |
imageUrl | string | Nee | Afbeelding URL voor de notificatie (moet HTTPS zijn) |
Voorbeeld-prompt: "Stuur een push notificatie 'Zomerkorting 20%!' naar alle subscribers van site site_abc123."
Webhooks
create_webhook
Webhook registreren voor events op een site. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
url | string | Ja | Webhook endpoint URL (moet HTTPS zijn) |
events | string[] | Ja | Events om te luisteren: order.created, booking.created, form.submitted, page.published, review.created |
secret | string | Nee | Gedeeld geheim voor HMAC signature verificatie |
Voorbeeld-prompt: "Registreer een webhook op https://mijn-crm.nl/hook voor order.created events."
list_webhooks
Alle webhooks van een site ophalen. Vereist read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Toon alle webhooks van site site_abc123."
Chatbot
configure_chatbot
Chatbot activeren en configureren voor een site. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
enabled | boolean | Ja | Chatbot aan/uit |
greeting | string | Nee | Begroetingsbericht |
primaryColor | string | Nee | Widget kleur (hex, bijv. #2563eb) |
language | string | Nee | Chatbot taal: nl, en, de, fr, es |
Voorbeeld-prompt: "Activeer de chatbot op site site_abc123 met een Nederlandse begroeting."
get_chatbot_config
Huidige chatbot configuratie ophalen. Vereist read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Wat is de chatbot configuratie van site site_abc123?"
Domeinen
check_domain_availability
Controleer of een domein beschikbaar is voor registratie. Retourneert beschikbaarheid, prijs en of het gratis is bij het huidige plan. Vereist domains of admin permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
domain | string | Ja | Het te controleren domein (bijv. bakkerij-amsterdam.nl) |
Voorbeeld-prompt: "Is het domein bakkerij-amsterdam.nl beschikbaar?"
register_domain
Domein registreren en automatisch koppelen aan Cloudflare voor hosting. Controleert tier limieten. Niet beschikbaar tijdens proefperiode. Vereist domains of admin permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
domain | string | Ja | Het te registreren domein |
siteId | string | Ja | Site ID om aan te koppelen |
registrant | object | Ja | Registrant gegevens: firstName, lastName, email, phone, address, city, postalCode, country |
Voorbeeld-prompt: "Registreer bakkerij-amsterdam.nl voor site site_abc123."
transfer_domain
Domein transfereren naar OptimoCMS met een autorisatiecode. Niet beschikbaar tijdens proefperiode. Vereist domains of admin permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
domain | string | Ja | Het te transfereren domein |
authCode | string | Ja | Autorisatiecode (EPP code) van de huidige registrar |
siteId | string | Ja | Site ID om aan te koppelen |
registrant | object | Ja | Registrant gegevens (zelfde structuur als register_domain) |
Voorbeeld-prompt: "Transfer mijndomein.nl naar OptimoCMS met auth code ABC123."
get_domain_status
Gedetailleerde status en registratie-info van een domein ophalen. Vereist domains of admin permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
domain | string | Ja | Het domein |
Voorbeeld-prompt: "Wat is de status van bakkerij-amsterdam.nl?"
list_domains
Alle domeinen ophalen die bij de agency horen. Vereist domains of admin permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon al mijn geregistreerde domeinen."
create_mailbox
Mailbox aanmaken voor een site-domein. Genereert een veilig wachtwoord dat éénmalig wordt geretourneerd. Controleert tier limieten. Niet beschikbaar tijdens proefperiode. Vereist write permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
localPart | string | Ja | Deel vóór het @-teken (bijv. info) |
displayName | string | Ja | Weergavenaam (bijv. Info Bakkerij) |
Voorbeeld-prompt: "Maak een info@ mailbox aan voor site site_abc123."
list_mailboxes
Alle mailboxen voor een site ophalen. Vereist read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
limit | number | Nee | Max resultaten (standaard 25, max 100) |
Voorbeeld-prompt: "Toon alle mailboxen van site site_abc123."
get_email_dns_records
DNS records ophalen die nodig zijn voor e-mail (MX, SPF, DKIM). Toont ook de verificatiestatus per record. Vereist read permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
siteId | string | Ja | Het site ID |
Voorbeeld-prompt: "Welke DNS records zijn nodig voor e-mail op site site_abc123?"
Orchestratie
create_business
Lanceer een compleet online bedrijf met één aanroep. Genereert een website, registreert optioneel een domein, stelt e-mail in, activeert boekingen/webshop/voice agent/chatbot/loyaliteit, configureert SEO en publiceert — alles in één georkestreerde workflow. Site-generatie is de enige hard blocker; alle andere stappen zijn best-effort. Vereist write + ai permissie.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
businessName | string | Ja | Naam van het bedrijf (bijv. "Tandarts Valencia") |
businessType | string | Ja | Bedrijfstype: dental_practice, restaurant, hair_salon, webshop, real_estate, hotel, gym, bakery |
language | string | Nee | Contenttaal: nl, en, de, fr, es (standaard: nl) |
domain | string | Nee | Domein om te registreren (bijv. tandarts-valencia.es) |
features | string[] | Nee | Features om te activeren: booking, voice_agent, ecommerce, chatbot, loyalty, push |
registrant | object | Nee | Contactgegevens voor domeinregistratie (verplichte velden: first_name, last_name, email, phone, address1, city, country, postal_code) |
style | string | Nee | Visuele stijl: minimalist, corporate, playful, elegant |
Voorbeeld-prompt: "Maak een tandartspraktijk in Valencia met online boekingen en een voice agent. Registreer het domein tandarts-valencia.es."
Voorbeeld-prompt (minimaal): "Maak een website voor Bakkerij De Gouden Korst."
Zie de Business Orchestrator gids voor volledige documentatie, foutafhandeling en tier-vereisten.
Teambeheer
list_team_members
Alle teamleden van de agency ophalen met naam, email, rol en toegewezen sites. Vereist admin-rol.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
| (geen) |
Voorbeeld-prompt: "Toon alle teamleden."
add_team_member
Nieuw teamlid toevoegen. Maakt een gebruikersaccount aan. Respecteert de teamleden-limiet van het abonnement.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
email | string | Ja | E-mailadres van het nieuwe teamlid |
displayName | string | Nee | Weergavenaam |
role | string | Ja | Rol: admin, editor, team_member |
assignedSites | string[] | Nee | Site ID's voor toegang (leeg = alle sites) |
Voorbeeld-prompt: "Voeg jan@voorbeeld.nl toe als editor met toegang tot site_abc123."
remove_team_member
Teamlid verwijderen. Verwijdert het account en alle toegang. Super_admin kan niet verwijderd worden.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
userId | string | Ja | UID van het teamlid |
Voorbeeld-prompt: "Verwijder gebruiker uid_xyz789 uit het team."
update_team_member_role
Rol en/of toegewezen sites van een teamlid bijwerken. Super_admin kan niet gewijzigd worden.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
userId | string | Ja | UID van het teamlid |
role | string | Nee | Nieuwe rol: admin, editor, team_member |
assignedSites | string[] | Nee | Nieuwe site ID's |
Voorbeeld-prompt: "Maak gebruiker uid_xyz789 admin."
Permissies per tool
| Tool | Vereiste permissie |
|---|---|
list_sites, get_site, list_pages, get_page | read |
create_page, update_page, update_site_seo, update_page_seo, update_design_tokens | write |
publish_site | publish |
send_push_campaign, create_webhook, configure_chatbot | write |
search_media | read |
get_analytics | read |
generate_page, translate_page, assist_content, generate_template, generate_template_variants | ai |
preview_import, import_website | ai |
get_available_slots, create_booking, list_bookings | verticals |
list_products, create_product, update_product, list_orders | verticals |
get_member_status, earn_points, list_rewards | verticals |
list_reviews | verticals of read |
list_jobs, create_job | verticals |
list_delivery_orders, update_delivery_status, get_delivery_kpis | verticals |
list_rental_units, check_rental_availability, create_rental_booking, list_rental_bookings | verticals |
list_realestate_listings, create_realestate_listing, search_realestate | verticals |
get_voice_agent_config, update_voice_agent_config, get_voice_agent_analytics | verticals |
check_domain_availability, register_domain, transfer_domain, get_domain_status, list_domains | domains of admin |
create_mailbox | write |
list_mailboxes, get_email_dns_records | read |
list_webhooks, get_chatbot_config | read |
create_business | write + ai |
create_site, delete_site | admin |
delete_page | write |
list_team_members, add_team_member, remove_team_member, update_team_member_role | admin |