Kindnod cookie consent
Server Details
GDPR cookie banner any coding agent can install with no account: provision, snippet, scan, verify.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The tools are mostly distinct, but check_install and scan_site both fetch the site and inspect consent/tag presence, so an agent could plausibly choose either. get_snippet and provision_site also both return install script information, though the descriptions clarify when to use each.
All tool names use consistent snake_case verb_noun or verb_object phrasing: check_install, compare_cookiebot_cost, get_snippet, provision_site, scan_site. The longer compare_cookiebot_cost name is specific but still follows the same convention.
Five tools is well-scoped for a cookie-consent onboarding/migration workflow. Each tool has a clear role: scan, compare cost, provision, get snippet, and verify install.
The surface covers the main workflow from site scanning and cost comparison to provisioning and install verification. Minor gaps exist around post-provision management or site listing/deletion, but the core onboarding path is complete.
Available Tools
5 toolscheck_installCheck whether Shortbread is live on a domainBInspect
Fetches the live homepage and reports whether the Shortbread tag is present, whether a Cookiebot tag is still there, and whether the site is claimed.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that the tool performs a live homepage fetch and reports three specific conditions, which implies read-only behavior. However, it does not describe failure modes, rate limits, permission requirements, or what happens when the domain is unreachable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It efficiently communicates the fetch behavior and the three reported checks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description adequately explains the returned signals in natural language. The main gap is the undocumented domain format, but overall it is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, domain, with 0% schema description coverage. The description does not clarify whether the domain should be a bare hostname, a full URL, or include a protocol, leaving a notable ambiguity for the only input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (fetches the live homepage) and enumerates the exact signals reported: Shortbread tag presence, leftover Cookiebot tag, and claim status. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools like scan_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the checks performed—it is the tool for verifying live installation status—but there is no explicit when-to-use guidance, no mention of alternatives, and no stated prerequisites such as domain format or whether the domain must already be provisioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_cookiebot_costCompare a site's consent tool price with ShortbreadAInspect
Scans the site, detects its consent tool (Cookiebot, iubenda, CookieYes, Termly, Cookie Script, Complianz, or others), maps the page count to that vendor's list tier, and returns the annual cost next to Shortbread's flat price. Sites with no consent tool get Cookiebot as the reference. The incumbent.basis field states the assumption behind the number.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| domains | No | How many domains the account runs; agencies get a different Cookiebot tier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the detection logic, the tier-mapping assumption, the Cookiebot default for sites lacking a tool, and the `incumbent.basis` field that explains the assumption behind the number. It still omits permission/auth needs, failure behavior for unreachable or unrecognized sites, and an explicit statement that it is a read-only scan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the verb and the scan→detect→map→compare pipeline, with no filler. The backtick reference to `incumbent.basis` is a small but earned detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values; it only sketches them (annual cost next to Shortbread's price, plus `incumbent.basis`). It does not describe the full response shape, currency handling, per-vendor tier breakdown, or error cases for unscannable sites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 50% schema coverage the description should compensate, but it never explains the required `url` parameter (domain vs full URL, protocol expectations). It also introduces a 'page count' concept that drives tier selection without clarifying that the count is derived from the scan rather than supplied, leaving an agent to wonder whether a parameter is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action chain (scan site → detect consent tool → map to vendor tier → compare against Shortbread's flat price) and names the vendors it recognizes plus the no-tool fallback. This is clearly distinct from siblings like scan_site, check_install, or get_snippet, which do not produce pricing comparisons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the description — an agent can infer it is for cost-comparison questions, and the fallback behavior for sites without a consent tool is given. But there is no explicit statement of when to prefer this over scan_site or what preconditions exist (e.g. site must be publicly reachable).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_snippetGet the Shortbread install snippetAInspect
Returns the keyless install snippet (works for any public domain with no setup) and the npm usage for React/Next.js. Use provision_site instead when you want a site key and a claim link now.
| Name | Required | Description | Default |
|---|---|---|---|
| via | No | ||
| owner | No | Site owner's email to put on the tag so they get the claim link |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose the key behavioral trait: the snippet is keyless and needs no setup for any public domain. It does not say whether the tool is rate limited, how the snippet is delivered (payload vs URL), or that passing 'owner' changes the output into a claim-link-bearing tag, which mildly undercuts its own advice to use provision_site for claim links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the return content front-loaded and the sibling routing held for the second sentence. Nothing is repeated from the schema or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter read tool with no output schema and no annotations, the description covers purpose and routing but leaves the return shape generic ('install snippet', 'npm usage') and does not mention that 'via'/'owner' alter what comes back. Adequate but with a real gap around optional-parameter behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% and the description explains neither parameter. 'via' appears in the schema with no description anywhere, and 'owner' is left entirely to the schema's one-liner even though it materially changes the returned snippet — the description's steer toward provision_site for claim links conflicts with the fact that get_snippet can put the owner on the tag itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb (retrieves) plus a precisely described resource (keyless install snippet and React/Next.js npm usage), with the scope constraint 'works for any public domain with no setup' stated up front. An agent can distinguish it from provision_site purely from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to an alternative with the selecting condition: 'Use provision_site instead when you want a site key and a claim link now.' That is an explicit when-not with a named sibling, which is the strongest form of usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provision_siteCreate a Shortbread site and get the install snippetAInspect
Creates (or finds) a free Shortbread consent-banner site for a domain and returns the script tag to add before , plus a claim URL the site owner uses to take over the dashboard. No account needed. Idempotent per domain. Pass the owner's email so the claim link is emailed to them.
| Name | Required | Description | Default |
|---|---|---|---|
| via | No | Which tool is installing, e.g. claude-code, cursor, codex. Defaults to mcp | |
| owner | No | Site owner's email; Shortbread emails the claim link | |
| domain | Yes | Public hostname, e.g. example.com (no localhost) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden well: it discloses that no account is required, that the operation is idempotent per domain, that a claim link is emailed to the owner, and what is returned. It stops short of covering error cases (e.g., localhost rejection from the schema) or any rate limits, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and its returns, then constraints (no account, idempotent) and the owner-email hint. The final sentence largely restates the schema's owner description, a minor redundancy that keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the returned artifacts (script tag, claim URL). It covers auth (none) and idempotency, but omits failure behavior for invalid domains and how an existing site's config is treated, leaving a small gap for a provisioning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters, establishing the baseline of 3. The description reinforces the owner-email behavior but adds no format or syntax detail beyond what the schema states, and 'via' is never mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates (or finds) a free Shortbread consent-banner site for a domain') and enumerates the concrete returns: script tag for </head> and a claim URL. This is clearly distinct from siblings like get_snippet, check_install, and scan_site, which an agent can rule out without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'No account needed' and 'Idempotent per domain' imply usage context, and 'Pass the owner's email' gives a conditional action. However, it never explicitly routes between this tool and get_snippet or check_install (e.g., 'use get_snippet if the site already exists'), leaving the when-to-use-vs-alternative decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_siteScan a site for cookies and its current consent toolBInspect
Fetches the homepage and a few internal pages, detects the platform, the current consent banner (Cookiebot, CookieYes, OneTrust…), tracking tools, and drafts a cookie declaration. Also counts pages from the sitemap.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Site URL or domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose crawl scope ('homepage and a few internal pages') and breadth of detection. However it leaves key behavior unstated: whether 'drafts a cookie declaration' persists/writes anything, how long a multi-page crawl takes, and what happens on unreachable or consent-blocked sites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences, no filler, with the crawl behavior front-loaded and the outputs enumerated after it in a natural scan order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description does the necessary work by listing the categories of results returned. Minor gaps remain around output format and any side effects of drafting the declaration, but nothing essential to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% on the single 'url' parameter ('Site URL or domain'), so the schema already documents syntax. The description adds only indirect meaning by implying the URL determines crawl scope; it does not clarify whether a bare domain vs full URL behaves differently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete action (fetch homepage plus internal pages) and enumerates the specific artifacts it produces: platform, consent banner vendor, tracking tools, drafted declaration, sitemap page count. That makes the tool's role immediately legible, though it never explicitly distinguishes itself from the closest sibling, check_install, which likely also inspects a site's consent state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no mention of the sibling tools (check_install, get_snippet, provision_site). An agent must infer from the verb that this is the broad discovery pass versus a targeted check, and nothing states prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
provision_site1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Site owner's email; Kindnod emails the claim link"New value: +"Site owner's email; Shortbread emails the claim link"
5 tool updates
- First observed
check_install - First observed
compare_cookiebot_cost - First observed
get_snippet - First observed
provision_site - First observed
scan_site
Related MCP Connectors
Cookie consent for GDPR/CCPA: scan sites for trackers, configure consent banners, get install code.
GDPR/CCPA cookie consent: scan sites for cookies, track consent rates, generate privacy policies.
Cookie consent scanner: GDPR, CCPA, GCMv2. PASS/FAIL compliance checklists with fix recommendations.
Set up GDPR and CCPA cookie consent: create a site, publish a banner, scan and categorize trackers.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to install GDPR-compliant cookie consent banners on websites with a single command, handling domain registration, template assignment, and script injection.17 npm-
- AlicenseAqualityAmaintenanceEnables AI coding agents to generate LGPD-compliant cookie banners by detecting trackers in local projects, and to scan published sites for privacy violations, returning actionable results.1820 npmApache 2.0
- AlicenseAqualityBmaintenanceOne-step legal compliance for vibe-coded apps: scans project, generates privacy policies/TOS, installs cookie consent banner, and checks EU AI Act risk.10233 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides GDPR compliance scanning for websites via the MCP protocol, with pay-per-call using x402 micropayments.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.