Cookietoestemming beheren vanuit Claude en ChatGPT
Koppel Claude of ChatGPT met één URL aan de MCP-server van Katla en beheer cookietoestemming in gewone taal: domeinen, cookies en toestemmingen.
Compliancewerk heeft een vorm waar AI-assistenten toevallig goed in zijn. Iemand vraagt welke cookies van derden een site zet. Iemand anders wil weten of het toestemmingspercentage is gedaald na de bannerwijziging van vorige week. Er moet een nieuw marketingdomein worden toegevoegd, geverifieerd, gescand en geïnstalleerd. Niets daarvan is moeilijk, maar het betekent een dashboard openen, onthouden onder welk team een domein valt en doorklikken tot je het antwoord hebt.
Vandaag lanceren we de MCP-server van Katla, zodat je het gewoon kunt vragen.
Eén URL, geen API-sleutels
De MCP-server van Katla draait op afstand. Er valt niets te installeren, geen sleutel te genereren en niets te roteren:
https://api.katla.app/mcp
Plak dat in Claude, ChatGPT, Claude Code, Cursor of iets anders dat het Model Context Protocol spreekt, log in met je gewone Katla-account in het browservenster dat opengaat, en je bent verbonden.
De authenticatie is OAuth 2.1 met PKCE en dynamische clientregistratie, waarbij de eigenlijke aanmelding wordt overgelaten aan dezelfde identiteitsprovider die het dashboard gebruikt. In de praktijk: je klikt op een knop, je logt in, klaar.
Wat hij echt kan
De MCP-server biedt dezelfde functies als onze CLI: vijftien tools voor sites, cookies, toestemmingen en beleid.
"What cookies does example.com set, and which ones are marketing?"
"What's our consent acceptance rate this month?"
"Add shop.example.com and tell me how to verify it."
"Reclassify _hjSession on example.com as analytics."
"How do I install the banner on example.com?"
De interessante zijn de samengestelde verzoeken. Een domein onboarden betekent normaal vier losse stappen (toevoegen, verifiëren, scannen, installeren) met wachttijd ertussen, omdat verificatie en scannen asynchrone jobs zijn. Vraag een assistent om “shop.example.com in te richten”, en hij loopt de reeks zelf af: voegt het domein toe, geeft je het DNS-record, blijft controleren tot de verificatie rond is, start een scan en meldt wat de crawler heeft gevonden.
Hij handelt als jij, niet als een robot
Dit was het onderdeel dat we het allerbelangrijkst vonden om goed te krijgen.
Elke aanroep van een MCP-tool wordt uitgevoerd met jouw identiteit, via dezelfde API-endpoints die het dashboard en de CLI gebruiken. Rolcontroles, toegangsregels per site en de quota van je abonnement gelden dus ongewijzigd. Er is geen serviceaccount, geen verhoogd pad, geen apart rechtenmodel dat synchroon moet blijven: wat jij niet in het dashboard kunt doen, kan de assistent ook niet voor je doen.
Daarbovenop een paar bewuste grenzen:
- Facturering is alleen-lezen. Je kunt vragen welk abonnement je hebt en hoeveel van je scanquotum je hebt gebruikt. Je kunt via MCP geen abonnement wijzigen of aan betaalmethoden komen. Beslissingen over geld horen bij een mens in een browser.
- Geen destructieve acties. Een domein verwijderen is niet beschikbaar. Dingen wissen op basis van een zelfverzekerd klinkende suggestie is geen faalscenario dat we mogelijk willen maken.
- Geen persoonsgegevens van bezoekers. Toestemmingsregistraties komen terug met de beslissing, de categorieën en het tijdstip. IP-adressen en user agents blijven buiten de context van het model: het zou een vreemd privacyproduct zijn dat bezoekersgegevens naar een AI lekt om vragen over privacy te beantwoorden.
- Scopes zijn echt. Een client die alleen met
katla:readverbinding maakt, krijgt een verbinding die echt alleen-lezen is; elke tool die iets wijzigt, weigert hem.
Je kunt de toegang op elk moment intrekken door de connector te verwijderen, en uitloggen bij Katla maakt de onderliggende sessie overal ongeldig.
Aan de slag
| Client | Zo maak je verbinding |
|---|---|
| Claude | Settings → Connectors → Add custom connector, plak de URL, klik op Connect |
| ChatGPT | Settings → Connectors → Create, plak de URL, kies OAuth, klik op Connect |
| Cursor / VS Code | Voeg { "mcpServers": { "katla": { "url": "https://api.katla.app/mcp" } } } toe |
Voor Claude Code is één commando genoeg:
claude mcp add --transport http katla https://api.katla.app/mcpEen stapsgewijze setup en hulp bij problemen vind je in de handleiding om te beginnen, en elke tool staat in de MCP-referentie.
Waar dit naartoe gaat
Cookiecompliance is een domein waar de data precies is en de vragen vaag zijn. “Zijn we compliant?” is geen databasequery, maar “welke cookies zijn niet gecategoriseerd”, “welke sites zijn in 90 dagen niet gescand” en “is het acceptatiepercentage veranderd” zijn dat allemaal wel. Een taalinterface over precieze data leggen past goed, zolang de precieze data de bron van waarheid blijft.
Dat is de lijn die we vasthouden: de assistent is een interface, geen bron van waarheid. Katla doet nog steeds het scannen, het classificeren en het vastleggen van toestemming. MCP betekent alleen dat je ernaar kunt vragen in de tool die je toch al open hebt staan.