@cookiemunch/mcp
Official@cookiemunch/mcp
A Model Context Protocol server that exposes the
Cookie Munch Developer API (the /v1 surface) as MCP tools, built on top of
@cookiemunch/sdk. Point an MCP client (Claude Desktop, Claude Code, …)
at it and an assistant can manage sites, read consent analytics, and drive privacy
operations on your behalf.
How it authenticates
The server reads an API key from the environment and derives your organization from
it server-side — you never pass an orgId.
Env var | Required | Default |
| yes | — |
| no |
|
Generate a key from the dashboard (it looks like fck_…).
Related MCP server: WP Pinch
Tools
Tool | Description |
| Identity tied to the API key (orgId, plan, key prefix). |
| List all sites (cbids) in your org. |
| Create a site (cbid auto-generated if omitted). |
| Get a site's banner/consent config. |
| Upsert (merge) a site's config. |
| Aggregated per-day consent statistics. |
| Recent anonymised consent records. |
| List Data Subject Access Requests. |
| Open a new DSAR. |
| Move a DSAR to a new status. |
| Vendors with computed risk scores. |
| Records of Processing Activities. |
Client configuration
Claude Desktop / Claude Code
Add to your MCP servers config (claude_desktop_config.json, or via
claude mcp add):
{
"mcpServers": {
"cookiemunch": {
"command": "npx",
"args": ["-y", "@cookiemunch/mcp"],
"env": {
"COOKIEMUNCH_API_KEY": "fck_your_key_here",
"COOKIEMUNCH_BASE_URL": "https://cmp.example.com"
}
}
}
}Or, from a local checkout after pnpm --filter @cookiemunch/mcp build:
{
"mcpServers": {
"cookiemunch": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp/dist/bin.js"],
"env": {
"COOKIEMUNCH_API_KEY": "fck_your_key_here",
"COOKIEMUNCH_BASE_URL": "https://cmp.example.com"
}
}
}
}Programmatic use
import { createCookieMunchMcp } from '@cookiemunch/mcp';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = createCookieMunchMcp({ apiKey: process.env.COOKIEMUNCH_API_KEY!, baseUrl: 'https://cmp.example.com' });
await server.connect(new StdioServerTransport());Available Tools
58 toolsadvance_dsarA
Advance a DSAR to a new status (received → verifying → in_progress → completed, or rejected).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The DSAR id. | |
| toStatus | Yes | Target status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It fails to disclose behavioral traits such as transition validation, reversibility, permission requirements, error handling, or side effects. The status flow is given, but critical behavioral context is missing.
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?
The description is a single sentence that immediately conveys the tool's purpose and lists the valid statuses. No extraneous words or redundancy.
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 state-changing tool, the description covers the core function and statuses. However, it omits details about the return value or confirmation of success, and does not mention error conditions. Given the lack of output schema, more context would be beneficial.
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%, but the description adds meaning by presenting the statuses as a progression sequence and including 'rejected' as a branching path. This clarifies the intended order beyond the enum list in the schema.
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 clearly states the action 'Advance' on the resource 'DSAR' and enumerates the valid status flow (received → verifying → in_progress → completed, or rejected), making the tool's purpose unambiguous and distinct.
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?
The description implies use for changing DSAR status but does not explicitly state when to use versus alternatives, nor does it specify constraints such as required prior status. No exclusions or context about when not to use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_bannerC
Set which sites (cbids) use a banner design.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| cbids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden for behavioral disclosure. It indicates a mutation (setting) but does not specify whether it is additive or overwrites existing assignments, nor does it mention side effects, permissions, or reversibility.
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?
Single sentence, concise and straight to the point. However, it could be slightly more informative without bloating.
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?
Given no annotations, no output schema, and two parameters, the description is too minimal. It does not describe the behavior in detail, such as whether the assignment replaces or adds, or what the response looks like. Incomplete for a mutation 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 description coverage is 0%, so the description must add meaning. It explains 'cbids' as list of site identifiers but gives no context for 'id' (presumably banner ID). Only partial compensation for the lack of schema descriptions.
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 clearly states the action (set) and resource (which sites use a banner design), referencing the key parameter 'cbids' as site identifiers. It distinguishes from sibling tools like create_banner or list_banners by specifying the assignment action.
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 explicit guidance on when to use this tool versus alternatives, such as when to assign an existing banner rather than create a new one. Prerequisites or context for use are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_bannerC
Create a reusable banner design.
| Name | Required | Description | Default |
|---|---|---|---|
| json | Yes | A v2 BannerConfig. | |
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits like side effects, idempotency, or required permissions. The agent cannot assess safety or consequences.
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?
The description is very concise (one sentence), but lacks necessary detail. While brevity is appreciated, critical information is missing, making it insufficiently informative.
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?
Given the tool has a nested object parameter and no output schema, the description is incomplete. It does not explain what the tool returns, whether the operation is reversible, or any prerequisites like a site association.
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 description coverage is 50% (only 'json' parameter has a brief description). The tool description does not explain parameter semantics further, leaving the 'name' parameter and the 'BannerConfig' object undocumented for the agent.
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?
Description clearly states the tool creates a reusable banner design, distinguishing it from sibling tools like update_banner, delete_banner, and list_banners.
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 guidance on when to use this tool versus alternatives such as update_banner or list_banners. The description lacks context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_brand_kitB
Create a reusable brand kit (colors, logo, typography) for your organization's consent banners.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the brand kit. | |
| theme | Yes | Theme tokens (colors, fonts, etc.) as a JSON object. | |
| content | No | Optional banner copy overrides. | |
| logoUrl | No | Optional URL for your org logo. | |
| customCss | No | Optional custom CSS string to inject into the banner. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks essential behavioral details such as idempotency, duplicate handling, authentication requirements, or whether creation is reversible.
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?
Single sentence, no verbosity, efficiently communicates the tool's core function.
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 creation tool with 5 parameters (including nested objects) and no output schema, the description omits important context like return format, usage flow, and assigned scope. Incomplete for confident use.
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%, but parameter descriptions are minimal and add no extra meaning beyond basic definitions. The description does not elaborate on structure or constraints.
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 clearly states the action (Create), resource (brand kit), and its purpose (for consent banners with colors, logo, typography). It distinguishes from siblings like list_brand_kits and update_banner.
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 guidance on when to use this tool vs alternatives (e.g., create_banner, update_site_config). No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dsarC
Open a new Data Subject Access Request.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional free-text note. | |
| type | Yes | DSAR right being exercised. | |
| regulation | Yes | Governing regulation. | |
| subjectEmail | Yes | The data subject’s email. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must reveal behavioral traits. It only states the action without disclosing side effects (e.g., persistence, required permissions, impact on data subjects). The agent cannot infer whether this is a mutation or what happens after creation.
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?
The description is a single, compact sentence with no unnecessary words. It is front-loaded with the core action. However, it lacks any structural formatting or supplemental sections.
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?
Given no output schema and no annotations, the description should compensate with more behavioral context (e.g., return value, confirmation behavior). It fails to provide a complete picture of what the tool does beyond the basic action.
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 describes all parameters. The description adds no additional meaning beyond what is in the schema. Baseline 3 is appropriate.
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 'Open a new Data Subject Access Request' uses a verb and specifies the resource (DSAR). It is clear that the tool initiates a new request. However, 'open' is slightly less direct than 'create', but still unambiguous given the context of sibling tools like 'advance_dsar'.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context for invocation, or when to avoid using it. Sibling tools such as 'advance_dsar' exist but no differentiation is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ropaC
Create a Record of Processing Activity (RoPA) entry.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Activity name. | |
| purpose | Yes | Purpose of processing. | |
| legalBasis | Yes | GDPR legal basis. | |
| recipients | Yes | Recipients of the data. | |
| retentionDays | Yes | Retention period in days. | |
| dataCategories | Yes | Categories of personal data. | |
| crossBorderTransfer | Yes | Whether data is transferred across borders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only says 'Create', implying mutation but omitting details like required permissions, side effects, or return behavior.
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?
Extremely concise single sentence. No wasted words, but brevity comes at the cost of missing helpful details.
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?
With 7 required parameters and no output schema, the description fails to mention return value, error handling, or post-creation behavior, leaving gaps for an AI agent.
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 baseline is 3. Description adds no additional meaning beyond parameter names and types already in the schema.
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 clearly states the verb 'Create' and the resource 'Record of Processing Activity (RoPA) entry'. It differentiates from siblings like 'list_ropa' by its action, but doesn't elaborate on scope.
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 guidance on when to use this tool versus alternatives, or any prerequisites. The single sentence lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_siteA
Create a new site. The cbid is auto-generated if you omit it.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | No | Optional explicit cbid. | |
| domain | Yes | The site domain, e.g. example.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses the auto-generation behavior of cbid, but lacks details on side effects, conflicts, or result handling.
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 concise, front-loaded sentences with no filler. Every sentence provides useful information about the tool's purpose and key parameter behavior.
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 creation tool with no output schema, the description is adequate but incomplete: it does not mention what is returned (e.g., site ID or status). Simplicity of parameters and lack of nested objects reduce need for more, but output info 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% with descriptions for both parameters. The description adds value by clarifying that cbid is optional and auto-generated, which is not fully captured in the schema.
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?
Description clearly states the action 'Create a new site' and distinguishes from sibling tools like delete_site and get_site_config. The mention of auto-generated cbid adds specificity.
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 guidance on when to use this tool versus alternatives (e.g., when to create vs. update), nor prerequisites or context. Only the auto-generation hint is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_vendorB
Register a vendor (processor) and compute its risk score.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Vendor name. | |
| region | Yes | Primary processing region, e.g. EU. | |
| category | Yes | Vendor category, e.g. analytics. | |
| dpaSigned | Yes | Whether a Data Processing Agreement is signed. | |
| dataShared | Yes | Categories of data shared with the vendor. | |
| subprocessors | Yes | Number of subprocessors. | |
| certifications | Yes | Compliance certifications, e.g. ISO27001. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source of behavioral disclosure. It mentions registration and risk computation but omits side effects, permanence, or required permissions. The lack of detail on the risk score process and return value leaves the agent uncertain.
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?
The description is a single sentence that efficiently conveys the primary action and a key outcome. No extraneous information is present.
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?
Despite having 7 required parameters and no output schema, the description does not explain what the tool returns (e.g., the created vendor object) or how the risk score is calculated. This leaves significant information gaps for a tool of this complexity.
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 parameters are well-documented in the input schema. The description adds no new meaning beyond what the schema provides, staying at the baseline of 3.
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 clearly states the verb 'register' and resource 'vendor', and adds the action of computing a risk score. It distinguishes this creation tool from siblings like list_vendors.
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 guidance is given on when to use this tool versus alternatives. There are no instructions on prerequisites or exclusions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookA
Create a webhook subscription. The response includes the signing secret (shown once).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS endpoint to deliver events to. | |
| cbid | No | Optional site cbid to scope the subscription to. | |
| events | Yes | Event names to subscribe to, e.g. consent.created. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full behavioral burden. It discloses that the response includes a signing secret shown only once, a key behavioral trait. However, it omits other important behaviors like idempotency, validation, or error handling.
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 concise sentences: the first states the action, the second adds a critical behavioral note. No wasted words.
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 create operation with full schema coverage, the description covers the essential purpose and a key output behavior. However, it lacks details on validation, error conditions, or authentication requirements, leaving some gaps.
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%; all parameters are already described in the schema. The description adds no extra parameter information beyond what the schema provides, so baseline score of 3 is appropriate.
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 clearly states 'Create a webhook subscription,' which is a specific verb-resource pair. It is unambiguous and distinguishes from sibling tools like list_webhooks and delete_webhook.
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?
The description provides no guidance on when to use this tool vs alternatives. It does not explain prerequisites, context, or situations where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_bannerA
Delete a banner design (fails if assigned to sites).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the critical failure condition when banner is assigned to sites. However, with no annotations provided, the description carries full burden; it does not mention that deletion is permanent, requires permissions, or any side effects beyond the failure condition.
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?
Extremely concise; a single sentence that is front-loaded with the action and constraint. No wasted words.
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?
Given the tool's simplicity (1 param, no output schema, straightforward action), the description is nearly complete. It could explicitly mention that deletion is permanent and requires appropriate permissions, but overall it adequately covers the key behavioral constraint.
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 has 0% description coverage and the description does not explain the 'id' parameter at all. It does not clarify what the id represents (e.g., banner ID, design ID) or provide any additional meaning beyond the schema.
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?
Clearly states action (delete) and resource (banner design), and adds the important constraint 'fails if assigned to sites'. Distinguishes from sibling tools like create_banner, update_banner, assign_banner.
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?
Implies usage context (delete a banner design) but does not provide explicit alternatives or when not to use. For example, if the banner is assigned, it suggests the user should unassign first, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_brand_kitA
Delete a brand kit by id. The kit must belong to your organization (cross-org deletes are rejected).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The brand kit id to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It discloses cross-org deletion rejection, but missing key traits: whether deletion is permanent/irreversible, authorization requirements, or side effects. This is minimal for a mutation tool.
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 concise sentences with no filler. The most critical information (action and constraint) is front-loaded in the first sentence.
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 deletion tool with no output schema, the description is minimally adequate. It covers purpose and a key constraint, but lacks details on return value, error handling, or permission needs.
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% for the single parameter 'id', so baseline is 3. The description repeats 'by id' but adds no extra syntax or formatting details beyond the schema description.
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 clearly states the action ('Delete'), the resource ('brand kit'), and the identifier method ('by id'). It distinguishes from sibling tools like create_brand_kit and list_brand_kits, which perform different operations.
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?
The description implies usage for deletion but lacks explicit when-to-use guidance or alternatives. It mentions an organization constraint but does not tell the agent when not to use it, such as preferring a deactivation tool if available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_siteB
Delete a site (cbid) and its configuration from your org.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It states the tool deletes a site and its configuration, but does not mention if the deletion is irreversible, whether it requires specific permissions, or what happens to dependent resources like banners or webhooks. This is a significant gap for a destructive action.
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?
The description is a single, well-structured sentence that conveys the core functionality without any unnecessary words. It is front-loaded with the verb and noun, making it easy to scan.
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?
Given that the tool is destructive and has no output schema, the description should explain what the agent can expect after deletion (e.g., success/failure indication, whether it's reversible). It does not mention return values, side effects, or error conditions. This leaves the agent without critical behavioral context.
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?
The input schema has 100% description coverage for its single parameter. The description adds the constraint 'Must belong to your org' beyond the schema's 'Site identifier (cbid)', providing meaningful context that helps the agent select the correct value.
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 clearly states the action ('Delete') and the resource ('a site (cbid) and its configuration from your org'). The verb and object are specific, and the sibling tools include other delete operations like delete_banner and delete_webhook, which this description distinguishes by specifying '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?
The description does not provide guidance on when to use this tool versus alternatives such as update_site_config or list_sites. It mentions 'from your org' but lacks explicit conditions, prerequisites, or when-not-to-use scenarios. The agent receives no decision-support beyond the basic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookA
Delete a webhook subscription by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The webhook subscription id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only uses 'delete' which implies irreversibility but lacks details on side effects or permissions needed.
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?
Single sentence, no extraneous text, front-loaded with verb and resource.
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 delete operation, the description adequately covers the purpose and parameter; lacks output or error info but no output schema exists.
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% and the parameter 'id' is described in the schema; the description adds no extra semantic meaning beyond confirming the parameter's role.
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 clearly states the action (delete) and resource (webhook subscription by id), distinguishing it from siblings like create_webhook and list_webhooks.
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?
The description implies usage context for deleting a webhook, but does not provide explicit when-to-use or when-not-to-use guidance against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_flowA
Apply a batch of structured edit operations to a site's v2 banner flow. All ops are validated server-side and the final config must be lint-clean before it is saved.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| operations | Yes | Ordered list of ops. Each must have an "op" field: addView | removeView | addElement | setButtonTransition | addCustomCategory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It discloses server-side validation and lint-clean requirement, but omits permissions, side effects, or idempotency.
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 concise sentences: the first states the purpose, the second adds validation context. No wasted words, front-loaded.
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?
Given no output schema, the description does not explain return values or error handling. It covers validation but lacks completeness for a mutation tool with no annotations.
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% for both parameters. The description adds context about structured ops and validation but does not enrich parameter meaning beyond the schema (e.g., value formats or constraints).
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 clearly states the verb 'Apply' and the resource 'site's v2 banner flow', with 'batch of structured edit operations' distinguishing it from set_flow which likely replaces the entire flow.
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?
The description implies use for batch edits validated server-side, but does not explicitly compare to sibling tools like set_flow or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
erase_subject_dataA
IRREVERSIBLY crypto-erase a data subject's consent records by their consent-receipt stamp (GDPR/CCPA deletion). Destroys the encryption key; the tamper-evident chain stays intact.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | ||
| stamp | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses irreversibility, key destruction, and audit chain integrity. No annotation coverage, so description carries burden well.
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, no waste. Front-loaded with action and critical warning.
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?
Covers purpose, effect, and safety. Could mention permissions or return status, but adequate for a destructive tool without output schema.
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?
Describes 'stamp' as consent-receipt stamp, but 'cbid' is unexplained. With 0% schema coverage, more param detail needed.
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?
Clearly states it irreversibly crypto-erases consent records by stamp, explicitly for GDPR/CCPA deletion. Differentiates from siblings like export_subject_data.
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?
Implied usage for GDPR/CCPA deletion, but no explicit guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_consentB
Export a site’s consent log as raw CSV text.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Epoch-ms upper bound. | |
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| from | No | Epoch-ms lower bound. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It fails to disclose behavioral traits like handling of large logs, rate limits, permission requirements, or whether the export is a destructive operation.
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, efficient sentence that is front-loaded and contains no waste. Every word contributes to the purpose.
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?
Without an output schema or annotations, the description should provide more context about the CSV format, columns, and behavior. It is insufficient for a data export tool of this complexity.
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 baseline is 3. The description adds no additional meaning beyond what the schema already provides for the parameters.
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 clearly states the action (Export) and the resource (site's consent log) with the format (raw CSV text). It is specific and distinguishes from sibling tools like get_consent_log or export_subject_data.
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 guidance is provided on when to use this tool over alternatives, such as get_consent_log or export_subject_data. The description lacks explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_subject_dataC
Export a data subject's consent records (GDPR access/portability).
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | ||
| stamp | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'export' with no details on side effects, authentication, error cases, or output format. Minimal behavioral disclosure.
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?
The description is a single sentence with no fluff. However, it lacks front-loading of critical information and could be structured to highlight key details.
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?
Given the absence of an output schema and annotations, the description is too brief. It does not cover return values, error handling, or scope of data export.
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 0% and the description does not explain the parameters 'cbid' and 'stamp'. No value added beyond the raw schema.
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 clearly states the tool exports a data subject's consent records with GDPR context, but does not explicitly differentiate from sibling 'export_consent'.
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 guidance on when to use this tool vs. alternatives like 'erase_subject_data' or 'export_consent'. The GDPR context implies a specific use case but no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ab_resultsB
Get A/B banner experiment results (per variant) for a site.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states the function and notes the cbid must belong to the org, but omits details like rate limits, data freshness, or whether results are cached. This is insufficient for a caller to understand side effects or constraints.
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?
The description is a single, front-loaded sentence with zero wasted words. It directly conveys the tool's purpose.
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 retrieval tool with one parameter and no output schema, the description is marginally adequate. However, it lacks details about the output format (e.g., metrics per variant), which would help the agent understand what results to expect.
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?
The schema describes the single parameter 'cbid' with 100% coverage, including the requirement that it belongs to the org. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
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 clearly states the tool retrieves A/B banner experiment results per variant for a site. It uses a specific verb ('Get') and resource ('A/B banner experiment results'), and is distinct from siblings like 'set_ab_experiment' which creates experiments.
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?
The description does not specify when to use this tool versus alternatives like 'get_banner' or 'set_ab_experiment'. It also lacks prerequisites or context about the site identifier requirement beyond the parameter description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bannerB
Get a banner design by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It implies a read operation but does not mention permissions, side effects, rate limits, or error handling. Minimal disclosure beyond the action.
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 sentence with seven words, no redundancy. For a simple get-by-ID tool, this is appropriately sized and front-loaded.
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?
Given no output schema and many related banner tools, the description is incomplete. It does not specify return values, handling of invalid IDs, or differentiation from list_banners. Minimal coverage for context.
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?
The schema has only one parameter 'id' with 0% description coverage. The description adds basic meaning by stating 'by id', linking the parameter to the banner design identity. However, it lacks format, constraints, or examples.
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 explicitly states the action ('Get'), the resource ('a banner design'), and the identifier ('by id'). It clearly distinguishes from sibling tools like create_banner, update_banner, delete_banner, and list_banners by specifying a singular retrieval operation.
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 guidance on when to use this tool versus alternatives like list_banners or other retrieval tools. No prerequisites or context for invocation are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_consent_logB
Get recent anonymised consent records for a site.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Epoch-ms upper bound. | |
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| from | No | Epoch-ms lower bound. | |
| limit | No | Max records to return (default 200). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'anonymised' and 'recent' but does not explain how recent is defined, whether the operation is read-only, rate limits, or what fields are returned. Minimal behavioral context.
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 concise sentence with no wasted words. It is front-loaded. However, it could be slightly expanded to include usage context without becoming verbose.
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?
Given 4 parameters, no output schema, and no annotations, the description is too minimal. It does not clarify what qualifies as 'recent', the meaning of anonymised, or the response structure. For a log retrieval tool, more detail is needed.
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?
The input schema has 100% description coverage, so the schema already documents all parameters. The description adds no additional meaning beyond the schema, achieving baseline 3.
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 clearly states the tool's action ('Get') and the specific resource ('recent anonymised consent records') and includes the scope ('for a site'). This distinguishes it from siblings like get_consent_stats.
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 guidance on when to use this tool versus alternatives (e.g., get_consent_stats or export_consent). The only context is that `cbid` must belong to your org, but no explicit when-not or comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_consent_statsB
Get aggregated per-day consent statistics for a site.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Epoch-ms upper bound. | |
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| from | No | Epoch-ms lower bound. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions per-day aggregation but does not describe important traits such as authentication requirements, rate limits, data retention policies, or what happens when no data exists in the specified range.
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?
The description is a single sentence that conveys the core purpose efficiently. It has no redundant or irrelevant information, earning its place.
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?
Given the absence of an output schema, the description should at least outline the kind of statistics returned (e.g., counts, metrics). It does not, leaving the agent uncertain about the response structure. Additionally, critical context like date range handling is not addressed.
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?
The input schema covers all parameters with descriptions (100% coverage). The description adds the 'per-day' aggregation context but does not further explain parameter usage beyond what the schema provides. Baseline 3 is appropriate as the description adds minimal additional meaning.
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 clearly states the verb (get), the resource (consent statistics), and the aggregation granularity (per-day). It distinguishes this tool from siblings like get_consent_log, which returns raw logs, and export_consent, which exports data in bulk.
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?
The description provides no guidance on when to use this tool versus alternatives such as get_consent_log or export_consent. It lacks any context about prerequisites, limitations, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flowA
Get the v2 banner flow config for a site, including current views, categories, and any lint issues.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It indicates a read operation via 'Get' and lists some return fields, but does not disclose potential side effects, permission requirements, or failure scenarios. This is adequate but lacks depth.
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?
The description is a single sentence that is concise, front-loaded with the action verb and resource, and contains no extraneous information.
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?
Given the simple tool with one parameter and no output schema, the description reasonably covers the return values (views, categories, lint issues). However, it could be slightly more complete by mentioning the format or structure of the config.
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?
The only parameter 'cbid' is fully described in the schema (100% coverage). The description adds no additional semantics beyond what the schema already provides, so baseline score applies.
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 clearly states the tool retrieves the v2 banner flow config for a site and lists specific included elements (views, categories, lint issues). This distinguishes it from sibling tools like 'set_flow' (write) and 'edit_flow' (modify).
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?
The description implies usage for retrieving flow config but does not explicitly state when to use this tool over alternatives like 'get_banner' or 'get_site_config'. No exclusions or context on prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_install_snippetA
Get the exact tag to install Cookie Munch on a site. Copy and paste this into the of every page on the site.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| culture | No | Language culture override, e.g. "en", "fr", "de". | |
| blockingMode | No | Banner blocking mode. "auto" (default) blocks third-party scripts until consent is given; "manual" never blocks; "checklist" blocks per category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It states the output is a script tag but does not reveal important traits such as authentication requirements, read-only nature, or potential side effects. The input schema's note about cbid belonging to the org is not reinforced in the description.
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?
The description is extremely concise with two short sentences. It front-loads the primary purpose and provides immediate action guidance ('Copy and paste...'). Every word is functional with no fluff.
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?
Given the lack of an output schema, the description minimally explains the return value as 'exact <script> tag'. It does not cover error handling, permissions, or what happens with invalid inputs. For a tool with three parameters, the description is adequate but not thorough.
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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides. It does not elaborate on how culture or blockingMode affect the snippet.
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 clearly states the tool's purpose: 'Get the exact <script> tag to install Cookie Munch on a site.' It specifies the verb (Get) and the resource (install script tag), and it distinguishes itself from sibling tools like get_site_config or get_banner, which retrieve different data.
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?
The description implies usage by instructing to copy and paste into the page's <head>, but it does not explicitly state when to use this tool versus alternatives. No exclusion criteria or alternative recommendations are provided, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptA
Fetch the signed consent receipt for a single consent record (by stamp).
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| stamp | Yes | The consent record stamp/id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing the full burden on the description. The description does not disclose behavioral traits such as authentication requirements, error behavior (e.g., if stamp is invalid), rate limits, or side effects. It only states what the tool does, not how it behaves.
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?
The description is a single concise sentence that front-loads the action and key details. Every word serves a purpose, with no redundancy.
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 retrieval tool with two parameters, the description provides the essential 'what' but lacks details about return format or output. Without an output schema or annotations, more context would be beneficial for safe and correct invocation.
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% with both parameters described adequately in the schema. The description does not add any semantic value beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 clearly states the action ('Fetch'), the resource ('signed consent receipt'), and the scope ('for a single consent record (by stamp)'). It is specific and effectively distinguishes from sibling tools like get_consent_log, which serves a different purpose.
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?
The description implies the tool is for retrieving a receipt when you have a stamp, but it offers no explicit guidance on when to use or when not to use it, nor does it mention alternatives. The purpose is clear enough for basic inference, but lacks direct usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_statusB
Get the status/result of a site’s most recent cookie scan.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description only states basic action without disclosing read-only nature, permissions, or response format.
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?
Single sentence, front-loaded, no wasted words.
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?
Minimal for a tool with no output schema and no behavioral context; lacks error conditions, return value hints, or usage examples.
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 already covers the single parameter with description; tool description adds no additional meaning.
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?
Clearly states verb 'Get' and resource 'status/result of a site’s most recent cookie scan', distinguishing it 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?
No guidance on when to use (e.g., after scan_site) or when not to use; lacks context about prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_configB
Get the banner/consent configuration for a site.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal behavioral info beyond the verb 'Get'. No annotations exist, so description should disclose side effects, permissions, or return characteristics. It does not state that this is a read operation or that it requires the cbid to belong to the user's org.
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?
Single sentence with no unnecessary words. Front-loaded with the action and resource.
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?
Adequate for a simple tool with one parameter, but lacks details about return value (no output schema). Could mention what configuration fields are returned or potential errors.
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% with a clear description for 'cbid'. Description adds no extra meaning beyond the schema, meeting the baseline but providing no additional context.
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?
Clear verb 'Get' and specific resource 'banner/consent configuration for a site'. However, it does not distinguish from sibling tool 'get_banner', which may have overlapping functionality.
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 guidance on when to use this tool versus alternatives. Does not mention when not to use or provide context for choosing among many get_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_cookiesA
List the cookies discovered on a site, with their consent categories.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden. It implies a read operation but does not explicitly state read-only nature, authorization details beyond the param, or any rate limits. For a simple list, it is adequate but lacks disclosure of potential prerequisites like scan completion.
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 sentence that is front-loaded with the verb, concise, and self-contained. Every word adds value.
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 list tool with one parameter and no output schema, the description covers the main purpose. However, it does not specify return format or whether results depend on scan status, which could be useful context. Still, it is reasonably complete.
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% and the param 'cbid' is described as site identifier with org constraint. The description adds no new insights about the parameter beyond what the schema provides, so baseline 3.
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 clearly states the tool lists cookies discovered on a site, with consent categories. It uses a specific verb ('list') and resource ('cookies discovered on a site'), distinguishing it from sibling tools like get_site_config or get_consent_stats.
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 guidance on when to use this tool vs. alternatives. Does not mention prerequisites (e.g., site must be scanned) or exclude cases like needing consent logs vs. cookies. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageA
Get the current usage/quota summary for your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It indicates a read operation with no side effects, but lacks details on authentication, rate limits, or response behavior. It's adequate but not highly informative.
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?
The description is a single sentence that gets straight to the point, front-loading the action and resource. No redundant words.
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 tool with no parameters and no output schema, the description provides the essential information: what it returns (usage/quota summary) and scope (your organization). It could mention the format but is sufficient.
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 are no parameters, so the description adds no parameter-specific information. With zero parameters, the baseline is 4 as per guidelines.
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 uses a specific verb 'Get' and clearly identifies the resource as 'usage/quota summary for your organization'. It distinguishes from sibling tools like get_banner or get_flow which target other resources.
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 guidance is provided on when to use this tool versus alternatives (e.g., other get_ or list_ tools). The usage context is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invite_memberA
Invite a person to your organization by email. role must be admin, member, or viewer. The org is derived from the API key — you cannot invite into a different org.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | Role to assign: admin, member, or viewer. owner is not assignable via API key. | |
| Yes | Email address of the person to invite. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behavioral traits: the org is derived from the API key (important for security), roles are restricted, and owner role is not assignable. This adds context beyond the schema. However, it does not mention potential failure modes (e.g., if email already exists).
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, front-loaded with purpose. Every sentence adds value: first states the action, second clarifies constraints. No unnecessary words.
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 tool with 2 params and no output schema, the description covers the core operation and constraints. Minor omission: no mention of what the invitation returns (e.g., success message or ID), but this is acceptable given the tool's simplicity.
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 baseline is 3. Description adds value by explaining the absence of an org parameter (derived from API key) and reiterating the role enum constraint. This addresses why certain expected parameters are missing, enhancing comprehension.
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?
Description clearly states the action (invite a person) and target (organization) with a specific verb. However, it does not explicitly differentiate from sibling tools like set_member_role or remove_member, which slightly reduces clarity for distinguishing usage.
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?
Description provides no explicit guidance on when to use vs. alternatives. It mentions that the org is derived from the API key, which is a constraint, but does not advise on when not to use. Usage is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
issue_api_keyA
Issue a new API key for your organization. The secret is returned once — store it securely. Subsequent requests cannot retrieve the secret again.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full burden of behavioral disclosure. It usefully warns that the secret is returned only once and cannot be retrieved later, which is critical for the agent to handle the response correctly. However, it doesn't mention idempotency, rate limits, or whether the key is immediately active.
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?
The description is extremely concise: two sentences covering purpose, the one-time nature of the secret, and a security note. Every sentence adds unique value with zero wasted words. The structure is front-loaded with the main action.
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?
Given no output schema, the description should compensate by describing the return value. It mentions the secret is returned once, but does not specify the full response structure (e.g., key ID, creation date). For a simple creation tool, this might be sufficient, but an agent might benefit from knowing if there are other fields.
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 are zero parameters, so the schema provides no guidance. The description adds no parameter-specific meaning, but the baseline for 0 parameters is 4. The description could optionally hint at what the key will be associated with (e.g., scope or permissions), but it's not strictly necessary.
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 clearly states the action ('Issue a new API key') and the target ('for your organization'). The verb 'issue' combined with 'API key' is specific and differentiates from sibling tools like 'list_api_keys' or 'revoke_api_key' (not listed but implied). There is no ambiguity.
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?
The description implies when to use the tool (when a new API key is needed) but does not explicitly state when not to use it or mention alternatives. For example, it could note that existing keys can be listed with 'list_api_keys' or that keys might have usage limits. The guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_api_keysA
List the API keys for your organization (secrets are not returned).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full disclosure burden. It reveals that secrets are not returned, which is useful behavioral context, but omits other traits like authentication requirements, pagination, or rate limits. Adequate but not thorough.
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?
Single sentence of 12 words, perfectly concise and front-loaded. No wasted text.
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 parameterless list tool with no output schema, the description provides all necessary information: what it lists and a critical behavioral note about secrets. Complements the structured information adequately.
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?
No parameters exist in the schema, and schema coverage is 100%. The description does not need to add parameter semantics. Baseline for 0 parameters is 4.
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?
Clearly states the verb 'list', resource 'API keys', scope 'for your organization', and a key behavioral detail that secrets are not returned. This distinguishes it from sibling tools like 'issue_api_key' or 'list_sites'.
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?
Implicitly conveys usage for retrieving API keys without secrets, but lacks explicit when-to-use, when-not-to-use, or alternative tool references. Given the simplicity of a parameterless list, this is acceptable but not maximally helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bannersA
List reusable banner designs in your org.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description states it lists banners, implying a read operation, but does not disclose any rate limits, pagination behavior, or return format. It is minimally transparent but not contradictory.
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 sentence of 5 words, no wasted words. Perfectly concise and front-loaded.
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 list tool with no input schema, the description adequately states what it does and the scope. However, it lacks detail on return value format, which is partially mitigated by the fact that it's a list operation.
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 are zero parameters, so schema coverage is 100%. The description does not need to add parameter details. Baseline for 0 params is 4.
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 clearly states the action 'List', the resource 'reusable banner designs', and the scope 'in your org'. It distinguishes from sibling tools like get_banner (single), create_banner, delete_banner, etc.
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?
The description provides no guidance on when to use this tool vs. alternatives like get_banner or list_brand_kits. No mention of prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_brand_kitsA
List reusable brand kits (colors/logo/typography) for your org.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool lists brand kits (a read operation) and hints at their content, but lacks details on pagination, sorting, authentication needs, or rate limits. The description is adequate but minimal.
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?
The description is a single sentence of 10 words, front-loaded with the key action and object. Every word is meaningful, with no filler or redundancy.
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?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description sufficiently conveys what the tool does and its scope. It does not need to explain return values or additional details for an agent to use it 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?
The input schema has zero parameters, and schema description coverage is 100% (by count). There are no parameters to explain, so the description does not need to add parameter semantics. The baseline score for 0 parameters is 4, and no additional info is required.
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 clearly states the action (list) and what is listed (brand kits), specifying their components (colors/logo/typography) and scope (for your org). It distinguishes this tool from siblings like create_brand_kit or delete_brand_kit.
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?
The description implies usage for retrieving brand kits but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context of sibling tools suggests a retrieval purpose, but this is not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dsarA
List all Data Subject Access Requests for your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the basic action. Does not disclose pagination, output format, or any side effects. For a tool with no annotations, this is minimal disclosure.
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?
Single sentence conveying action and scope with no wasted words.
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?
Description is adequate for a simple list tool with no parameters, but lacks output structure details (e.g., fields returned, pagination) which could help an agent without an output schema.
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?
Input schema has no parameters, so schema coverage is 100%. Description adds no parameter-level detail, but since there are none, baseline is 4.
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?
Description clearly states verb 'List', resource 'Data Subject Access Requests', and scope 'for your organization'. It distinguishes from sibling tools like 'create_dsar' and 'advance_dsar'.
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 guidance on when to use this tool vs alternatives. Does not mention that it lists all requests without filtering, or when one might use it before calling 'advance_dsar'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_membersB
List the members of your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks details about behavior such as authentication requirements, pagination, ordering, or response format. For a simple list tool, this is minimal.
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?
The description is a single, concise sentence. It is front-loaded but could be slightly more informative without adding bulk.
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?
Given zero parameters, no output schema, and no annotations, the description is adequate but lacks details like response format or permissions. For a list tool, it is minimally complete.
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?
The input schema has zero parameters, and schema coverage is 100%. The description adds no parameter info, but with no parameters, a baseline of 4 is appropriate.
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 clearly states the action (list) and resource (members) with scope (your organization). It distinguishes from sibling tools like invite_member or remove_member by focusing on listing.
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 guidance on when to use this tool versus alternatives. Sibling tools include other member-related actions (invite, remove, set role), but no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_preferencesA
List configurable consent preferences/purposes for your org.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'List', which suggests a read-only operation, but it does not confirm no side effects, authorization requirements, or any other behavioral traits. This is insufficient for transparency.
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?
The description is a single, concise sentence that immediately conveys the tool's purpose without any unnecessary words. It is front-loaded and efficient.
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?
Given no output schema, no annotations, and no parameters, the description is minimally complete. It tells what the tool lists but lacks context about the output format, pagination, or permissions. It is adequate but could be enriched.
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?
The input schema has zero parameters and 100% schema description coverage. Since there are no parameters, the description need not add parameter details. The baseline score for 0 params is 4, and the description meets that.
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 clearly specifies the verb 'List', the resource 'consent preferences/purposes', and the scope 'for your org', which distinguishes it from sibling tools like list_banners or list_api_keys. It is specific and unambiguous.
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?
The description implies when to use the tool (when needing to list preferences), but it does not provide explicit guidance on when to use alternatives or any exclusions. Given the many sibling list tools, more context would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ropaA
List Records of Processing Activities (RoPA) for your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the operation is a list (read). It lacks information on pagination, sorting, filtering, permissions, or any side effects. For a list tool, this is insufficient.
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?
The description is a single sentence that directly states the purpose with no extraneous words. It is front-loaded and efficient.
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?
Given no parameters, output schema, or annotations, the description is minimally adequate. However, it could mention whether it returns all records, any limits, or related operations like 'create_ropa'. It is functional but not rich.
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?
The tool has zero parameters, so the schema coverage is 100% (vacuously). Per guidelines, 0 parameters yields a baseline of 4. The description adds nothing beyond the schema, but the baseline is appropriate.
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 clearly states the verb 'List' and the resource 'Records of Processing Activities (RoPA)', specifying the scope 'for your organization'. This distinguishes it from the sibling tool 'create_ropa' which creates RoPA records.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or when not to use it. The description gives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitesA
List all sites (cbids) in your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It does not disclose any behavioral traits such as read-only nature, pagination, or ordering. The description adds no value beyond the tool name.
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?
Single sentence, no wasted words. Front-loaded with the action and resource.
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 list tool with no params and no output schema, the description is minimal but adequate. However, it lacks any mention of response format, pagination, or authentication requirements, which would be helpful given the tool's context among many sibling list tools.
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 are no parameters, and schema description coverage is 100%. Baseline score is 4 since no parameter info is needed.
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 clearly states the verb 'List', the resource 'sites', and the scope 'all in your organization'. It distinguishes from siblings like create_site (different verb) and list_banners (different resource).
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 guidance on when to use this tool versus alternatives like list_banners or list_vendors. No prerequisites, limitations, or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vendorsA
List vendors (processors) with their computed risk scores.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states listing and risk scores, but does not disclose whether the operation is read-only, if pagination exists, or any side effects. This is insufficient for full transparency.
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?
The description is a single, efficient sentence with no unnecessary words. It front-loads the action and resource clearly.
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?
Given no parameters and no output schema, the description covers the basic purpose but lacks details like whether the list is exhaustive, any filtering or sorting options, or response structure. It is minimally adequate for a simple list 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?
The tool has zero parameters, so the schema coverage is 100%. The description adds value by mentioning 'computed risk scores', providing context about the output that the schema does not convey.
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 clearly states the action 'list' and the resource 'vendors (processors)', and specifies that it returns 'computed risk scores'. It effectively distinguishes from sibling list tools like list_banners or list_sites.
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?
The description implies the tool is for listing vendors, but provides no explicit guidance on when to use it versus alternatives (e.g., search-like tools) or when not to use it. It is adequate for a simple list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksA
List webhook subscriptions for your organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose behavioral traits such as read-only nature, authentication requirements, or whether it returns all subscriptions or paginated results. Minimal disclosure.
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?
Single sentence, efficiently conveys purpose without extra words. Front-loaded with the action and resource.
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?
Given the tool's simplicity (0 params, no output schema), the description is adequate but lacks context about return format or scope beyond 'your organization'. Completeness is acceptable for a simple list operation.
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?
No parameters defined; schema coverage is 100%. With 0 params, baseline is 4, and the description adds no further parameter information but is not required.
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?
Clearly states it lists webhook subscriptions, distinguishing it from create_webhook and delete_webhook. The verb 'list' and resource 'webhook subscriptions' are specific.
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?
Implied usage for viewing subscriptions, but no explicit guidance on when to use vs. alternatives like create_webhook or delete_webhook. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_site_brandA
Extract theme colors and typography from a site's homepage to suggest a matching brand theme for the consent banner.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It accurately describes read-only extraction without destructive side effects. No contradictions, though lacks details on auth requirements or rate limits.
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?
Single sentence, zero waste. Front-loaded with action and purpose.
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?
Describes input and action but omits output format. With no output schema, agents lack detail on what the suggestion looks like, slightly reducing completeness.
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% for the single parameter cbid. The description does not add meaning beyond the schema's existing description, so baseline score applies.
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?
Description clearly states verb (extract/suggest), resource (site homepage), and output (matching brand theme). Distinguishes from sibling tools like create_brand_kit by focusing on extraction rather than creation.
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?
Implied usage: when you want to suggest a brand theme from a site. No explicit when-not or alternatives provided, reducing guidance for an AI agent to decide between this and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_bannerC
Publish a design live to all its assigned sites.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description states 'publish live' implying mutation but fails to disclose effects like overwriting existing live version, reversibility, permission requirements, or side effects. Agents need more behavioral context.
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?
Single sentence with no wasted words. Essential information is front-loaded and concise.
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 publishing action with no output schema and no annotations, the description lacks crucial details such as what 'assigned sites' means, how conflicts are handled, or confirmation of success. The tool's complexity is not fully addressed.
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 0% and description provides no additional meaning for the sole required parameter 'id'. It does not clarify whether this is a banner ID, design ID, or something else, leaving agents to guess.
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?
Description uses specific verb 'Publish' and resource 'a design' with scope 'to all its assigned sites', clearly distinguishing from siblings like assign_banner, create_banner, update_banner, and delete_banner.
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 explicit guidance on when to use this tool vs alternatives. Does not indicate prerequisites, ordering, or when not to use (e.g., if banner is already live). Siblings like set_ab_experiment or set_blocking might overlap but are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_memberA
Remove a member from your organization. The org owner cannot be removed.
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | The userId of the member to remove. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the org owner cannot be removed, which is a critical behavioral constraint. Without annotations, the description adequately communicates the destructive nature of the operation. Does not describe side effects or error handling, but is sufficient for a straightforward removal.
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 wasted words. Front-loaded with the action and resource, followed by a critical constraint. Efficient and to the point.
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 removal tool with one parameter and no output schema, the description covers the essential purpose and a key constraint. Missing return value or error conditions, but complete enough for typical use.
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% and the parameter description in the schema already explains 'The userId of the member to remove.' The tool description adds no additional parameter info, so it meets the baseline for high coverage without adding extra value.
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?
Clearly states the action 'Remove a member' and the resource 'from your organization'. Distinguishes from sibling tools like invite_member and list_members by specifying the removal operation and the constraint that the org owner cannot be removed.
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 indicates when to use the tool (to remove a member) and includes a key constraint (org owner cannot be removed). Lacks explicit 'when not to use' or alternative tool suggestions, but the context is clear for a simple removal tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_preferenceB
Save or update the consent preferences for an end-user (by subjectId) within your organization. purposes is a map of purpose-name → boolean.
| Name | Required | Description | Default |
|---|---|---|---|
| purposes | Yes | Map of purpose names to consent values, e.g. { "newsletter": true, "analytics": false }. | |
| subjectId | Yes | The end-user identifier (e.g. email or internal user id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It confirms a write operation ('save or update') but does not disclose idempotency, merge behavior, authorization needs, or response details. The minimal behavioral context is insufficient.
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 short sentences with no filler. The action and key parameter are front-loaded. Every word adds value.
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 write tool with high schema coverage and no output schema, the description is adequate but missing details like whether the operation is a full replace or merge, and what the response contains (e.g., updated preferences or success status).
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 baseline is 3. The description adds slight value by restating the map format and clarifying usage with 'by subjectId', but does not significantly extend beyond the schema descriptions.
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 clearly states the verb 'save or update' on the resource 'consent preferences' for an end-user, with the specific format 'purposes is a map of purpose-name → boolean'. It distinguishes from siblings like 'list_preferences' and 'export_consent' by indicating a write operation.
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 guidance is provided on when to use this tool versus alternatives (e.g., 'list_preferences' for viewing). The description does not mention when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_siteB
Trigger a cookie scan for a site. Returns the scan job state.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states it triggers a scan and returns a job state, which implies an async action, but it does not detail what the job state means, whether it is idempotent, or if any permissions are required.
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 short sentences with no wasted words. Front-loaded with action and purpose. Excellent conciseness.
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 tool with one parameter and no output schema, the description is adequate but lacks the workflow context of using get_scan_status to poll for completion. It covers the basic what and return, but not the next steps.
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?
The schema already fully describes the cbid parameter (100% coverage). The description adds no additional semantic value beyond restating that it triggers a scan for a site.
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 clearly states the verb 'Trigger a cookie scan' and the resource 'site'. It also indicates the return value 'scan job state', distinguishing it from sibling tools like get_scan_status (polling) and get_site_cookies (results).
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 explicit guidance on when to use this tool versus alternatives such as get_scan_status or get_site_cookies. It does not mention that after triggering, one should poll get_scan_status to track progress.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_ab_experimentA
Configure the A/B banner experiment for a site (enabled, split percentage, variant B overrides). Fetches the current config, patches only experiment, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| splitB | Yes | Percentage of visitors (0–100) who see variant B. | |
| enabled | Yes | Whether the A/B experiment is active. | |
| variantB | No | Partial BannerConfig override for variant B visitors. Deep-merged over the base banner. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: it fetches current config, patches only the experiment portion, and PUTs the result. It clearly indicates mutation without mentioning auth or error handling.
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, no filler. Front-loaded with purpose, then process. Every word adds value.
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 mutation tool with 4 parameters (3 required) and no output schema, the description adequately covers the operation. Missing error conditions but otherwise complete.
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%, providing baseline 3. The description adds meaning by explaining the patching process and how variantB overrides are deep-merged, giving context beyond param names.
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 uses a specific verb ('Configure') and clearly identifies the resource ('A/B banner experiment') and the fields involved (enabled, split percentage, variant B overrides), distinguishing it from sibling tools like get_ab_results or set_banner_basics.
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?
The description implies usage for configuring the experiment, with a step-by-step process (fetch, patch, PUT), but does not explicitly state when to use this tool versus alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_banner_basicsA
Configure v1 banner appearance for a site: type, layout, theme tokens, and copy. Fetches the current config, patches only banner.{type,layout,theme,content}, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| type | No | Banner type. multilevel | inline | accept-decline | accept-only | do-not-sell. | |
| theme | No | Partial ThemeTokens — deep-merged onto the existing banner theme. | |
| layout | No | Banner layout. top | bottom | push-down | popup | overlay. | |
| content | No | Partial BannerContent — banner copy overrides (title, body, button labels, policyUrl, etc.). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the internal mechanism: fetches current config, patches only the specified fields, and PUTs. This discloses the read-modify-write behavior and which fields are affected, which is transparent for a mutation tool.
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?
Single sentence, front-loaded with purpose, no wasted words. It efficiently conveys the core action and scope.
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 relatively simple mutation tool, the description covers the key behavioral aspect (fetch-patch-PUT) and the fields affected. No output schema exists, but the description could mention return value expectations. Overall, it is sufficient.
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 description coverage is 100%, with each parameter already having a clear description. The tool description reinforces that only banner.{type,layout,theme,content} are patched, but adds little semantic value beyond what the schema provides.
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 clearly identifies the tool's purpose: configuring v1 banner appearance for type, layout, theme tokens, and copy. It specifies the operation (fetch, patch, PUT), but does not differentiate from sibling 'update_banner' which likely handles other banner properties.
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 explicit guidance on when to use this tool vs alternatives like 'update_banner'. The description implies it is for v1 banner basics but does not provide context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_blockingA
Configure the script-blocking mode for a site. Fetches the current config, patches only the blocking domain, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| mode | Yes | Blocking mode. auto = block non-consented scripts; manual = never block. | |
| ignoreSelectors | No | CSS selectors for elements that should never be blocked. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description discloses the internal behavior: fetches current config, patches only the blocking domain, and PUTs. This informs the agent about the read-modify-write pattern and that only the blocking domain is affected, adding transparency beyond a simple 'update'.
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 with no redundancy: first sentence states purpose, second explains the internal process. Every word is useful, and the description is well-structured and front-loaded.
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 tool with 3 parameters, no output schema, and no annotations, the description is sufficiently complete. It explains the fetch-modify-put behavior and that only the blocking domain is modified. However, it could hint at the return value or error scenarios to be fully complete.
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 parameters. The description adds no new semantic meaning beyond what the schema provides; it only reiterates the process. Baseline 3 is appropriate.
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 clearly states the tool's purpose: 'Configure the script-blocking mode for a site.' It specifies the verb 'configure' and the resource 'script-blocking mode', and distinguishes it from sibling tools like set_consent_mode or update_site_config by focusing on script-blocking.
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?
The description implies usage context (script-blocking for a site) but does not explicitly state when to use this tool versus alternatives like set_consent_mode or update_site_config. No exclusions or alternative names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_consent_modeA
Configure Google Consent Mode for a site (enabled, basic/advanced, waitForUpdate). Fetches the current config, patches only consentMode, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| mode | Yes | basic = gtag consent commands only; advanced = also passes redacted pings before consent. | |
| enabled | Yes | Whether Google Consent Mode signals are emitted. | |
| waitForUpdate | No | Milliseconds to wait for consent before gtag proceeds. Default 500. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description reveals the tool fetches current config, patches only consentMode, and PUTs, which is beyond the schema. Discloses a read-modify-write pattern, adding behavioral context.
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?
Single sentence efficiently conveys purpose and operation. No wasted words, front-loaded with essential information.
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 configuration tool without output schema, description explains the operation flow (fetch, patch, PUT). Lacks details on error handling or side effects but is adequate.
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 covers 100% of parameters, but description adds context by explaining that the tool patches parameters into existing config. This adds meaning beyond the schema descriptions.
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?
Description explicitly states the tool configures Google Consent Mode for a site, listing key parameters. It distinguishes from the sibling set_consent_policy by specifying it only patches consentMode, making the purpose very clear.
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 guidance on when to use this tool versus alternatives like set_consent_policy. The description does not provide when-not or exclude scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_consent_policyA
Configure consent persistence policy for a site (expiry days, version bump). Fetches the current config, patches only consent, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| version | No | Bump this integer to force a re-prompt (e.g. when your cookie usage changes). | |
| expiryDays | No | Re-prompt visitors after this many days. Omit to disable time-based expiry. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the internal behavior: it fetches current config, patches only consent, and PUTs. This goes beyond what an annotation might provide, especially since no annotations are present. However, it does not detail error handling or side effects.
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?
The description is extremely concise: two sentences that cover purpose and behavior without any fluff. Every word adds value.
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?
The description covers the main action and parameter implications but lacks information about return values, success/error responses, or idempotency. Given no output schema, this gap reduces completeness.
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 description coverage is 100%, so the description adds limited value beyond the schema. The overall action context (fetch-patch-PUT) is helpful but does not deepen the meaning of individual parameters beyond the schema's own descriptions.
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 clearly states the tool configures consent persistence policy for a site, specifying the verbs (configure, fetch, patch, PUT) and resources (expiry days, version bump). This distinguishes it from sibling tools like set_consent_mode or set_geo_rules.
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?
The description implies usage for configuring consent persistence but does not explicitly state when to use this tool versus alternatives or provide exclusions. There is no mention of when not to use it or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_flowA
Wholesale replace a site's v2 banner flow with a complete config (e.g. from a template). Validated server-side before it is saved.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| config | Yes | A full v2 FlowConfig object ({ v:2, flow, categories, ... }). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It states that the config is validated server-side before saving, indicating a non-trivial operation. However, it does not mention potential destructive effects (overwriting the existing flow) or any authorization requirements.
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?
The description is two sentences long, front-loaded with the action, and contains no unnecessary words. Every sentence serves a purpose: stating the action and adding validation 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?
The tool has only two parameters and no output schema, so the description adequately covers the operation. However, it does not mention the return value (e.g., success indicator or updated flow), which would be helpful for an agent to understand the result of the call.
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 description coverage is 100%, with both parameters described concisely. The description adds context for the 'config' parameter as a 'complete config' from a template, but this adds minimal value beyond the schema. No additional parameter semantics are provided.
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 uses the verb 'Wholesale replace' to clearly indicate a full replacement of the site's v2 banner flow, contrasting with the sibling tool 'edit_flow' which implies partial updates. The resource and action are explicitly stated.
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?
The description mentions 'e.g. from a template' to hint at a common use case, but does not explicitly state when to use this tool versus 'edit_flow' or other alternatives. No 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_geo_rulesA
Set geo-targeting rules for a site (which banner mode to show per country/region). Fetches the current config, patches only geoRules + defaultMode, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| geoRules | Yes | Ordered list of geo rules. First match wins. | |
| defaultMode | No | Banner mode when no geo rule matches. Default: opt-in. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool fetches the current config, patches only specific fields, and PUTs, which adds behavioral context, but omits side effects, permissions, or error handling.
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, no redundant words. The first sentence states the purpose, the second describes the implementation method. Every sentence adds value.
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?
Given no output schema, the description does not mention return values, success indicators, or error conditions. However, the tool's complexity is low (3 params, no nested objects), so the description is adequate but not fully complete.
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% and the description adds meaning beyond the schema: 'Ordered list of geo rules. First match wins' and 'Default: opt-in', which clarifies behavior. This compensates slightly for the schema already having descriptions.
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 clearly states the action ('Set geo-targeting rules for a site') and the specific resource ('geo-targeting rules'), distinguishing it from siblings like set_consent_mode or set_blocking.
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?
The description explains what the tool does but does not explicitly state when to use it versus alternatives or provide any exclusions. The context of fetching and patching is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_languagesA
Configure language/i18n settings for a site: default culture, auto-detect, and per-locale banner copy. Fetches the current config, patches only i18n + banner.i18n, and PUTs.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). | |
| autoDetect | No | Auto-detect visitor language from browser locale. Stored in i18n.autoDetect. | |
| translations | No | Per-locale banner copy overrides. Merged onto banner.i18n (locale keys preserved). | |
| defaultCulture | No | Default locale/culture code, e.g. "en", "fr". Stored in i18n.defaultCulture. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently explains the fetch-patch-PUT pattern and that only i18n and banner.i18n fields are modified. This is clear for a configuration tool, though it omits permission requirements or concurrency concerns.
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?
The description is two concise sentences with no filler. It front-loads the core purpose and then provides procedural detail. Every word earns its place.
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?
Given four parameters (one required, nested objects) and no output schema, the description adequately covers the tool's behavior and the key settings. It could mention prerequisites (e.g., site existence) but is otherwise complete for its complexity level.
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 baseline is 3. The description adds context by explaining the patch-only approach and merging behavior for translations, but this largely overlaps with the schema's own descriptions for each parameter. The added value is moderate.
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 clearly states the verb 'Configure', the resource 'language/i18n settings for a site', and lists specific sub-settings (default culture, auto-detect, per-locale banner copy). This makes the tool's purpose highly specific and distinguishes it from sibling tools like update_site_config or set_banner_basics.
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?
The description implies usage by describing the read-modify-write process, but it does not explicitly state when to use this tool versus alternatives like get_site_config or update_site_config. No when-not-to-use guidance or alternative tool names are provided, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_member_roleA
Change the role of a member in your organization. The org owner's role cannot be changed.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | New role: admin, member, or viewer. | |
| userId | Yes | The userId of the member whose role to change. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions the org owner constraint but omits behavioral details like required permissions, side effects, or whether the change is immediate. Could be improved.
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, front-loaded with action and constraint. No unnecessary words. Efficient and clear.
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 2-parameter mutation tool without output schema, the description covers the essential operation. However, it lacks return value or error handling information, which would make it more complete.
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% with good parameter descriptions. The description adds a global constraint (org owner restriction) but no additional parameter-level meaning beyond the schema.
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?
Clearly states 'Change the role of a member' with verb+resource, and adds a useful constraint about the org owner. Distinguishes from sibling tools like invite_member and remove_member.
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?
Implies usage for changing roles but provides no explicit when-to-use or when-not-to-use guidance compared to alternatives. No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_bannerC
Update a banner design (name and/or config).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| json | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It only states 'update' without disclosing side effects, permission requirements, reversibility, or impact on published banners.
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?
The description is a single concise sentence, but it is too sparse to be fully effective. It lacks structure such as separation of concerns or key behavioral notes.
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?
Given no output schema, no annotations, and 0% schema description coverage, the description is severely incomplete for a mutation tool. It does not explain return values, prerequisites, or what 'update' actually entails (e.g., does it require the banner to be unpublished?).
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 description coverage is 0%, but the description mentions 'name and/or config', adding minimal context. The 'json' parameter is vague (object with additionalProperties) and the description does not clarify its structure or relationship to 'config'.
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 clearly states the verb 'update' and the resource 'banner design', and specifies the scope as 'name and/or config', which distinguishes it from siblings like create_banner or publish_banner.
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 guidance is provided on when to use this tool versus alternatives such as set_banner_basics or publish_banner. The description lacks context for when-not-to-use or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_site_configA
Upsert (merge) the banner/consent configuration for a site.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| config | Yes | A partial SiteConfig patch to merge. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose side effects, idempotency, permissions, or behavior on conflict (e.g., full replace vs merge). 'Upsert' hints at merge but lacks detail.
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?
Single sentence with no wasted words. Verb and resource are front-loaded.
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?
Minimal for a 2-parameter tool with nested object and no output schema. Lacks return value description, error conditions, or what 'SiteConfig' includes. Adequate but has clear gaps.
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?
The description adds 'merge' and 'Upsert' beyond schema descriptions, clarifying that config is a partial patch. Schema coverage is 100%, so baseline is 3; the extra context justifies a 4.
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?
Clearly states it upserts (merges) banner/consent configuration for a site. The verb 'Upsert' distinguishes it from other tools like update_banner or create_banner.
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 guidance on when to use this tool versus alternatives like set_banner_basics, set_consent_mode, or update_banner. Does not specify prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_siteA
Verify that your organization controls a domain by one of three challenge methods (dns / meta / file). Required to unlock consent export and signed receipts.
| Name | Required | Description | Default |
|---|---|---|---|
| cbid | Yes | Site identifier (cbid). Must belong to your org. | |
| method | Yes | Challenge method: dns (TXT record), meta (HTML tag), or file (/.well-known/cookiemunch-verify.txt). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits like mutation risk or permissions. It only states the verification action without indicating whether this is a read or write operation, or if it has side effects. This is a significant gap for a tool that likely modifies domain verification status.
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?
The description is a single sentence that front-loads the action and purpose. Every word contributes value, with no unnecessary information.
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?
Given the simple tool with only two parameters and full schema coverage, the description adequately covers purpose and consequence. It lacks explicit mention of prerequisites (e.g., existence of site), but this is implied by 'cbid must belong to your org' in the schema.
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%: both parameters are described in detail. The description redundantly lists the three methods already in the schema's enum descriptions. It adds no new meaning beyond what the schema provides, meeting the baseline expectation.
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 clearly states the tool's action ('Verify that your organization controls a domain') and specifies the three challenge methods. It also explains why this is needed ('Required to unlock consent export and signed receipts'), which distinguishes it from sibling tools like create_site or get_site_config.
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?
The description implies when the tool should be used by noting it is required before consent export and signed receipts. However, it does not explicitly state when not to use it or list alternative tools, which would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoamiA
Return the identity tied to the API key: orgId, plan, and key prefix.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description transparently states what is returned (orgId, plan, key prefix) but does not mention potential side effects (none) or authentication details beyond the API key.
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?
Single sentence, front-loaded with action and result. No unnecessary words.
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?
Simple tool with no output schema. Description lists returned fields, sufficient for understanding the tool's behavior. Could mention read-only nature but not required.
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?
Zero parameters with 100% schema coverage. Description adds value by specifying output fields, going beyond the empty schema.
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?
Description uses specific verb 'Return' and resource 'identity tied to the API key', listing exact fields (orgId, plan, key prefix). Distinguishes from siblings which focus on banners, sites, DSAR, etc.
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?
Clear context: use when needing API key identity. No explicit when-not or alternatives, but for a self-contained identity lookup this is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose, covering different resources and actions. Tools like set_banner_basics, update_banner, and edit_flow target different aspects of banner configuration, avoiding confusion. CRUD operations for entities like sites, banners, webhooks, and DSARs are clearly separated.
Tool names follow a consistent verb_noun pattern (e.g., create_banner, list_sites, delete_webhook). Minor inconsistency exists between 'set_' (for specific config patches) and 'update_' (for full object updates), but descriptions clarify usage. Overall pattern is predictable.
58 tools is above the typical range but justified for a full consent management platform. Each tool addresses a specific operation (CRUD, configuration, data subject requests, analytics, etc.), and no redundant tools are present. The count reflects the API's comprehensiveness.
The tool set covers all major aspects of consent management: site management, banner design and deployment, configuration (Geo, language, consent mode, blocking), data subject rights (DSAR, erasure, export, preferences), scanning, webhooks, and organizational management. No obvious gaps are present.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect e-commerce and marketing data to AI assistants via MCP.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes identity, tools, workflows, guardrails, and evaluation as MCP tools — so any AI agent can read and write your ecosystem programmatically.32MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage and interact with WordPress sites through MCP, providing tools for content creation, moderation, WooCommerce operations, and governance.47GPL 2.0
- AlicenseNot gradedqualityBmaintenanceTurns any OpenAPI/Swagger API into MCP tools, enabling AI assistants to call REST API endpoints directly.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Drupal sites through MCP tools, with automatic discovery, OAuth-based authentication, and scope validation.285MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cookie-Munch/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server