Audit a site's cookie consent from the EU: trackers before consent, reject, after reject, GPC.
An MCP server for the Mamba Labs Cookie Consent Audit actor on Apify. Send a domain or a list of domains. Each one is loaded from an EU address in fresh browser sessions, and you get back one row of consent signals per domain: the consent platform, reject on the first layer, trackers and tracking cookies before consent and after a reject, and the Global Privacy Control response.
Audit one or more websites for cookie consent behavior from an EU address. Each domain is loaded in fresh browser sessions: once before any consent click, once after clicking the reject control on the first layer of the banner, and once with Global Privacy Control on. Returns one row per domain: the consent management platform found (TCF __tcfapi, OneTrust, Cookiebot, Usercentrics, Didomi, and others), whether accept and reject controls sit on the first layer, tracking cookies and requests to known tracker hosts before consent and after the reject, Google Consent Mode denied pings, the GPC comparison and /.well-known/gpc.json, a list of signals, and the version of the fixed tracker list used. Signals for review, not legal findings. Cookie values are never returned. A run that does not succeed is returned as an error with its run ID. Read-only on the audited sites; requires an APIFY_TOKEN and consumes Apify credits per audited domain.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-cookie-consent-audit": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-cookie-consent-audit"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Restart the client. The audit_cookie_consent tool appears.
APIFY_TOKEN. The server lists its tool without a token; a call needs one.audit_cookie_consent. One tool. Example arguments:
{
"domains": ["example.de", "example.fr"],
"proxy_country": "DE"
}
Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults.
| Input | Type | Required | Description |
|---|---|---|---|
domain | string | no | The website to audit, for example example.de or https://www.example.de/. The homepage is audited. Give domain or domains. |
domains | array | no | More domains or URLs to audit in the same run. Duplicates are skipped. Up to 500 per run. |
proxy_country | string | no | The EU country the browser connects from: DE, FR, NL, IE, IT, ES, SE, PL, AT, BE, DK, FI, or none. Default DE. none is not an EU vantage point. |
check_gpc | string | no | Also run the Global Privacy Control session and read /.well-known/gpc.json. Default true. |
max_charge_usd | string | no | Optional. Stop the run before the audit charges would pass this amount. |
skip_cache | string | no | A domain audited in the last 24 hours with the same settings comes back from cache at no charge. true audits it again. Default false. |
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
domain-audited, per fully audited domain | $0.05 | $0.0475 | $0.045 | $0.0425 |
apify-actor-start, per run start | $0.001 | $0.001 | $0.001 | $0.001 |
Blocked, timed out, partial, cached, and invalid rows are never charged.
The actor needs no provider key. It loads public pages with the page and its banner deciding requests sent through the Apify proxy, and holds no key of its own.
apify.com/mambalabs/cookie-consent-audit
MIT. See LICENSE.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @mambalabsdev/mcp-cookie-consent-auditMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"com-mambabuilt-mcp-cookie-consent-audit": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-cookie-consent-audit"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@mambalabsdev/mcp-cookie-consent-auditnpmcom.mambabuilt/mcp-cookie-consent-audit works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.