Skip to main content
Glama

Verify the CookiePal banner is installed

verify_installation

Records a check of one domain’s live page, loaded on the user’s own computer, and sets that domain’s banner verification status to verified or failed. Load the page locally first and send what it found: CookiePal never requests the page. The server compares the banner script the page loads with the one this domain’s tag must load, so a tag from another site, or a hand-built one, ends as failed with the reason. Nothing is crawled on CookiePal’s side. 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
domainIdNoWhich domain was checked, such as example.com. Omit it for the account’s default domain.
evidenceYesWhat the page load on the user’s computer found. Send it exactly as the local verify step returned it; never assemble or edit it.

Output Schema

NameRequiredDescriptionDefault
urlYesThe page that was read, as origin and path only: the query string and fragment are never stored or returned.
reasonYesWhy the reading was not a verified install. Null when it was.
statusYesWhat the reading settled. `verified` and `failed` are the domain’s banner verification status, as this reading has just set it. `inconclusive` means the page could not be loaded, so nothing is known about the banner either way and the domain’s status was left exactly as it was — report it as a check that could not be run, never as a missing banner.
domainIdYes
evidenceYesThe reading was taken on the user’s computer, not by CookiePal. It is recorded as indicative.
nextStepYes
verifiedAtYes
expectedScriptUrlYesThe banner script this domain’s tag must load.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

The annotations declare this is a non-read-only, non-idempotent, non-destructive, closed-world write, and the description adds real behavior beyond that: the server compares the page's banner script against the domain's expected tag, mismatches end as failed with a reason, and the result is not a compliance verdict. It does not cover repeat-call or status-overwrite consequences, which is why it is not 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?

Front-loaded with what gets recorded and what changes, then the local-run precondition, then scope limits. Slightly redundant, since 'CookiePal never requests the page' and 'Nothing is crawled on CookiePal's side' say the same thing twice.

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

Completeness5/5

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

Given an output schema exists, the description need not describe return shape; it still explains the outcome semantics (verified/failed with reason, not a compliance verdict) and the unusual local-execution constraint. Nothing an agent needs to call this correctly is missing.

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?

Schema coverage is already 100%, so the baseline is 3; the description earns more by insisting the evidence object be sent exactly as the local verify step returned it and never assembled or edited, and by clarifying the server, not the caller, judges the scriptSrc. domainId handling (omit for the default domain) is left to the schema.

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?

States a specific verb and resource: records a check of one domain's live page and sets that domain's banner verification status to verified or failed. It is clearly distinguishable from scanning/crawling siblings because it explicitly says nothing is crawled server-side and the page load must come from the user's machine.

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?

Explicitly names the required precondition (load the page locally first and send what it found) and rules out the alternatives: claude.ai, Claude Code on the web, and crawlers or browsers elsewhere cannot stand in. That is an unusually complete when-to-use and when-not-to-use statement.

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