MCP for AI assistants
The Model Context Protocol (MCP) lets an AI assistant work with Cookiemark for you. Ask in plain words which sites have problems, what changed since the last scan or how many visitors said yes, and the assistant looks it up. It comes with every paid site.
What you can ask
Which of my sites set cookies before a visitor agrees, and what should I fix first?
Scan all client sites and give me a short report per client, for our monthly meeting.
Did any new cookies turn up on shop.example.com since the last scan? Who sets them?
How many visitors accepted the banner on example.com last month, and from which countries?
A visitor sent consent ID 1b4e28ba-2fa1-41d2-883f-0016d3cca427. What did they agree to, and when?
Compare the accept rates of all my sites and tell me which banner does worst.
Check the Tag Manager container of example.com and fix the tags that run before consent.
The assistant reads your sites, scans and consent log through the tools below. It can start a scan or publish a site only when you ask it to, and good clients ask you to confirm first.
Connect
You need a key. An owner or admin makes one under Settings, API keys. It starts with cmk_; we show it once, so copy it straight away. The server lives at:
https://cookiemark.com/mcpClaude Code
claude mcp add --transport http cookiemark https://cookiemark.com/mcp \
--header "Authorization: Bearer cmk_..."Cursor, Windsurf and other clients with a settings file
{
"mcpServers": {
"cookiemark": {
"url": "https://cookiemark.com/mcp",
"headers": { "Authorization": "Bearer cmk_..." }
}
}
}Claude Desktop
Add Cookiemark to claude_desktop_config.json through the small mcp-remote bridge, which needs Node.js:
{
"mcpServers": {
"cookiemark": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://cookiemark.com/mcp", "--header", "Authorization: Bearer cmk_..."]
}
}
}Restart Claude Desktop, and Cookiemark appears among its tools.
The tools
| Tool | What it does | |
|---|---|---|
list_sites | Every site with whether its banner is live and a summary of its latest scan. | Reads |
get_scan_report | The latest scan of a site: problems and how to fix them, the checks, every cookie, and the tracking IDs found. | Reads |
find_new_cookies | Cookies the latest scan found that are not on the cookie list yet, with a suggested category. | Reads |
consent_stats | How visitors answered over a number of days: accepted, rejected, own choice, the accept rate and the top countries. | Reads |
get_consent_log | The choices on a site, newest first, for a period you choose. | Reads |
find_consent | Every choice under one consent ID, to answer a visitor who asks what they agreed to. | Reads |
start_scan | Starts a new scan of a site. One scan per site every ten minutes. | Changes |
publish_site | Makes the current draft of a site live. | Changes |
gtm_check | Checks consent in the site's Google Tag Manager container and lists what is wrong. | Reads |
gtm_prepare_fix | Puts the fix in a new Tag Manager workspace you can preview. Nothing goes live. | Changes |
gtm_publish_fix | Publishes the waiting fix and starts a scan to check it. | Changes |
Every tool that takes a site accepts its domain, such as example.com, or its ID from list_sites.
Keys and safety
- A key belongs to one organisation and sees only its sites.
- The assistant cannot change texts, design or the cookie list. You do that in the dashboard.
- A key may make 120 requests a minute. Revoke it under Settings, API keys, and the assistant loses access at once.
- Treat the key like a password: anyone with it can read your consent log.
For developers
The server speaks MCP over Streamable HTTP without sessions: POST one JSON-RPC message or a batch to /mcp with the key as a Bearer token, and every request gets a JSON answer. It supports protocol versions 2025-06-18, 2025-03-26 and 2024-11-05. Tools that read carry readOnlyHint; publish_site carries destructiveHint.