← All posts
MCPAug 27, 20264 min read

Manage Cookie Consent From Claude and ChatGPT

Katla now ships a remote MCP server. Connect your AI assistant with one URL and manage domains, audit cookies, and query consent data in plain language — with your real permissions.

Katla Team

Compliance work has a shape that AI assistants happen to be good at. Someone asks which third-party cookies a site is setting. Someone else wants to know whether the consent rate dropped after last week's banner change. A new marketing domain needs to be added, verified, scanned, and installed. None of it is hard — but it means opening a dashboard, remembering which team a domain lives under, and clicking through to the answer.

Today we're shipping the Katla MCP server, so you can just ask.

One URL, no API keys

Katla's MCP server is remote. There's nothing to install, no key to generate, and nothing to rotate:

https://api.katla.app/mcp

Paste that into Claude, ChatGPT, Claude Code, Cursor, or anything else that speaks the Model Context Protocol, sign in with your normal Katla account in the browser window that opens, and you're connected.

Authentication is OAuth 2.1 with PKCE and dynamic client registration, delegating the actual sign-in to the same identity provider the dashboard uses. Practically speaking: you click a button, you log in, you're done.

What it can actually do

The MCP server exposes the same surface as our CLI — fifteen tools covering sites, cookies, consents, and policies:

"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?"

The interesting ones are the compound requests. Onboarding a domain normally means four separate steps — add, verify, scan, install — with waiting in between, because verification and scanning are asynchronous jobs. Ask an assistant to "set up shop.example.com," and it walks the sequence itself: adds the domain, hands you the DNS record, polls until verification lands, kicks off a scan, and reports back what the crawler found.

It runs as you, not as a robot

This was the part we cared most about getting right.

Every MCP tool call is executed with your identity, through the same API endpoints the dashboard and CLI use. That means role checks, per-site access rules, and plan quotas all apply unchanged. There is no service account, no elevated path, no separate permission model to keep in sync — if you can't do it in the dashboard, the assistant can't do it for you.

A few deliberate limits on top of that:

  • Billing is read-only. You can ask what plan you're on and how much of your scan quota you've used. You cannot change plans or touch payment methods over MCP. Money decisions belong to a human in a browser.
  • No destructive operations. Removing a domain isn't exposed. Deleting things on a confident-sounding suggestion is not a failure mode we want to enable.
  • No visitor PII. Consent records come back with the decision, the categories, and the timestamp. IP addresses and user agents stay out of the model's context — it would be a strange privacy product that leaked visitor data to an AI to answer questions about privacy.
  • Scopes are real. A client that connects with only katla:read gets a genuinely read-only connection; every mutating tool refuses it.

You can revoke access at any time by removing the connector, and signing out of Katla invalidates the underlying session everywhere.

Getting started

ClientHow to connect
ClaudeSettings → Connectors → Add custom connector, paste the URL, click Connect
ChatGPTSettings → Connectors → Create, paste the URL, choose OAuth, click Connect
Cursor / VS CodeAdd { "mcpServers": { "katla": { "url": "https://api.katla.app/mcp" } } }

For Claude Code, one command does it:

claude mcp add --transport http katla https://api.katla.app/mcp

Step-by-step setup and troubleshooting live in the getting started guide, and every tool is listed in the MCP reference.

Where this goes

Cookie compliance is a domain where the data is precise and the questions are fuzzy. "Are we compliant?" is not a database query — but "which cookies are uncategorized," "which sites haven't been scanned in 90 days," and "did the acceptance rate move" all are. Putting a language interface over precise data is a good fit, as long as the precise data stays authoritative.

That's the line we're holding: the assistant is an interface, not a source of truth. Katla still does the scanning, the classification, and the consent recording. MCP just means you can ask about it in the tool you already have open.