Skip to main content
Glama

Submit a cookie check

submit_check

Stores the result of a local check started with plan_check and returns it with a summary by category. Send each cookie with its category from @cookiepal-oss/cookie-db (necessary, functional, analytics, performance, advertisement or other) and its attributes, never its value. Include consent when the check pressed accept and reject, so the result says what survived an explicit reject. When no banner was found the result carries noBannerSeenFrom, the country the page was loaded from: a site that shows its banner only in other regions is indistinguishable from one with no banner, so that reading is inconclusive, not evidence that the site has no banner. Each check ID can be submitted once. The local run this needs is made only by the CookiePal plugin in Claude Code on the user’s own computer: the terminal, the desktop app or an IDE extension. claude.ai and Claude Code on the web run in the cloud, so they cannot make it, and a crawler or browser run anywhere else does not stand in for it. The result reports what was found. It does not assess whether a site, page or banner complies with any law, so it is never a verdict of compliant or non-compliant.

Input Schema

NameRequiredDescriptionDefault
checkIdYesThe check ID plan_check returned.
consentNoWhat changed after accept and after reject. Omit it when the plugin did not run the consent action; the check is then an arrival-only reading.
cookiesYes
truncatedNoTrue when the skill dropped cookies or hosts to fit the limits.
resultVersionYes
thirdPartyHostsYes

Output Schema

NameRequiredDescriptionDefault
pageYes
checkIdYes
consentYes
cookiesYes
countryYes
summaryYes
checkedAtYes
truncatedYes
resultVersionYes
thirdPartyHostsYes
noBannerSeenFromNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false), the description discloses meaningful behavior: the call persists data and returns a categorized summary, submission is one-shot per check ID, and it carries a not-a-legal-verdict disclaimer plus a caveat that a no-banner reading is inconclusive rather than evidence. What is left unsaid is the consequence of violating the one-shot rule (rejection vs. silent overwrite) and whether any size limits cause truncation, so it falls short of 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Function is front-loaded in the first sentence, then constraints follow in a deliberate order (payload rules, consent condition, region caveat, one-shot rule, environment restriction, scope disclaimer). It is dense but nearly every sentence carries a constraint; the environment paragraph is long enough that it could be tightened without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested-object tool with an output schema present, the description covers the hard parts an agent would otherwise get wrong: provenance from plan_check, the local-only execution requirement, category assignment provenance, and the interpretation limits of a no-banner result. Remaining gaps are the meaning of thirdPartyHosts and behavior on a duplicate submission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema description coverage, the description does real work: it enumerates the six category values, states that cookies carry attributes but never their value, and explains that consent should be included only when accept and reject were actually pressed. It does not explain thirdPartyHosts, resultVersion, or truncated, so half the top-level surface remains undocumented in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Stores the result of a local check started with plan_check') and adds what it returns ('a summary by category'). It names the sibling tool plan_check that produces the input, so the agent can place it in the workflow without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit preconditions and exclusions: the local run must come from the CookiePal plugin on the user's own machine (terminal, desktop app, IDE), and claude.ai, Claude Code on the web, or any other crawler/browser run does not satisfy it. It also states per-check cardinality ('Each check ID can be submitted once') and the condition for including consent, which are exactly the conditions an agent needs to decide whether it may call this at all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources