Add a GDPR cookie consent banner with Google Consent Mode v2 to any website, from the chat.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Adds the website to the confirmed account (setup_token must be ready). Defaults to the website given to create_account. An already added website is returned as is. The free plan includes one website.
setup_token returned by create_account
Website hostname, e.g. example.com; defaults to the website given to create_account
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http cookiepilot https://mcp.cookiepilot.io/mcp
Adds the website to the confirmed account (setup_token must be ready). Defaults to the website given to create_account. An already added website is returned as is. The free plan includes one website.
| Argument | Type | Description |
|---|---|---|
| hostname | string | Website hostname, e.g. example.com; defaults to the website given to create_account |
| setup_token* | string | setup_token returned by create_account |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"setup_token"
],
"properties": {
"hostname": {
"type": "string",
"maxLength": 253,
"description": "Website hostname, e.g. example.com; defaults to the website given to create_account"
},
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
}
},
"additionalProperties": false
}Fetches the public homepage of a website (no JavaScript, public addresses only) and returns its brand colours, fonts, platform (WordPress, WooCommerce, PrestaShop, Shoper, Shopify…), Google Tag Manager containers, consent tools already installed and detected trackers, plus suggested banner colours (WCAG-checked) and the recommended install method.
| Argument | Type | Description |
|---|---|---|
| url* | string | Website address, e.g. https://example.com or example.com |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 3,
"description": "Website address, e.g. https://example.com or example.com"
}
},
"additionalProperties": false
}Returns pending_email (the user has not finished the confirmation page yet), ready (the account exists; the onboarding tools work with this setup_token for 24 hours) or expired.
| Argument | Type | Description |
|---|---|---|
| setup_token* | string | setup_token returned by create_account |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"setup_token"
],
"properties": {
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
}
},
"additionalProperties": false
}Saves and publishes the banner look for a website on the confirmed account: colours (for example the suggested banner colours from a site analysis), position, layout, font and privacy policy URL. Returns a preview link to the CookiePilot panel.
| Argument | Type | Description |
|---|---|---|
| colors | object | CSS colours (hex or rgb/rgba); missing keys keep their current value |
| layout | string | |
| hostname | string | Website hostname, e.g. example.com; defaults to the website given to create_account |
| position | string | |
| font_family | string | e.g. "Inter, sans-serif" |
| setup_token* | string | setup_token returned by create_account |
| privacy_policy_url | string | Link to the site's privacy policy |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"setup_token"
],
"properties": {
"colors": {
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 80
},
"border": {
"type": "string",
"maxLength": 80
},
"overlay": {
"type": "string",
"maxLength": 80
},
"primary": {
"type": "string",
"maxLength": 80
},
"background": {
"type": "string",
"maxLength": 80
},
"primaryText": {
"type": "string",
"maxLength": 80
}
},
"description": "CSS colours (hex or rgb/rgba); missing keys keep their current value",
"additionalProperties": false
},
"layout": {
"enum": [
"BAR",
"BOX",
"MODAL"
],
"type": "string"
},
"hostname": {
"type": "string",
"maxLength": 253,
"description": "Website hostname, e.g. example.com; defaults to the website given to create_account"
},
"position": {
"enum": [
"TOP",
"BOTTOM",
"CENTER"
],
"type": "string"
},
"font_family": {
"type": "string",
"maxLength": 200,
"description": "e.g. \"Inter, sans-serif\""
},
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
},
"privacy_policy_url": {
"type": "string",
"maxLength": 2000,
"description": "Link to the site's privacy policy"
}
},
"additionalProperties": false
}Starts a free CookiePilot sign-up for the user's own e-mail address and company, at the user's explicit request. CookiePilot e-mails a confirmation link to that address; no account exists until the address owner clicks it, sets a password and accepts the terms on CookiePilot's page. Returns a setup_token for the onboarding tools and a confirmation_code that the confirmation page also shows. The response is the same whether or not the address already has an account; an existing account holder receives a login link instead.
| Argument | Type | Description |
|---|---|---|
| email* | string | The user's own e-mail address |
| locale | string | Language of the CookiePilot panel and currency of prices: "pl" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to "en". |
| website | string | The website the banner is for, e.g. example.com |
| organization_name* | string | The user's company or project name, plain text without web or e-mail addresses |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email",
"organization_name"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"description": "The user's own e-mail address"
},
"locale": {
"type": "string",
"maxLength": 10,
"description": "Language of the CookiePilot panel and currency of prices: \"pl\" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to \"en\"."
},
"website": {
"type": "string",
"maxLength": 253,
"description": "The website the banner is for, e.g. example.com"
},
"organization_name": {
"type": "string",
"maxLength": 100,
"description": "The user's company or project name, plain text without web or e-mail addresses"
}
},
"additionalProperties": false
}Step-by-step install instructions for a platform — HTML code (Consent Mode stub + banner script), the WordPress/WooCommerce plugin, the PrestaShop module, Google Tag Manager or Shoper. With a ready setup_token the code contains the real key of the account's domain; without it, YOUR_API_KEY is a placeholder and a register link is included.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the CookiePilot panel and currency of prices: "pl" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to "en". |
| hostname | string | Website hostname, e.g. example.com; defaults to the website given to create_account |
| platform* | string | Install method, usually recommendedInstallMethod from analyze_site |
| setup_token | string | setup_token returned by create_account |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"platform"
],
"properties": {
"locale": {
"type": "string",
"maxLength": 10,
"description": "Language of the CookiePilot panel and currency of prices: \"pl\" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to \"en\"."
},
"hostname": {
"type": "string",
"maxLength": 253,
"description": "Website hostname, e.g. example.com; defaults to the website given to create_account"
},
"platform": {
"enum": [
"html",
"wordpress",
"woocommerce",
"prestashop",
"gtm",
"shoper"
],
"type": "string",
"description": "Install method, usually recommendedInstallMethod from analyze_site"
},
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
}
},
"additionalProperties": false
}Recommends the cheapest CookiePilot plan for the given monthly pageviews and number of domains, with current prices and limits of all plans, and a register link. monthly_pageviews is the traffic the user states for their site.
| Argument | Type | Description |
|---|---|---|
| locale | string | Language of the CookiePilot panel and currency of prices: "pl" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to "en". |
| domains | integer | Number of websites (domains) |
| monthly_pageviews* | integer | Monthly pageviews across all the user's sites, as stated by the user |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthly_pageviews"
],
"properties": {
"locale": {
"type": "string",
"maxLength": 10,
"description": "Language of the CookiePilot panel and currency of prices: \"pl\" = PLN, any other = EUR. One of: en, pl, de, fr, es, it, nl, pt, sv, cs, ro, el, hu, sk, bg, hr, sl, et, lv, lt. Defaults to \"en\"."
},
"domains": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 1,
"description": "Number of websites (domains)"
},
"monthly_pageviews": {
"type": "integer",
"maximum": 1000000000,
"minimum": 0,
"description": "Monthly pageviews across all the user's sites, as stated by the user"
}
},
"additionalProperties": false
}Returns a Stripe Checkout link for the Pro or Business plan on the confirmed account, for a user who chose a paid plan. Payment happens only on Stripe's page; the tool takes no card details.
| Argument | Type | Description |
|---|---|---|
| plan* | string | |
| period | string | |
| setup_token* | string | setup_token returned by create_account |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"setup_token",
"plan"
],
"properties": {
"plan": {
"enum": [
"pro",
"business"
],
"type": "string"
},
"period": {
"enum": [
"monthly",
"yearly"
],
"type": "string",
"default": "monthly"
},
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
}
},
"additionalProperties": false
}Reports whether CookiePilot has seen its banner running on the website (verified) and, if not yet, whether the code is in the homepage HTML, with a hint for the user.
| Argument | Type | Description |
|---|---|---|
| hostname | string | Website hostname, e.g. example.com; defaults to the website given to create_account |
| setup_token* | string | setup_token returned by create_account |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"setup_token"
],
"properties": {
"hostname": {
"type": "string",
"maxLength": 253,
"description": "Website hostname, e.g. example.com; defaults to the website given to create_account"
},
"setup_token": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "setup_token returned by create_account"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 31, 2026.