AdsAgent — Google Ads MCP
Server Details
Hosted Google Ads MCP with OAuth, bounded reads, and prepare/confirm writes.
- Status
- Healthy
- Uptime
- 40.0% over 42 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 82 tools
Most tools are distinct resource/action pairs with clear prepare/confirm roles, but several clusters overlap: three task retrieval tools (google_ads_task_get, tasks_get_status, google_ads_tasks_list), four insights query tools (insights_query_consistent, google_ads_insights_overview_query/batch, google_ads_insights_query_daily), and multiple mutation lifecycle tools. The detailed descriptions help, but an agent could easily pick the wrong tool in these overlapping families.
The dominant pattern is google_ads_<object>_<action> with consistent prepare/confirm suffixes, which is readable and predictable. It is marred by three unprefixed tools (setup_get_status, tasks_get_status, insights_query_consistent) and a few noun/verb order quirks like google_ads_analysis_families_list and google_ads_asset_requirements_get, but these are minor.
82 tools is far beyond the well-scoped range; even accounting for the deliberate prepare/confirm doubling, this is a very large surface for an agent to navigate. The count may reflect the breadth of Google Ads, but it creates significant selection overhead and should be split into focused servers or consolidated.
The surface covers create/update/remove for many entities plus assets, videos, recommendations, templates, insights, and tasks, but there is no way to list or get core entities like campaigns, ad groups, keywords, or ads. An agent cannot discover existing resources and must rely on user-supplied IDs, which is a major gap for a management server.
Available Tools
82 toolsgoogle_ads_accounts_listAInspect
List accessible Google Ads accounts (Supabase ledger by default). Manager accounts are listed but cannot be queried for metrics; only enabled non-manager accounts can.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Read source; defaults to the Supabase ledger. 'live' sweeps the API. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the default ledger read path, the existence of a 'live' source, and the important limitation that manager accounts cannot be queried for metrics while enabled non-manager accounts can. This is genuinely useful behavioral context beyond the parameter schema.
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 tight sentences with no filler. The primary action and default behavior are front-loaded, and the manager-account caveat is placed directly after, making the most important information immediately visible.
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 optional parameter and no output schema, the description is nearly complete: it identifies what is listed, the source options, and a key limitation on downstream metric use. It does not describe return fields, but that omission is minor for this level of 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 description coverage is 100% and the single 'source' parameter is already well documented with its enum and default behavior. The tool description mostly echoes that default ('Supabase ledger by default') rather than adding new parameter-level information, so the baseline 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?
States the exact operation ('List'), the resource ('accessible Google Ads accounts'), and key scoping ('Supabase ledger by default'), which distinguishes it from other list tools in the sibling set. The manager-account caveat adds further specificity about what the list contains.
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 makes clear the default source and that manager accounts are not valid targets for metrics queries, implying when not to use this data for metrics. However, it does not name an alternative tool or explicitly state when to prefer 'live' over the ledger, so the usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_ad_group_create_confirmCInspect
Confirm an ad-group-create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects and state changes. It only says 'Confirm', implying a mutation but not stating whether it creates the ad group, whether it is reversible, requires permissions, or returns a receipt. This is a minimal behavioral hint with almost no 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 clean sentence with no filler, and it is front-loaded. But it is so terse that it under-specifies the tool, making the brevity a weakness rather than a strength.
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?
There is no output schema and no annotations, so the description is the only context. It omits what confirming does, what the response contains, how the draft was produced, and any prerequisites or side effects. This is insufficient for an agent to call the tool safely and 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 schema describes customer_id but leaves draft_id as a bare string. The description adds only that the draft is an ad-group-create draft, hinting that draft_id references that draft, but it doesn't explain where to get draft_id or any constraints. With 50% schema coverage, the description should compensate more and doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (Confirm) and a specific resource (an ad-group-create draft), which distinguishes it from sibling confirm tools like campaign_create_confirm and from ad_group_create_prepare. However, it leaves the exact meaning of 'confirm' (finalize vs. validate) implicit, so it stops short of a 5.
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 invoke this tool, prerequisites, or how it relates to google_ads_ad_group_create_prepare. An agent must infer the prepare-then-confirm workflow from the tool name and sibling list. This is absent guidance, not explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_ad_group_create_prepareCInspect
Prepare creating a paused ad group.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| campaign_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| ad_group_type | No | ||
| cpc_bid_micros | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states that the ad group will be paused. It does not disclose whether this tool actually creates the ad group, returns a draft operation, requires a follow-up confirm step, or what side effects occur. The word 'prepare' creates ambiguity rather than resolving it.
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 single sentence is short and front-loaded, but it is under-specification rather than effective conciseness. A five-parameter tool with no annotations and no output schema needs more than one terse clause to be useful.
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 is inadequate for the tool's complexity. It lacks any explanation of the prepare semantics, return value, required follow-up, parameter semantics, or side effects. Given no annotations and no output schema, an agent cannot reliably know how to invoke this correctly or what 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?
Schema description coverage is only 20% (customer_id only), and the description does not compensate. It adds no meaning for name, campaign_id, ad_group_type, or cpc_bid_micros, and does not clarify required vs. optional parameters or expected formats beyond the bare 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 names a specific verb-resource pair ('prepare creating' + 'ad group') and adds a key state qualifier ('paused'). This distinguishes it from other prepare tools by resource type, though 'prepare' itself is not fully defined.
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 vs. alternatives. The sibling list shows many prepare/confirm pairs, but the description never mentions that this is a staging step, whether a confirm tool exists, or when this should be used instead of other create/prepare tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_analysis_families_listAInspect
List supported deep-analysis families.
| 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 carries the full burden, and 'List supported deep-analysis families' clearly indicates a read-only enumeration operation with no side effects. It does not describe output format or error behavior, but for a zero-parameter listing tool, the disclosed behavior is largely sufficient.
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 no filler. Every word contributes meaning: 'supported', 'deep-analysis', and 'families' all specify the scope of the list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter enumeration tool, the description is nearly complete: it states the operation and the resource. The only minor gap is the absence of an output schema or explicit mention of the return shape, but 'List families' strongly implies an array of family names or identifiers.
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 and the schema is empty, so there is no parameter semantics for the description to clarify. Per the baseline for zero-parameter tools, this is adequate.
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 ('List') and a specific resource ('supported deep-analysis families'), making the tool's function immediately clear. No sibling tool covers 'families', so it distinguishes itself from the other list tools without needing extra context.
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 intended use is implied: call this tool when you need to know which deep-analysis families are supported. However, it provides no explicit guidance about when to prefer it over related deep-analysis tools like google_ads_deep_analysis_query or google_ads_deep_analysis_export, nor does it mention any alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_link_confirmCInspect
Confirm an asset-link draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 gives no indication of side effects, required permissions, reversibility, or the state change that confirmation triggers. The tool mutates state (confirm implies a transition), but the description is silent on these aspects, leaving the agent without critical information.
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 at one short sentence, which is good for brevity, but it's so minimal that it lacks substantive content. It is front-loaded with the core action, but the extreme brevity undermines usefulness, making it borderline between appropriately concise and under-specified.
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 two parameters, no output schema, and no annotations, the description is severely incomplete. It omits any information about the confirmation process, prerequisites (like the prepare step), expected outcomes, or error conditions. An agent cannot confidently invoke this tool based solely on the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (customer_id has a description, draft_id does not). The description adds no parameter explanations, nor does it clarify how to obtain draft_id or its format. It fails to compensate for the missing schema coverage, providing zero additional semantic value 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?
The description states a specific verb ('Confirm') and resource ('asset-link draft'), which is clear and distinguishes it from the sibling 'prepare' tools that likely create the draft. However, it doesn't elaborate on what 'confirm' entails, such as finalizing or activating the draft, so it's slightly above average but not fully explicit.
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. It doesn't mention that it should follow a prepare step, nor does it give any context about prerequisites or the expected workflow. An agent is left to infer the usage pattern from the name and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_link_prepareCInspect
Prepare linking an asset to customer/campaign/ad group/asset group.
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | No | ||
| field_type | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| target_type | Yes | ||
| asset_resource_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry full behavioral disclosure. It only says 'Prepare linking' without indicating whether this is a read-only validation, a draft-creating mutation, or a prerequisite step with side effects. An agent cannot anticipate consequences or permission 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 a single short sentence, but it is under-specified rather than efficiently complete. It spends no words on the preparation concept, parameter semantics, or follow-up steps, so its brevity costs more than it saves.
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 five parameters, no output schema, no annotations, and a clear confirm-step sibling, this description is far from complete. It does not explain what the tool returns, how parameters interact, or how the prepare step connects to the mutation flow.
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 only 20%, and the description adds no parameter-level meaning. target_type, field_type, target_id, and asset_resource_name remain undefined, so the agent has no way to infer valid values or syntax beyond the bare 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 names a specific verb ('Prepare'), a resource ('linking an asset'), and enumerates the target entities. It makes the tool's basic purpose clear, though it does not explain the 'prepare' pattern in the context of the confirm/unlink siblings.
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 google_ads_asset_link_confirm or the unlink prepare tool. The description implies a staging step but never states that a confirm step is required or what conditions select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_requirements_getCInspect
Return asset requirements for a Google Ads channel type.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | 10-digit Google Ads customer id. | |
| channel_type | Yes |
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 of behavioral disclosure. 'Return' implies a read-only operation, but the description does not state whether this is safe/non-mutating, what the response will contain, or whether there are any side effects, rate limits, or prerequisites. This is thin for a tool with no annotation support.
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 no filler or redundant words. However, the brevity contributes to the lack of needed guidance, so it is efficient but slightly over-terse.
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 an undocumented channel_type parameter, the description is not complete enough for confident invocation. It does not explain what the returned 'asset requirements' look like, what channel_type values are accepted, or how this tool fits into the broader asset workflow.
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%: customer_id is documented, but channel_type only has a type string with no description or enum. The description merely repeats 'Google Ads channel type' without listing valid values or explaining how the parameter affects the returned requirements, so it adds no 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?
The description states a clear action ('Return') against a clear resource ('asset requirements') scoped to 'Google Ads channel type'. It does not explicitly distinguish itself from sibling asset tools like google_ads_assets_list, but the resource and verb are unambiguous enough that an agent can infer its read/get 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?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The agent is left to infer that this is a lookup tool from its name and description alone, which is not sufficient among dozens of asset-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_assets_listAInspect
List a bounded page of Google Ads creative assets for one customer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum assets returned. The response reports total and truncation metadata. | |
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure by itself. 'Bounded page' helpfully signals that the result is paginated/truncated, but it does not explicitly confirm read-only behavior, permissions, rate limits, or how the page can be advanced; these gaps matter because no annotations are present.
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 front-loads the verb and object, with no filler or redundancy. Every phrase ('bounded page', 'for one customer') 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?
For a two-parameter list tool with fully documented schema fields, the description covers the core action, scope, and pagination behavior. It does not spell out output shape or authentication, but the simple operation and schema metadata are sufficient for 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 description coverage is 100%, so the baseline is 3. The description's 'one customer' and 'bounded page' summarize the parameters but add no new meaning beyond the schema's own descriptions of customer_id and limit/truncation metadata.
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 opens with the verb 'List' and names the exact resource ('Google Ads creative assets'), plus the customer scope and paged boundary. This clearly distinguishes it from sibling list tools such as google_ads_video_uploads_list or google_ads_product_cards_list, which target different resource types.
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 about when to choose this tool over the many sibling list/prepare/confirm tools. The description does not mention alternatives, prerequisites, or a when-not-to-use condition; the only context is the tool name and the 'one customer' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_unlink_confirmCInspect
Confirm an asset-unlink draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 of behavioral disclosure. It only labels the operation as 'confirm' without stating whether this executes the unlink, whether it is destructive or reversible, whether a prepared draft is required, or what side effects occur.
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 one short, front-loaded sentence with no filler, which is structurally easy to parse. However, it is under-specified rather than appropriately complete, so brevity is not a fully earned strength.
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 confirm-style mutation tool with no annotations and no output schema, the description is too thin. It does not mention return values, task/receipt behavior, or the expected prepare-before-confirm sequence, leaving an agent without enough information to call it confidently.
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 50%, with only customer_id documented. The description adds little semantic value for draft_id: the word 'draft' hints at its role, but does not explain how to obtain the draft_id, its format, or how it relates to a prior prepare call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Confirm') and a resource ('an asset-unlink draft'), and the word 'draft' distinguishes it from the prepare and asset-link siblings. However, it does not explain what 'confirm' actually accomplishes, so it is clear but slightly underspecified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus google_ads_asset_unlink_prepare, google_ads_asset_link_confirm, or other confirm tools. The draft wording implies a prior prepare step, but the description does not state the prerequisite workflow or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_unlink_prepareCInspect
Prepare unlinking an asset from customer/campaign/ad group/asset group.
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | No | ||
| field_type | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| target_type | Yes | ||
| asset_resource_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'prepare' but does not disclose whether it performs any actual mutation, whether it validates the unlink, or what side effects it has. It also doesn't state if it is read-only or requires specific permissions. This is a significant gap for a mutation-preparation 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?
The description is a single sentence and thus concise, but it packs no useful content beyond the action. It is not front-loaded with key details; it simply states the purpose. Conciseness is not a virtue when it omits critical usage and behavioral 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 tool with 5 parameters, 4 required, and no annotations or output schema, the description is grossly incomplete. It fails to explain the prepare/confirm step, the meaning of each parameter, the target types, or the expected result. An agent cannot safely invoke this tool without additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (only customer_id has a description). The description adds no parameter information whatsoever. Parameters like target_type, field_type, asset_resource_name, and target_id are left entirely unexplained, and the description does not compensate for the low schema coverage. An agent cannot infer what values to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('prepare unlinking') and a resource ('asset from customer/campaign/ad group/asset group'). It clearly distinguishes from the sibling 'link' by using 'unlinking', and the 'prepare' vs 'confirm' pattern is implied by sibling names, though not explicitly stated. Could be more explicit about the two-phase prepare/confirm workflow.
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 about when to use this tool versus its siblings. It does not mention that this should be called before google_ads_asset_unlink_confirm, nor when to use it instead of google_ads_asset_link_prepare. An agent has no information to select it correctly among the many prepare/confirm siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_upload_confirmAInspect
Confirm an image asset upload by resubmitting the same base64 image data.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| base64_data | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| content_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It does disclose a useful behavioral requirement—the same base64 data must be resubmitted—which is not obvious from the schema. However, it doesn't state side effects, idempotency, or what response/receipt to expect, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every phrase ('Confirm', 'image asset upload', 'same base64 image data') carries semantic weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations, no output schema, and no guidance about the prerequisite draft from google_ads_asset_upload_prepare or what happens after confirmation. For a required-4-param mutation tool, the description leaves too much for the agent to infer from sibling names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (customer_id only). The description adds meaning to base64_data (must be the exact same data) and narrows content_type to image, but draft_id's role and content_type's accepted format or values remain undocumented. It partially compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the verb ('Confirm'), the resource ('image asset upload'), and the required mode ('resubmitting the same base64 image data'). By specifying 'image' it distinguishes this from video upload confirmation, and 'confirm' separates it from the prepare variant.
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 confirmation workflow is implied by the word 'confirm' and by the prepare/confirm sibling pattern, but the description never explicitly says to call this after google_ads_asset_upload_prepare or identifies conditions/alternatives. There is also no guidance for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_asset_upload_prepareAInspect
Prepare an image asset upload from base64 image data. No Google mutate.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | ||
| base64_data | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| content_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description correctly discloses a key behavioral trait: it does not mutate Google Ads. However, it does not explain what preparation actually does, what it returns, or what constraints apply beyond the parameter names.
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 the action and object front-loaded and a useful safety qualifier in the second sentence. There is 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?
For a tool with four required parameters, no output schema, and no annotations, the description is too sparse. It omits the expected return/receipt, how the prepared upload should be used with the confirm step, and important format constraints. An agent cannot confidently complete the prepare-to-confirm flow from this description alone.
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 documentation covers only customer_id, and the description adds only that base64_data is image data. It does not explain accepted content_type values, filename expectations, or base64 encoding requirements. With 25% schema coverage, the description undercompensates for the undocumented 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 names a specific action ('prepare'), a specific resource ('image asset upload'), and the input format ('base64 image data'). The qualifier 'No Google mutate' clearly differentiates it from the asset_upload_confirm sibling.
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 'prepare' verb and 'No Google mutate' imply this is a pre-mutation step before an upload confirm, but the description does not explicitly name the confirm sibling or say when to choose this over video_upload_prepare. Usage context is present but mostly relies on naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_bidding_update_confirmCInspect
Confirm a bidding update draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 states that it confirms a draft but does not disclose side effects (e.g., whether changes are applied immediately, if confirmation is irreversible, or what the returned receipt/task provides). An agent cannot predict the operational impact of calling this 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?
The description is a single sentence with no redundancy, which is efficient, but it is so terse that it omits necessary details. It is not verbose, yet it sacrifices completeness for brevity. A few more sentences clarifying usage and behavior would be more helpful without becoming bloated.
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?
This is a mutation tool (confirm) with no annotations, no output schema, and only two parameters. The description does not explain the workflow (e.g., that draft_id must come from the prepare step), what the API returns after confirmation, or whether there are any side effects. An agent lacks critical context to call this tool correctly and safely.
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% (customer_id is described, draft_id is not). The description adds minimal context by linking draft_id to 'bidding update draft', but it doesn't explain where the draft_id comes from (e.g., the prepare step) or any format requirements. It partially compensates for the missing schema description but not fully.
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 a specific verb ('Confirm') and a specific resource ('a bidding update draft'), which distinguishes it from the sibling 'prepare' tool. However, it doesn't elaborate on what 'confirm' means in this context (e.g., applying the draft), leaving some ambiguity about the outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that it should follow google_ads_bidding_update_prepare, nor any prerequisites or conditions. An agent would have to infer the confirm-after-prepare pattern from the tool naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_bidding_update_prepareCInspect
Prepare updating a campaign bidding strategy.
| Name | Required | Description | Default |
|---|---|---|---|
| roas | No | ||
| strategy | Yes | ||
| campaign_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| amount_micros | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior on its own. It only states the action without explaining what 'prepare' entails (e.g., validation, draft creation, side effects), any authentication requirements, or expected follow-up steps. This leaves the agent with significant uncertainty.
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 brief and contains no unnecessary words, which could be seen as concise. However, it is under-specified rather than efficiently informative, providing only a bare statement without any supporting structure or context.
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 prepare-type tool with 5 parameters, 3 required, no output schema, and no annotations, the description is far from complete. It lacks information about the prepare/confirm workflow, parameter usage, expected outcomes, or any operational context an agent would need to invoke 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?
Schema description coverage is only 20% (only customer_id has a description), and the tool description adds no parameter information at all. The meanings of roas, amount_micros, and strategy are entirely undefined, and the description fails to compensate for the sparse 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 states a specific action ('Prepare updating') and a clear resource ('campaign bidding strategy'). It is distinguishable from the confirm sibling by the 'prepare' naming pattern, though it does not explicitly mention the alternative. Overall, the purpose is 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?
There is no guidance on when to use this tool versus google_ads_bidding_update_confirm or any other prepare/confirm pair. The description does not explain the two-step workflow, prerequisites, or any conditions that would lead an agent to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_billing_get_setupCInspect
Billing setup for one customer (ledger by default). No invoice retrieval.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Read source; defaults to the Supabase ledger. 'live' sweeps the API. | |
| customer_id | Yes | 10-digit Google Ads customer id. |
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 reveals the default source and excludes invoices, but does not explicitly state that this is a read-only operation, describe the response format, or mention any side effects, errors, or prerequisites. The 'get' in the name implies read, but that's not explicit.
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, using only two clauses to convey the core purpose and a key exclusion. It is front-loaded with the primary function and contains no redundant or filler content, making it efficient and easy to parse.
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 read tool with no output schema, the description is incomplete. It does not describe what the returned billing setup contains, how the 'live' source differs in output, or what errors might occur. It also lacks guidance on when to use 'live' versus 'ledger', which is critical for effective 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?
The input schema covers both parameters with descriptions (customer_id and source with enum and default). The description adds no new meaning beyond restating that the default is the ledger, which is already in the schema. With 100% schema coverage, the baseline is 3, and the description provides no additional parameter 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 tool retrieves billing setup for a single customer, with the default source being the ledger, and explicitly excludes invoice retrieval. This distinguishes it from invoice-related operations, though it doesn't specify what 'billing setup' includes or differentiate it from sibling tools.
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. The only usage hint is the negative statement about not retrieving invoices, which is more of a limitation than a positive directive. It doesn't explain when to choose 'ledger' vs 'live' sources either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_budget_update_confirmCInspect
Confirm a budget update draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only says 'Confirm a budget update draft' without mentioning side effects (e.g., applying the change), required permissions, return values, or any post-confirmation behavior. This is a significant gap for a mutation-like 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 sentence, which is concise, but it is under-specified rather than efficiently structured. It provides minimal value beyond the tool name, and the brevity does not contribute to clarity.
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 confirm action with two parameters and no output schema, the description is severely incomplete. It does not explain how to obtain a draft_id, what happens after confirmation, or any prerequisites, making it insufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: customer_id has a description in the schema, but draft_id does not, and the tool description adds nothing about parameters. The description fails to compensate for the undocumented draft_id, leaving its purpose and format unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'Confirm' and a resource 'a budget update draft', clearly distinguishing it from the sibling google_ads_budget_update_prepare. It is not a tautology and conveys the core action, though it doesn't elaborate on what confirmation entails.
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, such as requiring a previously prepared draft or the workflow step. The description gives no context about prerequisites or alternative tools, leaving the agent to infer usage from the name and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_budget_update_prepareCInspect
Prepare updating a campaign daily budget.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| amount_micros | Yes |
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. 'Prepare' suggests a staged mutation but doesn't explain side effects, whether it's a dry run, or what the response contains. For a mutation-related tool with zero annotation coverage, this is a significant gap.
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 no wasted words. It is concise and front-loaded with the core purpose. However, it is so brief that it borders on under-specification, which slightly lowers the score.
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 output schema and no annotations, the description should explain the prepare/confirm workflow and any expected outcomes. It doesn't. An agent cannot tell if this operation is reversible, what it returns, or how it relates to the confirm sibling. The description is minimal and leaves critical context 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 only 33% (customer_id has a description). The description adds no detail about campaign_id or amount_micros, and doesn't clarify units or validation. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action: 'Prepare updating a campaign daily budget.' It identifies the resource (campaign daily budget) and the operation (prepare). It distinguishes from siblings like google_ads_budget_update_confirm (which would confirm) and google_ads_bidding_update_prepare (different budget type), though it doesn't explicitly name them.
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. The sibling list includes many prepare/confirm pairs, and the description doesn't explain the two-phase pattern or when a prepare step is needed. The agent is left to infer that 'prepare' precedes a confirm step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_campaign_create_confirmCInspect
Confirm a campaign-create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 of behavioral disclosure. It only says 'Confirm a campaign-create draft', which implies a mutation but does not disclose what happens on confirm (e.g., whether it creates the campaign, whether it is destructive, prerequisites, or return values). This is a significant gap for a mutation 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?
The description is a single sentence with no wasted words, making it very concise. However, it is under-specified and lacks necessary detail, so while it is front-loaded and efficient, it does not earn its place as a complete description. It is appropriately short but insufficient.
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 mutation tool with no annotations and no output schema, the description is severely incomplete. It does not explain the prepare/confirm workflow, what happens on confirm, or any return information. An agent cannot correctly call this tool based solely on the description.
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 no parameter meaning. The schema covers one parameter (customer_id) but not draft_id, and the description does not clarify what draft_id refers to (e.g., the ID from the prepare step). With schema coverage at 50%, the description should compensate but does not.
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 'Confirm' and the resource 'campaign-create draft', which distinguishes it from other confirm tools for different resources. However, it does not explicitly explain that this is the final execution step after a prepare action, nor does it differentiate from the prepare sibling within the same campaign resource. It is clear but minimal.
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. The description does not mention that it should follow the prepare step, nor does it indicate when not to use it. Given the many confirm/prepare sibling pairs, an agent could easily misuse this tool without additional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_campaign_create_prepareCInspect
Prepare creating a paused campaign and budget.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| roas | No | ||
| strategy | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| channel_type | Yes | ||
| amount_micros | No | ||
| budget_micros | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does not say what 'prepare' actually does (validation, staging, draft creation, a mutation intent), whether it is side-effect free, or what its response contains. The 'paused' status is the only behavioral 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?
It is concise as a single sentence, but the brevity is under-specification for a seven-parameter tool. No structure or ordering helps an agent decide what to pass.
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?
A 7-parameter tool with no annotations, no output schema, and no description of the prepare/confirm workflow is not adequately specified. An agent cannot know what prepare returns, what inputs mean, or what side effects 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?
Schema description coverage is only 14%, and the description explains none of the seven parameters. Required fields like channel_type and budget_micros, and optional ones like roas, strategy, and amount_micros, are left entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Prepare creating') and resource ('a paused campaign and budget'), which is enough to recognize this as the staging step for creating a paused campaign. It also distinguishes from sibling create_confirm and other prepare tools, though it doesn't spell out the exact 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 choose this over alternatives like google_ads_pmax_create_prepare, quick_create_prepare, or campaign_create_confirm. The workflow sequence (prepare then confirm) is only implied by the name, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_connection_permissions_setCInspect
Set pull/create/decision policy for one owned Google connection.
| Name | Required | Description | Default |
|---|---|---|---|
| allow_pull | No | ||
| allow_create | No | ||
| allow_decision | No | ||
| connection_ref | Yes |
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 of behavioral disclosure. It only says 'Set', implying a mutation, but does not state whether changes are reversible, what happens to existing permissions, whether it requires special authorization, or if it is synchronous. The word 'owned' hints at ownership but without elaboration. This is a significant gap for a state-changing 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?
The description is a single, concise sentence with no unnecessary words. It front-loads the action and resource, and efficiently conveys the core purpose. There is zero waste, which is ideal for 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?
Given the tool has 4 parameters, no output schema, and no annotations, the description is far from complete. It does not mention what the tool returns or how success is indicated, any error conditions, prerequisites like ownership verification, or whether this is part of a multi-step workflow (e.g., prepare/confirm). For a mutation tool, this level of detail is inadequate.
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 compensate for the parameter meanings. It mentions 'pull/create/decision policy' which loosely maps to the three boolean parameters (allow_pull, allow_create, allow_decision), but does not explain what each policy means or how they interact. The connection_ref parameter is not mentioned at all. The description adds minimal value beyond the parameter names, which are self-explanatory only to a degree.
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 the resource ('pull/create/decision policy for one owned Google connection'). It conveys the tool's purpose without ambiguity. However, it does not explicitly differentiate from the sibling tool google_ads_customer_route_permissions_set, which is similar in nature, so it lacks strong sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as when to use this for connection permissions versus customer route permissions. No context about prerequisites, ownership requirements, or whether this should be used before or after other steps. The description leaves the usage scenario entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_connections_listBInspect
List safe Google connection health and operation policy fields.
| 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 carry the behavioral burden. It says 'List' and 'safe', implying a read-only operation, but does not explicitly state that it is non-mutating, what the output format is, or what 'safe' means. It also doesn't clarify whether any side effects or permission checks apply. This is minimal disclosure for a tool with no annotation support.
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 redundant words. It is front-loaded with the action and resource. For a parameterless tool, this level of brevity is appropriate and efficient, with no waste.
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 the tool's simplicity (no parameters, no output schema), the description is incomplete. It does not explain what 'safe' means, what 'health' and 'operation policy fields' encompass, or what the response will contain. An agent cannot fully understand the tool's behavior or output from this description alone, which is a notable gap for 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?
The input schema has zero parameters, and schema coverage is trivially 100%. The description does not need to add parameter details since none exist. The baseline of 4 applies because the description is not expected to compensate for missing schema documentation when there are no 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 states a clear action ('List') and a specific resource ('safe Google connection health and operation policy fields'). It distinguishes from siblings like google_ads_connections_list versus google_ads_connection_permissions_set by focusing on listing fields rather than setting permissions. It is not a tautology and is specific enough to identify the tool's 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?
There is no guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions. It leaves the agent to infer when listing connection health and operation policy fields would be appropriate, which is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_action_create_confirmBInspect
Confirm one prepared WEBPAGE conversion-action create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 of explaining behavior. 'Confirm' is vague: it does not say what confirming actually does (e.g., commit the create, trigger an async task, return a receipt), whether it has side effects, or what the caller should expect.
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 no filler. Every word earns its place, and the most important scoping detail ('prepared WEBPAGE ... create draft') appears immediately.
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 no output schema and no annotations, the description leaves out essential context: what confirming returns, whether this is an async operation, how draft_id is obtained, and whether a follow-up task/receipt check is needed. It is not complete enough for an agent to chain this tool 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?
Schema description coverage is only 50%; customer_id is documented but draft_id is not. The description does not explain how to obtain draft_id, what format it takes, or that it comes from the corresponding prepare step. The phrase 'prepared ... draft' adds minimal meaning beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Confirm') and a specific resource ('one prepared WEBPAGE conversion-action create draft'), clearly distinguishing this tool from the prepare counterpart and from conversion-action update/remove confirms. It is specific enough that an agent can tell what this tool is for.
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 word 'prepared' implies this tool should be used after a prepare step, but the description does not explicitly say 'use after google_ads_conversion_action_create_prepare' or mention when not to use it. Usage context is implied rather than stated, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_action_create_prepareAInspect
Prepare one WEBPAGE conversion action. Runs validate-only and defaults primary_for_goal to false.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | No | ||
| category | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| counting_type | No | ||
| default_value | No | ||
| primary_for_goal | No | ||
| default_currency_code | No | ||
| always_use_default_value | No | ||
| view_through_lookback_window_days | No | ||
| click_through_lookback_window_days | No |
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 does disclose two key behaviors: it runs validate-only and defaults primary_for_goal to false. This adds useful context but does not mention side effects, whether anything is actually persisted, or how errors are reported. For a prepare step with no output schema, more behavioral disclosure would be expected, so a 3 is appropriate.
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 redundancy. The main purpose and key behavior (validate-only) are front-loaded, and every word adds value. It is efficiently structured for agent consumption.
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 11 parameters, 3 enums, no output schema, and low schema coverage, this is a moderately complex tool. The description only covers the resource type and one default, leaving out what the tool returns (e.g., an ID or receipt), how validation results are communicated, and any guidance on prerequisites or relation to the confirm step. This is incomplete for an agent to use it effectively.
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 only 9%, with only customer_id described in the schema. The description adds meaning for one parameter (primary_for_goal default) and implicitly fixes type to WEBPAGE, but it does not explain the other 8 parameters (category, counting_type, default_value, etc.) or their allowed values. Given the low coverage, the description should compensate more than it does.
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 'Prepare' and the specific resource 'WEBPAGE conversion action', and distinguishes it from the sibling 'confirm' tools by indicating it is the preparation step with validate-only behavior. This an agent can differentiate from the many other prepare/confirm pairs in the sibling list.
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 says it 'Runs validate-only', which implies it is for validation rather than final creation, and the name 'prepare' plus sibling 'confirm' suggests a two-step workflow. However, it does not explicitly name the confirm tool or state when to use this vs. that, nor does it mention any prerequisites or exclusions. The guidance is clear in context but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_action_remove_confirmAInspect
Confirm permanent removal of one prepared WEBPAGE conversion action.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the destructive, irreversible nature of the action with 'permanent removal' and implies a prerequisite state ('prepared'). With no annotations provided, this carries the full burden, but it does not mention success responses, auth requirements, or how the confirm step interacts with the prepare draft.
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?
One short sentence with no filler. The core action and its precondition are front-loaded, making it easy to scan and parse.
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 two-parameter tool this is close to adequate, but with no output schema or annotations, the description should explicitly link to the remove_prepare step and indicate what the confirm call returns. The 'prepared' wording offers a hint, but the workflow remains partially implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: customer_id is described, but draft_id has no schema description. The tool description does not explicitly explain that draft_id is the ID of the prepared conversion action or how to obtain it, leaving a key parameter underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Confirm permanent removal'), a clear resource ('WEBPAGE conversion action'), and a precise scope ('one prepared'). This distinguishes it from siblings like remove_prepare, create_confirm, and update_confirm without 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 word 'prepared' clearly implies a prior preparation step, and the sibling remove_prepare confirms the intended workflow. However, the description does not explicitly name the prepare tool or state exclusions, so it relies on inference rather than direct instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_action_remove_prepareBInspect
Prepare permanent removal of one owned WEBPAGE conversion action.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | 10-digit Google Ads customer id. | |
| conversion_action_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses that the removal is permanent, which signals irreversibility, and specifies 'owned WEBPAGE' as a constraint. However, it does not clarify that this is only a preparation step (no actual mutation occurs) or what the output/next steps are. It adds some value but leaves key behavioral context implicit.
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 gets straight to the point. It is front-loaded with the action and resource. No wasted words, though it could be slightly more informative without losing 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 two-parameter tool with no output schema, the description covers the essential purpose and scope. However, it omits the two-phase workflow context (prepare vs. confirm) and any mention of expected return values or side effects beyond permanence. Given the existence of a confirm sibling, this is a notable gap for an agent to correctly sequence its actions.
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 50%: customer_id has a description, but conversion_action_id is undocumented. The description adds only a hint that the action must be 'owned WEBPAGE', which partially clarifies the id's expected type, but it does not elaborate on the id's format or constraints (e.g., the maxLength). It fails to compensate for the missing schema description of conversion_action_id.
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 (Prepare) and resource (permanent removal of one owned WEBPAGE conversion action). It distinguishes from confirm-step siblings by the word 'Prepare', though it doesn't explicitly reference the two-phase pattern. The specificity of 'owned WEBPAGE' helps narrow scope beyond generic conversion action tools.
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. It doesn't mention that this is a prepare step requiring a subsequent confirm call, nor does it reference the sibling remove_confirm tool. An agent is left to infer the workflow from the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_actions_listBInspect
List conversion actions for the effective Google Ads conversion customer. Returns the conversion_customer_id required for writes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'List' implies a non-destructive read operation organically, and the description mentions a concrete output (conversion_customer_id), but it does not discuss pagination, rate limits, or the shape of the returned conversion actions. Basic behavior is clear, but deeper 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?
Two sentences, front-loaded with the primary action and resource, with no filler. The second sentence delivers essential, high-value information about the return value. 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?
With no annotations and no output schema, the description must carry more weight than in a fully annotated tool. It covers the main purpose and the key returned ID, but it does not describe the fields of conversion actions, how limit/pagination behaves, or what 'effective Google Ads conversion customer' means in practice. Adequate for a simple list operation, but with 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?
Schema description coverage is only 50%, with limit undocumentedhebdomadaire. The description does not explain the limit parameter and only loosely clarifies the customer_id context with 'effective Google Ads conversion customer.' The mention of conversion_customer_id refers to output rather than an input parameter, so the description adds little semantic value 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?
The description states a specific verb and resource: 'List conversion actions' for a defined scope, the effective Google Ads conversion customer. It also communicates the key output, conversion_customer_id, which clarifies why the tool exists. However, it does not explicitly distinguish itself from sibling conversion_action_* tools or other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: the tool is useful before write operations because it 'Returns the conversion_customer_id required for writes.' There is no explicit statement of when to use this tool over alternatives, nor any exclusions or 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.
google_ads_conversion_action_update_confirmCInspect
Confirm one prepared WEBPAGE conversion-action update draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'Confirm', which likely means the prepared update is executed, but it does not state whether this is an irreversible mutation, whether it requires special permissions, what the receipt looks like, or what happens to the draft after confirmation. This is a significant transparency gap 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?
The description is one short, front-loaded sentence with no filler. It communicates the core action and object efficiently. The brevity is a strength in structure, though it leaves behavioral details to be covered elsewhere.
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 two-parameter tool, the description is still incomplete: it does not explain prerequisites, side effects, return behavior, or how to proceed after confirmation. With no output schema and no annotations, an agent is left to infer critical execution semantics from the name and the terse description.
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 only 50% (customer_id has a description, draft_id does not), and the description adds no parameter-level meaning. It mentions 'prepared ... draft', which loosely maps to draft_id, but it does not explain how to obtain the draft_id or what customer_id means beyond the schema's own one-line 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 states a specific verb and resource: 'Confirm one prepared WEBPAGE conversion-action update draft.' It clearly identifies the action and the object, and the 'prepare/confirm' terminology makes the stage evident. It does not explicitly distinguish itself from sibling confirm tools, but the resource scope is specific enough for an agent to identify the right tool.
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 word 'prepared' implies this tool should be used after a preparation step, and the sibling list contains google_ads_conversion_action_update_prepare, making the workflow inferable. However, there is no explicit guidance about when to use this tool versus alternatives, nor any warning against confirming an unprepared or already-confirmed draft.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_conversion_action_update_prepareCInspect
Prepare a typed update to one WEBPAGE conversion action. Type is immutable.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| type | No | ||
| status | No | ||
| category | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| counting_type | No | ||
| default_value | No | ||
| primary_for_goal | No | ||
| conversion_action_id | Yes | ||
| default_currency_code | No | ||
| always_use_default_value | No | ||
| view_through_lookback_window_days | No | ||
| click_through_lookback_window_days | No |
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 only discloses that type is immutable, but does not state that 'prepare' stages changes rather than applying them, nor does it mention side effects, permissions, validation behavior, or what the agent should expect. This is a significant gap 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?
The description is two short sentences with no fluff and front-loaded purpose. The term 'typed' is slightly jargon-heavy but the overall structure is tight and efficient for the limited content it provides.
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 13 parameters, no output schema, no annotations, and only 8% schema coverage, this description is severely incomplete. It does not explain what 'prepare' means operationally, what the parameters configure, or what steps follow. An agent cannot safely invoke this tool based on the provided 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?
Schema description coverage is only 8% (1 of 13 parameters described). The description adds meaning only to the 'type' parameter by stating it is immutable and WEBPAGE, but leaves the other 12 parameters completely unexplained. It fails to compensate for the low schema coverage.
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 ('prepare'), the resource ('conversion action'), and the specific scope ('one WEBPAGE'). It distinguishes from create/remove via 'update' but does not explicitly mention the prepare/confirm workflow with the sibling confirm tool, so it falls short of full sibling differentiation.
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, no mention of the required confirm step after preparation, and no exclusions or prerequisites. Agents are left to infer the two-phase prepare/confirm pattern from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_copy_ad_confirmCInspect
Confirm an ad-copy draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 merely says 'Confirm an ad-copy draft' without indicating whether this is a mutating action, what the side effects are, whether it can be undone, or whether it requires specific permissions. This is a significant gap for a tool likely to create or modify ads.
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 terse—five words—but this under-specification hurts rather than helps. It lacks essential context about the operation, so it is not appropriately sized. It front-loads the verb but sacrifices meaning.
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 two required parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain the purpose of the confirm step, any expected outcomes, or how it relates to the prepare sibling. An agent cannot safely invoke this tool based on this description alone.
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 covers only customer_id (with a description), leaving draft_id undocumented. The description adds minimal parameter meaning—'ad-copy draft' hints that draft_id refers to the draft, but it does not explicitly map parameters or explain their roles. It does not compensate for the 50% schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Confirm') and resource ('ad-copy draft'), which is more informative than a tautology. However, 'confirm' is ambiguous—it could mean approving, submitting, or validating—and the description does not clarify that this is the second step of a prepare/confirm pair (sibling google_ads_copy_ad_prepare).
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. It does not mention that it should follow google_ads_copy_ad_prepare, nor does it exclude other confirm tools. An agent gets no context about prerequisites or the two-step flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_copy_ad_prepareCInspect
Prepare copying a responsive search ad into a target ad group.
| Name | Required | Description | Default |
|---|---|---|---|
| headlines | No | ||
| final_urls | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| descriptions | No | ||
| source_ad_id | Yes | ||
| target_ad_group_id | Yes |
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. 'Prepare copying' hints that this is a staging action rather than the final copy, but it does not disclose whether it mutates anything, what it returns, how it relates to the confirm step, or any 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 very concise and front-loaded, with no filler words. It effectively communicates the core action in one sentence, though it sacrifices valuable details that other dimensions require.
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 6 parameters, no output schema, and no annotations, this description is incomplete. It omits the prepare/confirm relationship, parameter roles, return behavior, and any indication of what happens after this step.
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 only 17%, and the description adds no parameter-level meaning. While names like source_ad_id and target_ad_group_id are somewhat self-explanatory, optional fields like headlines, final_urls, and descriptions are not explained at all, leaving their role ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Prepare copying a responsive search ad into a target ad group.' This is clear enough to know what the tool is for, but it does not explicitly distinguish itself from google_ads_copy_ad_confirm or explain the prepare/confirm workflow.
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 about when to use this prepare step versus the confirm step, or whether it should be followed by google_ads_copy_ad_confirm. The agent is left to infer usage from the tool name and sibling pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_customer_route_permissions_setCInspect
Set pull/create/decision policy for one owned connection/customer route.
| Name | Required | Description | Default |
|---|---|---|---|
| allow_pull | No | ||
| customer_id | Yes | ||
| allow_create | No | ||
| allow_decision | No | ||
| connection_ref | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only says 'Set' which implies mutation, but does not mention whether this overrides existing policies, requires specific credentials, is reversible, or what the response contains. For a mutation tool, this is a significant gap.
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 no wasted words. It states the core action and scope immediately, 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?
For a tool with 5 parameters, no annotations, and no output schema, this description is too sparse. It lacks explanation of what 'pull/create/decision policy' means in practice, what the response looks like, and how the route is identified. An agent cannot confidently invoke this tool correctly without additional schema inspection and inference.
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% – the description does not explain any of the five parameters. While it hints at 'pull/create/decision' mapping to allow_pull, allow_create, allow_decision, it does not describe connection_ref or customer_id, nor their formats or required context. The description fails to compensate for the low coverage.
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 the resource (policy for one owned connection/customer route). It specifies the policy types (pull/create/decision) which maps to the boolean parameters. It does not explicitly differentiate from the sibling google_ads_connection_permissions_set, which may cover similar ground, but the 'route' specificity adds some distinction.
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, ownership requirements, or that this is per-route versus a broader connection-level permission setter. The agent gets no help selecting this tool over google_ads_connection_permissions_set or other permission-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_deep_analysis_exportAInspect
Create a single-use 10-minute CSV export URL for a bounded whitelisted deep-analysis query. No rows are returned in the MCP response.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| family | Yes | ||
| date_to | Yes | ||
| date_from | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does so well by disclosing key traits: single-use, 10-minute expiration, CSV export URL, bounded/whitelisted query scope, and no rows in the MCP response. It leaves some ambiguity around the whitelisting mechanism and URL usage but is substantially more transparent than a minimal 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?
Two dense sentences with no filler. The core behavior is front-loaded, and the key exclusion ('No rows are returned') appears immediately after 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?
For a tool with five parameters, no output schema, and no annotations, the description is too thin. It does not explain what 'family' means, how date_from/date_to should be formatted, how the URL is returned or consumed, or how this relates to google_ads_deep_analysis_query.
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 only 20% (only customer_id is described), but the description does not explain family, date_from, date_to, or limit. The 'bounded whitelisted' phrasing gives indirect context but does not compensate for the missing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a single-use 10-minute CSV export URL.' It also clarifies the scope ('bounded whitelisted deep-analysis query') and explicitly distinguishes itself from a row-returning query tool by noting 'No rows are returned in the MCP response.'
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 gives a clear context for when to use this tool: when a CSV export URL is needed rather than inline query results. The 'No rows are returned' clause is an explicit exclusion, though it does not name the alternative sibling tool (google_ads_deep_analysis_query) directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_deep_analysis_queryCInspect
Run a whitelisted deep-analysis query for one customer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| family | Yes | ||
| date_to | Yes | ||
| date_from | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| detail_level | No | summary returns totals plus at most 20 top rows; rows explicitly returns at most 200 rows. | summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only says 'run a whitelisted deep-analysis query,' which implies a read operation but does not state whether it is read-only, what it returns, what 'whitelisted' entails, or how it behaves on errors or large result sets.
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 no filler or redundant restatement of the tool name. Every word contributes a basic constraint, making it highly concise and easy to parse.
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 six-parameter tool with no output schema and no annotations, this description is far too thin. It does not explain what a 'deep-analysis query' is, how to choose a family, what date range semantics apply, what the result format looks like, or whether the operation is safe to run repeatedly.
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 low (33%), and the description barely compensates. It adds 'one customer' to clarify customer_id scope, but provides no meaning for family, date_from, date_to, or limit, leaving the most important query parameters semantically under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action — running a whitelisted deep-analysis query — and scopes it to one customer, so the core purpose is clear. It does not explicitly differentiate itself from siblings like google_ads_deep_analysis_export or google_ads_insights_query_daily, but the phrase 'deep-analysis query' gives enough distinction for a reasonable agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as google_ads_deep_analysis_export, google_ads_analysis_families_list, or google_ads_insights_query_daily. The word 'whitelisted' hints at a constraint but does not explain prerequisites, authorization, or when another query tool should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_entity_remove_confirmCInspect
Confirm one irreversible entity-removal draft after explicit user approval.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full behavioral burden. It discloses that the action is 'irreversible' and requires 'explicit user approval', which are important safety traits. However, it does not mention that this is a destructive mutation, potential side effects, required permissions, or what happens on success/failure. The irreversibility is valuable but not sufficient 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 that front-loads the core action and its irreversibility. It avoids unnecessary words and is well-structured. It earns a high score for conciseness, though it could be slightly more informative without sacrificing brevity.
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 incomplete parameter descriptions, the description leaves out critical context: what a draft is, how to create or obtain it, the confirm workflow (prepare/confirm), expected response or receipt, and any caveats. For an irreversible action, this is insufficient for an agent to invoke it correctly and safely.
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 50% (customer_id has a description, draft_id does not). The description adds no parameter-specific meaning beyond the schema. It doesn't clarify what draft_id refers to, how to obtain it, or its relationship to the prepare step. With moderate coverage, the description should compensate but does not.
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: 'Confirm one irreversible entity-removal draft'. It names the verb (Confirm), the resource (entity-removal draft), and a key trait (irreversible). It is distinguishable from siblings like 'google_ads_entity_remove_prepare' and other confirm tools by explicitly focusing on removal confirmation. However, it doesn't explicitly contrast with the prepare counterpart or other removal confirm tools, which slightly weakens differentiation.
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 via 'after explicit user approval', indicating it should only be invoked post-approval. But it provides no explicit guidance on when to use this vs. other tools, no mention of the prerequisite prepare step, and no exclusions. For a confirm operation that likely pairs with a prepare step, this is a significant omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_entity_remove_prepareAInspect
Prepare an irreversible campaign, ad-group, ad-group-ad, or keyword removal. Runs Google validate-only and returns the current entity snapshot; no change is applied.
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | No | ||
| ad_group_id | No | ||
| campaign_id | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| criterion_id | No | ||
| entity_level | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the crucial traits: the operation is irreversible, it only runs Google validate-only, it returns the current entity snapshot, and no change is applied. This gives an agent a solid safety picture, though it does not mention permissions or side effects beyond the snapshot.
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, tight sentence that front-loads the core purpose and then adds the critical safety qualifiers. Every phrase adds information, and there is no filler or repetition of schema 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?
The tool has six parameters, only two required, no output schema, and no annotations, yet the description omits the parameter-selection contract needed to invoke it correctly. An agent still must infer which ID to provide for a given entity_level and how to combine fields, which is a significant completeness gap.
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 only 17%, so the description must compensate, but it does not explain which ID field corresponds to which entity_level or whether exactly one ID should be supplied. The entity type names in the description ('ad-group', 'keyword') hint at parameters, but ad_id, ad_group_id, campaign_id, and criterion_id remain semantically ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Prepare... removal'), a clear scope (campaign, ad-group, ad-group-ad, keyword), and distinguishes this from the actual destructive action by saying it runs validate-only and returns a snapshot with no change applied. The mapping to the schema's 'responsive_search_ad' enum is slightly loose, but the intent is unmistakable.
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 this is a preflight step because it says 'no change is applied' and 'prepare,' and the sibling google_ads_entity_remove_confirm clearly handles the actual removal. However, it never explicitly says 'use confirm to apply the removal' or gives when-to-use/when-not-to-use guidance, leaving that largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_entity_update_confirmBInspect
Confirm one typed entity-update draft after reviewing its before/after diff.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Confirm' implies a mutation/commit of a draft, but it does not explain side effects, reversibility, permission requirements, what happens to the draft after confirmation, or any error states. This is a significant gap for a write 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?
The description is a single, front-loaded sentence with no wasted words. It conveys the core action and condition immediately, making it easy to parse.
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 confirmation tool with no annotations, no output schema, and a write side-effect, this description is too sparse. It does not mention what the tool returns (e.g., a mutation receipt), whether the operation is idempotent or reversible, or how the draft relates to other workflow tools like google_ads_entity_update_prepare or google_ads_mutation_receipt_get. An agent would lack critical operational 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?
Schema coverage is 50% (only customer_id has a schema description). The description's 'entity-update draft' gives a vague hint that draft_id identifies a draft, but it does not explain how the draft is created, how to obtain a valid draft_id, or the relationship to the prepare step. It fails to compensate for the undocumented draft_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Confirm') and resource ('one typed entity-update draft') with a clear contextual step ('after reviewing its before/after diff'). It distinguishes the tool from the counterpart prepare tool by its confirm action, though it does not explicitly separate it from other confirm variants.
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 phrase 'after reviewing its before/after diff' implies the workflow sequence (prepare → review → confirm) and establishes a precondition. However, it does not name the related prepare tool or provide explicit exclusion criteria or alternatives, leaving usage guidance to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_entity_update_prepareAInspect
Prepare a typed campaign, ad-group, responsive-search-ad, or keyword update. Runs Google validate-only and returns a before/after draft; no change is applied.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| ad_id | No | ||
| status | No | ||
| headlines | No | ||
| final_urls | No | ||
| ad_group_id | No | ||
| campaign_id | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| criterion_id | No | ||
| descriptions | No | ||
| entity_level | Yes | ||
| cpc_bid_micros | No |
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 operation runs Google validate-only and returns a before/after draft, with no change applied. This is a clear behavioral statement about side effects (none). However, it doesn't cover what happens on validation failure, whether a draft object is persisted, or any authentication prerequisites. Given the absence of annotations, this is adequate but not exhaustive.
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 that front-loads the purpose and the key behavioral trait (no change applied). It contains zero fluff and every word adds value. It is appropriately sized for the high-level purpose, though it sacrifices parameter detail for brevity.
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 complexity (12 parameters, multiple entity types, no output schema, no annotations), the description is severely incomplete. It does not explain how entity_level determines which fields are valid, what the before/after draft contains, or how to interpret the response. An agent would struggle to correctly select parameters for a given entity type. The description covers only the high-level flow, missing essential operational details.
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 12 parameters but only 8% description coverage (just customer_id has a description). The description adds nothing about parameters—it doesn't explain which parameters apply to which entity_level, nor the relationships between IDs (e.g., campaign_id for campaign, ad_group_id for ad_group, criterion_id for keyword). With such low schema coverage, the description must compensate, but it fails entirely. This is a critical gap for a tool with many 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 tool prepares updates for four specific entity types (campaign, ad-group, responsive-search-ad, keyword), which is a precise verb+resource pairing. It also distinguishes itself by noting it runs validate-only and returns a before/after draft, setting it apart from create or confirm tools. This is unambiguous and immediately tells an agent what the tool does.
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: it is for preparing updates (not creating) and explicitly states no change is applied, which signals that a subsequent confirm step is required. It doesn't explicitly name alternative tools, but the 'prepare' prefix and the dry-run nature clearly differentiate it from confirm and create siblings. A more explicit exclusion (e.g., 'not for creation or confirmation') would make it perfect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_insights_overview_batchBInspect
Ledger-backed insights overview for up to 20 scopes. Use server summaries instead of summing visible rows.
| Name | Required | Description | Default |
|---|---|---|---|
| scopes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses a key trait: the response includes both visible rows and authoritative server summaries, and the latter should be trusted. But it doesn't mention whether the operation is read-only, any pagination limits, or what happens when scopes exceed 20, leaving many behavioral aspects undisclosed.
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 fluff. The primary purpose is front-loaded, and the critical usage hint about server summaries is placed immediately after. 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?
The schema is complex with many optional parameters, enums, defaults, and nested objects, yet the description explains none of them. There is no output schema, no annotation, and no guidance on return format, permissions, or error cases. The description is far from sufficient for an agent to correctly invoke this 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 description adds no meaning to any of the schema parameters. It only refers to 'scopes' generically without explaining the nested object structure, the meaning of group_by, view_mode, date_from/to, or any defaults. With schema description coverage at 0%, the description fails to compensate, leaving the agent to guess at 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 it provides a 'ledger-backed insights overview' for up to 20 scopes, which identifies the verb and resource. The batch nature is implied by the name and the scope limit, but it doesn't explicitly contrast with sibling tools like google_ads_insights_overview_query, so it's clear but not fully differentiated.
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?
It gives one concrete usage instruction: 'Use server summaries instead of summing visible rows.' This tells the agent how to interpret the results. However, it doesn't state when to choose this batch tool over the single-scope alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_insights_overview_queryCInspect
Ledger-backed insights overview for one scope. Defaults to 20 visible rows; summary/total covers the full filtered scope.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| search | No | ||
| date_to | No | ||
| group_by | No | ||
| sort_dir | No | ||
| sort_key | No | ||
| date_from | No | ||
| page_size | No | ||
| view_mode | No | ||
| consistency | No | cached | |
| customer_id | No | 10-digit Google Ads customer id. | |
| window_days | No | ||
| channel_type | No | ||
| status_filter | No | ||
| query_contract_version | No | ||
| require_complete_range | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is ledger-backed, defaults to 20 visible rows, and that summary/total covers the full filtered scope. However, it does not state whether the operation is read-only, any rate limits, authentication needs, or clarify 'ledger-backed'.
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 sentences and no filler. The core purpose is front-loaded, and every word contributes value. This is ideal conciseness, even if the content is sparse.
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 16 parameters, no output schema, and no annotations, the description is far too sparse. It fails to specify what inputs are needed for a valid query, what the results look like, or how to control grouping, dates, and filtering. An agent could not use this tool correctly based on this alone.
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 only 6%, so the description must compensate for the undocumented parameters. It does not explain any of the 16 parameters, such as group_by, sort_key, date_from, date_to, search, or filters. 'One scope' offers only a vague hint and does not map to customer_id or other 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 identifies the tool as a ledger-backed insights overview for one scope and mentions default row limits and summary coverage. This is a clear purpose statement, but it does not explicitly distinguish it from sibling query tools like google_ads_insights_query_daily or google_ads_insights_overview_batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as google_ads_insights_query_daily or google_ads_insights_overview_batch. It does not state the intended use case (e.g., high-level overview vs granular daily data) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_insights_query_dailyAInspect
Bounded daily spend for one enabled non-manager customer (ledger by default, narrow default window). Manager/closed/canceled accounts return a skip reason instead of metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Read source; defaults to the Supabase ledger. 'live' sweeps the API. | |
| date_to | No | ISO date (YYYY-MM-DD). Optional. | |
| date_from | No | ISO date (YYYY-MM-DD). Optional; defaults to a narrow recent window. | |
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden and does well: it reveals the ledger default, the narrow default date window, and the skip-reason behavior for manager/closed/canceled accounts instead of metrics. It does not mention read-only status or output formatting, but it adds meaningful behavioral context beyond the schema.
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 filler; the core purpose and key constraints are front-loaded. Every clause carries useful selection and invocation 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 query tool with no output schema, the description explains the essential outcomes: metrics for valid customers and skip reasons for invalid ones. It covers defaults and eligibility constraints well, though it stops short of detailing the exact metrics response shape or how skip reasons are surfaced.
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 value by clarifying the default for source ('ledger by default') and the default window behavior for date_from ('narrow default window'), which are not fully explicit in the schema property 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 identifies the tool's resource and scope: daily spend for a single enabled non-manager customer, with ledger default and a narrow default window. It also distinguishes this tool from siblings by contrasting it with manager/closed/canceled accounts that yield skip reasons rather than metrics. It lacks an explicit finite verb like 'query' or 'return', but the tool name and content make the purpose 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 the agent needs bounded daily spend for one enabled non-manager customer. It explains what happens for unsupported account statuses, but it does not explicitly name alternatives or state when not to use this tool versus siblings like google_ads_insights_overview_query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_keyword_create_confirmCInspect
Confirm a keyword-create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects itself, but 'Confirm' is too vague to convey that this likely executes a mutation or whether it is idempotent/reversible. It also says nothing about required permissions, returned receipts, or failure 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?
The one-sentence description is compact and front-loaded, with no wasted words. However, the brevity borders on under-specification, so it earns a middle score rather than a high one.
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 annotations and no output schema, the description is too sparse to give an agent the full picture: it does not mention the prepare/confirm workflow, what the confirm action returns, or any side effects. Completeness is insufficient even though the parameter list is simple.
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 documents customer_id as a 10-digit ID but leaves draft_id as a bare string, and the description does not explain how to obtain or identify draft_id or how it relates to the prepare step. At 50% schema coverage and no additional parameter detail, the description adds little semantic value 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?
The description names a specific action ('Confirm') and a specific resource ('a keyword-create draft'), and the word 'draft' signals this is the confirmation step of a two-phase create flow. It distinguishes the tool from the prepare variants. However, it does not state what confirming accomplishes (e.g., actually creating the keyword), so it stops short of a fully informative purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool instead of google_ads_keyword_create_prepare or other confirm tools. The only signal is the word 'draft,' which implies a prior prepare step, but no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_keyword_create_prepareCInspect
Prepare creating a paused keyword criterion.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| negative | No | ||
| match_type | No | ||
| ad_group_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states the result is a prepared but paused keyword, but doesn't clarify that the keyword is not yet created (only prepared), what the side effects are (e.g., it may stage data but not persist), or whether the confirm step is required. This is a mutation path but the description doesn't explain the preparation semantics.
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 is front-loaded with the core purpose. There is no fluff or repetition. It's minimal but 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?
Given the tool has 5 parameters and 20% schema coverage, no output schema, and no annotations, the description is woefully inadequate. It doesn't explain the prepare/confirm workflow, the meaning of key parameters, or what happens after calling this tool. An agent cannot call this correctly without external knowledge.
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?
With schema description coverage of only 20% (only customer_id has a description), the description must compensate, but it doesn't explain any parameters. It doesn't describe 'text' (the keyword text), 'negative' (whether it's a negative keyword), or 'match_type' (exact/phrase/broad). The description adds no parameter meaning 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 'Prepare creating a paused keyword criterion' clearly indicates the action (prepare creation) and the resource (keyword criterion), and specifies that the keyword will be paused. This distinguishes it from the confirm counterpart (google_ads_keyword_create_confirm) which presumably finalizes the creation, so the prep/confirm distinction is 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that this is a two-step process requiring a subsequent confirm step, nor does it explain the workflow context (e.g., you must call prepare before confirm). Given the many sibling tools, this is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_keyword_ideas_generateAInspect
Generate bounded Google Search keyword ideas with historical metrics for one owned customer. Read-only and hot-cached.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| limit | No | ||
| network | No | GOOGLE_SEARCH | |
| keywords | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| language_id | No | 1000 | |
| geo_target_ids | No |
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 discloses that the operation is read-only and hot-cached, and that results are 'bounded' (which maps to the limit parameter). It doesn't detail output shape, but the description does disclose key behavioral traits beyond the schema: hot-cached and bounded.
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 zero filler. The core function is front-loaded, and the behavioral notes (read-only, hot-cached) are useful 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?
The description is minimal but sufficient for a read-only generation tool with a clear resource and scope. It doesn't explain return shape or how to choose between url vs keywords seeds, but the schema makes both optional, and no output schema is provided. Some agents may need more guidance on how the parameters interact, but the description covers the essentials.
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 only 14%, so the description must compensate. Although it doesn't explain each of the 7 parameters, it does add meaning: 'bounded' implies the limit parameter, and the tool name plus description clarify that keywords/url are seed inputs for idea generation. The description's context helps interpret the sparse 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 states a specific verb ('generate'), a specific resource ('Google Search keyword ideas'), and clear scope ('for one owned customer'). It also notes the output includes historical metrics. This clearly distinguishes it from sibling tools like keyword_create_prepare/confirm, which are about creating keywords, and insights queries, which are about analytics.
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 says it is for one owned customer, which implies it is not for generating ideas for arbitrary/unowned customers. It does not explicitly name alternatives or exclusions, but the read-only nature and the specific resource make usage context clear. There is no explicit 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.
google_ads_mutation_receipt_getAInspect
Read a tenant/customer-bound lifecycle receipt for one native Google mutation draft. This never retries or changes Google Ads.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It explicitly states 'This never retries or changes Google Ads,' which is a valuable non-mutation guarantee. It also indicates the receipt is tenant/customer-bound. It does not discuss error behavior or whether receipts expire, but the read-only assertion is strong and clear.
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, front-loading the core action and resource in the first sentence and adding the key non-mutation behavior in the second. Every word earns its place, with no redundant filler.
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 read operation with only two parameters and no output schema, the description covers the essential purpose and safety profile. It could be slightly more complete by explaining what a lifecycle receipt contains or how it relates to prepare/confirm flows, but the agent has enough to select and invoke the tool correctly in most cases.
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 covers customer_id with '10-digit Google Ads customer id,' but draft_id has no description. The tool description indirectly clarifies that draft_id refers to a native Google mutation draft, adding some domain context. However, it does not explain how to obtain draft_id or any format/lifecycle details, leaving a partial gap at 50% schema coverage.
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 a specific action ('Read') and a specific resource ('tenant/customer-bound lifecycle receipt for one native Google mutation draft'). It also explicitly distinguishes itself from mutation/retry tools by saying it never retries or changes Google Ads, which separates it from siblings like google_ads_mutation_reconcile.
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 makes clear this is for reading a receipt for a single mutation draft and that it does not retry or change anything. However, it does not explicitly name alternative tools or state when to prefer this over related tools such as google_ads_mutation_reconcile or task_get. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_mutation_reconcileAInspect
Run one exact read-only Google resource check for a confirmed or uncertain native mutation. It never re-submits the write; unsupported or ambiguous readback requires operator review.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 discloses that the tool is read-only, that it never re-submits writes, and that unsupported or ambiguous readback requires operator review. This is meaningful behavioral context beyond the schema. It could add more detail about what 'readback' means or what happens on failure, but the core safety and limitation traits are clearly disclosed.
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. The first sentence states the core action and scope; the second adds the critical safety limitation. Every word earns its place, and the most important behavioral trait (read-only, no re-submission) is 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 2-parameter tool with no output schema, the description is largely complete: it explains the purpose, the safety profile, and the limitation. The main gap is that draft_id is not explained, and the description does not describe what a successful or failed reconciliation looks like. However, given the tool's narrow scope and the absence of an output schema, the description is close to 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 50%: customer_id has a description, draft_id does not. The description does not explain what draft_id refers to or how it relates to a mutation. Since the tool is about reconciling a mutation, draft_id is likely a draft mutation identifier, but that is left to inference. The description adds some context about the tool's purpose but does not compensate for the undocumented draft_id parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Run one exact read-only Google resource check'), a clear resource ('Google resource'), and its purpose ('for a confirmed or uncertain native mutation'). It also distinguishes itself from mutation tools by explicitly saying it never re-submits the write, which differentiates it from the many *_confirm siblings.
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 clearly indicates when to use it: after a confirmed or uncertain native mutation, to verify the resource state. It also states what it does not do ('never re-submits the write') and that unsupported or ambiguous readback requires operator review, which implies when NOT to rely on it. It does not explicitly name alternative tools, but the context of the sibling list and the phrase 'requires operator review' gives practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_pmax_create_confirmCInspect
Confirm one reviewed Performance Max creation draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 only states the action verb and resource, with no mention of side effects, permission requirements, irreversibility, or what happens after confirmation. This is a critical gap for a mutation-style 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?
The description is extremely brief, almost to the point of under-specification. It is not 'appropriately sized' – it omits essential information. Conciseness should not come at the cost of usefulness.
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 output schema, annotations, and parameter details, the description is woefully incomplete. An agent cannot confidently call this tool without knowing what the draft_id refers to, what the expected outcome is, or any prerequisites. It fails to provide a complete picture.
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 no meaning to the parameters. The schema covers customer_id (10-digit ID) but draft_id is completely undocumented. The tool description does not explain what draft_id represents or how to obtain it, leaving the agent without necessary context at 50% schema coverage.
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 a specific action ('Confirm') and a specific resource ('one reviewed Performance Max creation draft'), which distinguishes it from the prepare counterpart and other confirm tools. However, it lacks any detail about what 'confirm' entails beyond the verb itself.
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. The name implies a confirm-after-prepare flow, but the description does not explicitly state that it should follow google_ads_pmax_create_prepare or mention any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_pmax_create_prepareBInspect
Prepare one atomic, paused standard Performance Max campaign using existing account image assets.
| Name | Required | Description | Default |
|---|---|---|---|
| headlines | Yes | ||
| final_urls | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| logo_assets | Yes | ||
| target_roas | No | ||
| descriptions | Yes | ||
| budget_micros | Yes | ||
| business_name | Yes | ||
| campaign_name | Yes | ||
| long_headlines | Yes | ||
| asset_group_name | Yes | ||
| bidding_strategy | Yes | ||
| target_cpa_micros | No | ||
| marketing_image_assets | Yes | ||
| square_marketing_image_assets | Yes | ||
| contains_eu_political_advertising | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds useful behavioral context by stating the campaign will be 'paused' and 'atomic,' and clarifies that assets must already exist in the account. However, it does not explain what 'prepare' actually does under the hood, whether it mutates state, or what happens after preparation.
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, tightly written sentence. Every phrase adds value: the action, the campaign type, the paused status, the atomic nature, and the asset source constraint. There is 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 16 parameters with high complexity, no output schema, and no annotations, this one-sentence description is insufficient. It omits what the preparation involves, what the output or receipt will be, whether this is reversible, and what the next required step is. It covers the basic purpose but leaves significant operational details unaddressed.
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 only 6%, so the description must compensate, but it explains almost nothing about the 16 parameters. The phrase 'using existing account image assets' hints at the asset parameters, and names like budget_micros and bidding_strategy are self-explanatory, but the description does not clarify required parameter relationships, units, or combined usage.
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 ('Prepare') and clearly identifies the resource ('one atomic, paused standard Performance Max campaign') and the key constraint ('using existing account image assets'). It distinguishes the tool from the confirm counterpart by emphasizing prepare semantics, though it does not explicitly contrast it with google_ads_pmax_create_confirm.
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 gives no explicit guidance about when to use this tool versus its siblings, such as why an agent should choose this over google_ads_pmax_create_confirm or google_ads_campaign_create_prepare. The 'prepare' naming implies a workflow stage but no conditions, alternatives, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_product_card_deleteCInspect
Delete AdsAgent-owned product-card metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| card_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits. It only states the action without mentioning side effects, irreversibility, required permissions, or whether a mutation receipt is generated. For a destructive operation, this is a significant omission.
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 with no filler. However, its brevity is excessive given the lack of essential context; it is efficient but not sufficiently 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?
For a delete operation with no annotations and no output schema, the description is drastically incomplete. It does not explain expected behavior, return values, or how deletion relates to other tools like google_ads_mutation_receipt_get. An agent cannot confidently invoke this tool without additional assumptions.
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 elaborate on 'card_id'. The agent knows it is a string but not its format, scope, or how to obtain valid values. The description adds no value beyond the parameter name.
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 ('AdsAgent-owned product-card metadata'). It distinguishes from siblings like google_ads_product_card_save and google_ads_product_card_update, which involve creation and modification, making the purpose 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, confirmation workflows, or scenarios where deletion is appropriate. The agent is left to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_product_card_saveDInspect
Save AdsAgent-owned product-card metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| merge_keys | No | ||
| description | No | ||
| product_key | Yes | ||
| display_name | Yes | ||
| funnel_events | No | ||
| decision_rules | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only says 'save' without explaining side effects, idempotency, whether it overwrites existing data, or any permission requirements. This is a significant gap 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?
The description is extremely short, which is under-specification rather than conciseness. It lacks essential information and does not front-load any key usage 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 six parameters, no parameter descriptions, no output schema, and no annotations, the description is wholly inadequate for an agent to use this tool correctly. It provides almost no operational 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?
Schema coverage is 0%, so the description must compensate by explaining parameters. It mentions none of the six parameters, leaving the agent to guess the meaning of product_key, display_name, merge_keys, funnel_events, and decision_rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (save) and resource (product-card metadata), but it is ambiguous whether this creates or updates, and it does not differentiate from the sibling google_ads_product_card_update. The meaning of 'AdsAgent-owned' is unclear and adds no 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 is provided on when to use this tool versus the sibling update or create tools. There is no context, no exclusions, and no mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_product_cards_listAInspect
List ledger-backed Google product cards for a date window.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | ||
| date_from | Yes | ||
| customer_id | No | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'List' conveys that this is a read operation and 'ledger-backed' hints at the data source, but it does not mention pagination, response shape, permissions, or whether output is limited or ordered. This is adequate but not rich.
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 no filler. Every word contributes meaning, and the key scope ('ledger-backed', 'date window') appears upfront.
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 two undocumented required date parameters, no output schema, and no mention of customer_id behavior, the description is not complete enough for an agent to call this with confidence. It leaves date format, optional account scoping, and response expectations unspecified.
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 only 33% because date_from and date_to have no descriptions. The description only adds a generic 'date window' phrase and does not explain date format, how customer_id relates to the result, or any parameter edge cases. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a precise resource ('ledger-backed Google product cards'), and a clear scope ('for a date window'). This makes it immediately distinguishable from mutation siblings like google_ads_product_card_delete/save/update and from other list tools.
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 phrase 'for a date window' provides clear context about when this tool applies, and the 'List' operation implies a read-only retrieval role among the product-card siblings. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_product_card_updateCInspect
Update AdsAgent-owned product-card metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| card_id | Yes | ||
| merge_keys | No | ||
| description | No | ||
| display_name | No | ||
| funnel_events | No | ||
| decision_rules | No |
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 only says 'Update' which implies mutation, but it does not disclose whether the update is partial or full replacement, whether merge_keys controls merging behavior, what happens to unspecified fields, or any side effects. This is a significant gap 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?
The description is a single short sentence, which is concise, but it is under-specified. It front-loads the verb and resource but omits essential context about the update semantics. It earns a 3 because it is not verbose, but it sacrifices necessary information for brevity.
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 6 parameters, no output schema, and no annotations, the description is incomplete. An agent cannot determine how to correctly invoke the update, what the merge_keys parameter does, or what the expected result is. The sibling tools suggest a prepare/confirm pattern, but this tool does not follow that pattern, and the description does not clarify its place in the workflow.
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 compensate, but it only mentions 'metadata' generically. It does not explain the meaning of merge_keys, funnel_events, decision_rules, or how they relate to the update. The parameter names are somewhat self-explanatory, but the critical merge_keys behavior is left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Update') and resource ('AdsAgent-owned product-card metadata'), which clearly identifies the tool's function. It distinguishes from siblings like google_ads_product_card_delete and google_ads_product_card_save by focusing on updating metadata, though it doesn't explicitly contrast with them.
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 like google_ads_product_card_save or google_ads_entity_update_confirm. The description implies usage for updating product-card metadata but does not state prerequisites, exclusions, or conditions that would help an agent choose it over similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_quick_create_confirmCInspect
Confirm a guided quick-create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 of behavioral disclosure. It only says 'Confirm' without indicating whether the action is destructive, requires specific permissions, or what side effects occur. This is a significant gap for a tool that likely finalizes a draft.
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 that clearly states the tool's purpose. It is appropriately brief for a simple confirmation action, though it could benefit from a bit more 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?
For a tool with two required parameters and no output schema, the description is incomplete. It does not explain the workflow context (e.g., that it confirms a draft created by a prepare tool), the expected state of the draft, or any side effects. An agent would struggle to know when and how to invoke 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 description does not explain either parameter. While the schema documents customer_id, draft_id has no description and the schema coverage is only 50%. The description adds no meaning to the parameters, leaving draft_id ambiguous and unsupported.
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 a specific action (confirm) on a specific resource (a guided quick-create draft). It distinguishes from sibling tools like google_ads_quick_create_prepare by using 'confirm' as the verb, making the tool's role in the prepare/confirm workflow evident.
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. It does not mention that it should follow a prepare step, nor does it reference any alternatives. The workflow context is entirely absent, leaving the agent to infer when confirmation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_quick_create_prepareCInspect
Prepare a guided paused Search setup: campaign budget, campaign, ad group, keywords, and RSA.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It reveals the setup will be 'paused' and lists components, but it does not disclose whether this is a mutation, what side effects occur, permission requirements, or the shape of the response. The word 'prepare' implies staging, but that is ambiguous.
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 single sentence is terse and free of fluff, with the component list front-loaded. However, it leans toward under-specification, sacrificing clarity for brevity, so it does not merit a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex multi-component body, no output schema, and no annotations, the description is far too sparse. An agent would struggle to construct a correct body payload or understand the prepare/confirm flow, especially with dozens of sibling 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?
Schema coverage is only 50% because the body parameter has no schema description. The description hints that the body likely contains budget, campaign, ad group, keywords, and RSA, but it never explicitly maps these to the body object or explains customer_id beyond the schema. This provides some value but does not compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Prepare') and resource ('guided paused Search setup') and enumerates the five component types (budget, campaign, ad group, keywords, RSA), which clearly identifies the scope. It is distinct from the confirm sibling and individual prepare tools, though it does not explicitly contrast with them, so it falls short of a 5.
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 the quick_create_confirm sibling or the individual prepare tools. The description neither names alternatives nor states conditions, leaving the agent to infer from the tool name that this is a staging step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_recommendation_apply_confirmCInspect
Confirm an apply-recommendation draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 of disclosing behavior. It only says 'Confirm', which suggests a mutating action but gives no details about what changes occur, whether it is reversible, or what the response is. This is a significant gap 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?
The description is a single, concise sentence with no filler or redundancy. It is not bloated, though it lacks any structural elements like contextual cues or examples. Every word earns its place, but it is minimal.
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 no annotations, no output schema, and a bare-bones description, the definition is very incomplete. It doesn't explain the confirm step's role in the prepare/confirm flow, what constitutes a draft, or what the agent should know before invoking it. An agent has to rely on the sibling naming pattern to guess usage.
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 no parameter information. The schema covers only customer_id with a description; draft_id is undocumented in both schema and description. There's no explanation of how draft_id is obtained or its relationship to the apply-recommendation flow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Confirm') and resource ('apply-recommendation draft'), which distinguishes it from sibling confirm tools like google_ads_recommendation_dismiss_confirm. However, it does not explain what a 'draft' is or what applying a recommendation entails, so it is clear but not fully elaborated.
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. It doesn't mention that it should be called after google_ads_recommendation_apply_prepare, nor does it contrast with the dismiss/confirm alternative. An agent must infer usage from the sibling naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_recommendation_apply_prepareCInspect
Prepare applying one Google Ads recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | 10-digit Google Ads customer id. | |
| recommendation_resource_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It does not disclose whether this operation is read-only or mutating, what side effects (if any) it has, or what permissions are required. The word 'prepare' suggests no direct mutation, but this is not stated, making it ambiguous.
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 one short sentence, but it is under-specified rather than concise. It provides no actionable detail, so it does not earn its place; it reads more like a placeholder than a helpful definition.
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 annotations, no output schema, and one undocumented parameter, the description is far from complete. It does not explain the purpose of the 'prepare' step, the expected return, or how it fits into the recommendation workflow, leaving the agent with insufficient information.
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 50%: customer_id has a description, but recommendation_resource_name does not, and the tool description adds no parameter-level detail. It fails to explain what recommendation_resource_name is, how to obtain it, or its format, leaving a significant gap 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?
The description states a clear verb-resource pair: 'Prepare applying' one recommendation, which distinguishes it from the confirm step (apply_confirm) and other recommendation actions like dismiss. It is unambiguous about the resource type, though it doesn't clarify what 'prepare' entails operationally.
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 the confirm step or the dismiss variants. It does not mention that it should be called before google_ads_recommendation_apply_confirm or that it is for previewing or dry-running, leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_recommendation_dismiss_confirmBInspect
Confirm a dismiss-recommendation draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Confirm' implies a mutating finalization, but the description does not explain consequences, idempotency, permissions, or what happens once the draft is confirmed.
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 with no filler, and the core action is front-loaded. It is appropriately brief for a simple two-parameter tool.
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 confirmation/mutation tool with no output schema and no annotations, this description is too minimal. It omits workflow context, expected result, and any prerequisite relationship between the draft and customer.
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 50%, with only customer_id documented. The description adds no parameter-level meaning and leaves draft_id entirely unexplained, so the agent must infer what a draft is and how it relates to customer_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (confirm) and a specific resource (a dismiss-recommendation draft), making the operation clear. It is specific enough to distinguish from the related dismiss_prepare and apply_confirm tools, though it does not explicitly contrast them.
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 phrase 'dismiss-recommendation draft' implies this tool is used after a draft has been prepared, but it does not explicitly say when to use it versus dismiss_prepare or apply_confirm. No exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_recommendation_dismiss_prepareCInspect
Prepare dismissing one Google Ads recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | 10-digit Google Ads customer id. | |
| recommendation_resource_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It only says 'prepare dismissing,' implying a non-destructive step, but it does not disclose side effects, prerequisites, or what the prepare step actually does. This is a significant gap for an agent.
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 fluff, which is good for conciseness. However, it is so sparse that it sacrifices essential information. It is concise but under-specified, so it doesn't fully earn 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?
This is a prepare step in a two-step workflow (prepare/confirm). The description does not mention the confirm counterpart, what the prepare step returns, or any workflow context. With no output schema, the agent has no idea what to expect, making this incomplete for a tool with two required parameters.
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 no parameter meaning beyond the schema. customer_id is already described, but recommendation_resource_name has no schema description and the tool description doesn't explain it. With 50% schema coverage, the description should compensate but does not.
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: preparing to dismiss a Google Ads recommendation. It is a specific verb+resource and distinguishes itself from the confirm counterpart by the 'prepare' suffix. However, it doesn't elaborate on what 'prepare' entails, so it's not fully explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention that it should precede the dismiss_confirm tool or any conditions for selection. An agent has to infer the workflow from the naming convention, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_recommendations_listCInspect
List Google Ads recommendations for one customer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| include_dismissed | No | ||
| recommendation_type | No |
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 of behavioral disclosure. It only says 'List... recommendations' and gives no information about pagination, default behavior, whether dismissed recommendations are included by default, or what the response looks like. The include_dismissed parameter hints at behavior but the description doesn't explain it.
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, short sentence with no wasted words. It is front-loaded with the verb and resource. However, it is so brief that it misses opportunities to add 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 list tool with 4 parameters, no output schema, and no annotations, the description is incomplete. It doesn't explain the meaning of limit, include_dismissed, or recommendation_type, nor does it describe the return format or default behavior. An agent would need to inspect the schema and guess at semantics.
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 only 25% (only customer_id has a description). The description adds no parameter-level meaning beyond the schema. With 4 parameters and 3 undocumented, the description should compensate but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('Google Ads recommendations') and scopes it to one customer. It is clear enough to distinguish from the many sibling tools, though it doesn't explicitly name a sibling alternative.
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 gives no guidance on when to use this tool versus alternatives like google_ads_recommendation_apply_prepare or google_ads_recommendation_dismiss_prepare. The 'for one customer' scope is a mild usage hint, but there is no when-to-use or 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.
google_ads_responsive_search_ad_create_confirmCInspect
Confirm an RSA-create draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 does not mention that this is a mutating operation (creating an ad), any authorization requirements, idempotency, or side effects. The single sentence gives no behavioral context beyond the verb.
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 short sentence, which is concise but under-specified. It lacks essential context about the operation, parameters, and workflow, so the brevity is not effective.
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 is a confirmation step in a two-step creation flow (prepare/confirm), but the description does not explain what a draft is, how to obtain it, or what happens after confirmation. With no output schema and no annotations, the agent lacks critical information to use the tool 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?
Schema description coverage is 50%: only customer_id is described in the schema, while draft_id is not. The description adds no parameter information, so it does not compensate for the missing schema description. An agent cannot infer what draft_id refers to from the 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 states a clear verb ('Confirm') and resource ('an RSA-create draft'), which distinguishes it from the sibling 'prepare' tool. However, it does not explain what confirmation entails (e.g., finalizing the ad creation), so it is not fully explicit about the action's effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list includes google_ads_responsive_search_ad_create_prepare, implying a two-step flow, but the description never mentions that it should follow a prepare step or any conditions for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_responsive_search_ad_create_prepareCInspect
Prepare creating a paused responsive search ad.
| Name | Required | Description | Default |
|---|---|---|---|
| headlines | Yes | ||
| final_urls | Yes | ||
| ad_group_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| descriptions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of disclosing side effects and progression. It only says 'prepare creating a paused responsive search ad'—it does not explain whether this validates inputs, creates a draft, mutates state, or returns a reference for confirmation. The word 'paused' hints at the ad's status but not the tool's 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?
The description is one short sentence, but this is under-specification rather than efficient conciseness. It front-loads nothing useful—the single sentence cannot earn its place because it repeats the essence of the tool name without adding context.
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 five required parameters, no output schema, and no annotations, this definition is grossly incomplete. The agent has no idea what the prepare step returns, what the 'confirm' companion does, whether a paused ad is immediately created, or what valid values for headlines/descriptions/final_urls look like.
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 no meaning to any of the five required parameters. Schema description coverage is only 20% (only customer_id is described), and the description does not compensate by explaining headlines, descriptions, final_urls, or ad_group_id. It provides zero semantic value 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?
The description states a verb ('prepare') and a resource ('creating a paused responsive search ad'), so it is not a pure tautology. However, 'prepare' is vague about what actually happens, and it does not differentiate the tool from the sibling 'google_ads_responsive_search_ad_create_confirm'—the agent must infer the prepare/confirm workflow from the name alone.
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 offers no guidance on when to use this tool versus its siblings (e.g., the confirm step, other create_prepare tools). There is no mention of the two-step workflow, prerequisites, or conditions that would route an agent here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_status_enable_confirmCInspect
Confirm an enable draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral weight. 'Confirm' implies committing a draft, but it does not say whether this applies a status change, whether it is reversible, whether it consumes/deletes the draft, or whether it returns a mutation receipt or task id.
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 short sentence with no filler, which is concise in isolation. But it is under-specified rather than efficiently structured: it lacks front-loaded context, prerequisites, or any supporting detail that would make the sentence 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?
For a two-parameter confirm tool with no annotations and no output schema, an agent needs at least a statement of the prerequisite step and likely effect. The description provides neither, leaving the entire prepare/confirm workflow implicit. An agent cannot tell what succeeds or fails from this text.
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?
customer_id is already documented in the schema, while draft_id has no schema description. The description adds only that the draft is an 'enable draft' and does not explain what it is, where it comes from, or how confirm uses it, so it fails to fill the 50% schema documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and resource ('Confirm an enable draft'), which distinguishes it from pause/prepare siblings at a high level. However, it never says what an 'enable draft' is or what entity/status the confirmation acts on, so the purpose remains only partially 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?
The description gives no guidance on when to call this tool instead of google_ads_status_enable_prepare or google_ads_status_pause_confirm. The prerequisite that a draft must already exist from a prepare step is only inferable from the sibling tool names, not from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_status_enable_prepareCInspect
Prepare enabling a campaign, ad group, or ad.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | ||
| ad_group_id | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| entity_level | Yes |
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 of behavioral disclosure. 'Prepare enabling' implies a mutation or state change, but the description does not disclose what the preparation does (e.g., validate, stage, create a task), whether it is reversible, what side effects occur, or what the response contains. The tool name suggests a two-phase commit pattern, but the description does not explain the 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?
The description is extremely short (one sentence), which is concise, but it is under-specified rather than efficiently informative. It front-loads the verb and resource but omits essential workflow and parameter context. A single sentence can earn a higher score only if it packs in the necessary distinctions and usage guidance.
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 complexity (a prepare step in a two-phase enable flow, with 4 parameters and no output schema), the description is incomplete. It does not explain the prepare/confirm workflow, the meaning of entity_level, the relationship between entity_id and ad_group_id, or what the agent should do after calling this tool. The sibling list shows a clear pattern, but the description itself leaves too much to inference.
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 only 25% (only customer_id has a description). The description adds no parameter-level meaning beyond the schema. The entity_level parameter is undocumented and has no enum, so an agent cannot know what values are valid (e.g., 'campaign', 'ad_group', 'ad'). The entity_id and ad_group_id parameters are ambiguous: it is unclear when each is required or how they relate to entity_level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Prepare enabling') and resource ('a campaign, ad group, or ad'), which is clear enough to identify the tool's basic purpose. However, it does not distinguish this from the many sibling prepare/confirm pairs, and the phrase 'Prepare enabling' is somewhat vague about what preparation entails.
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. The sibling list includes google_ads_status_enable_confirm and google_ads_status_pause_prepare, but the description does not mention that this tool is the first step in a two-step enable flow or that it should be followed by the confirm tool. An agent would have to infer the workflow from the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_status_pause_confirmDInspect
Confirm a pause draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only says 'confirm', which implies a finalization action without describing side effects, prerequisites, reversibility, or required permissions. Completely inadequate.
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 short and front-loaded, but it is under-specified rather than concise. It lacks necessary context and structure, so it fails to earn 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?
This is a mutation-like confirm action with no annotations, no output schema, and minimal parameter documentation. It does not mention success/failure behavior, what happens on confirmation, or any follow-up steps. The definition is incomplete 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 only 50% (customer_id has a description, draft_id does not). The description adds nothing about either parameter, so it does not compensate for the gap. The agent is left guessing what draft_id refers to.
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 'Confirm a pause draft' states a verb and resource but is vague: it does not explain what a pause draft is, what confirming entails, or how it relates to the prepare tool. It is distinguishable from siblings only by name, not description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It does not mention that it should follow a prepare call, nor does it explain the context of pausing. An agent has no way to know the correct workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_status_pause_prepareCInspect
Prepare pausing a campaign, ad group, or ad.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | ||
| ad_group_id | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| entity_level | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Prepare pausing,' which gives no information about whether the tool mutates state, what it returns, whether it requires confirmation, or any side effects. There is no mention of permissions or reversibility. This is insufficient for an agent to know what to expect.
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—one sentence with no filler. However, it is under-specified, providing only a bare purpose statement. It is front-loaded but lacks necessary details. It earns a moderate score for being concise but not for completeness.
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 four parameters, no annotations, and no output schema, this description is grossly incomplete. It doesn't explain the purpose of 'prepare' (e.g., validation, staging), how to map entity_level to campaign/ad group/ad, what the output looks like, or how it connects to the confirm step. An agent cannot reliably use this tool based on the description alone.
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 no information about the parameters. The schema has only customer_id described (25% coverage), and the description does not clarify entity_level or entity_id, nor does it explain the optional ad_group_id. The tool is for pausing campaign, ad group, or ad, so entity_level likely indicates which, but this is not stated. The agent is left to guess parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action: 'Prepare pausing a campaign, ad group, or ad.' It names the specific verb (prepare) and the resource (campaign, ad group, or ad), and the 'pausing' distinguishes it from enable or other status tools. However, it doesn't explicitly mention the confirm counterpart, but the name and description are sufficient to understand its role.
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 its siblings. It does not mention that this is the preparation step before google_ads_status_pause_confirm, nor does it specify when to use pause versus enable. An agent would have to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_task_getAInspect
Get one task by the opaque task_ref returned by google_ads_tasks_list.
| Name | Required | Description | Default |
|---|---|---|---|
| task_ref | Yes |
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 the operation is a 'Get', implying read-only behavior, and adds the note that the task_ref is 'opaque', which is useful. However, it doesn't mention return format, permissions, or idempotency. For a simple get tool, this is adequate but not rich.
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 that conveys the action and the source of the parameter without any fluff. 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?
For a tool with one parameter and no output schema, the description is nearly complete. It tells what it does and where to get the parameter. It doesn't explicitly describe the return structure, but 'Get one task' implies the task object, and the reference to google_ads_tasks_list likely establishes the structure. Minor gap, but acceptable for a simple get.
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?
With 0% schema description coverage, the description compensates by explaining that task_ref is the opaque reference returned by google_ads_tasks_list. This tells the agent exactly where the value comes from and that it should not be modified or interpreted. This is essential context beyond the bare type string.
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' and the resource 'task', and specifies that the task is identified by the task_ref from google_ads_tasks_list. This distinguishes it from listing tools and status tools, making the purpose 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?
It explicitly states the parameter comes from google_ads_tasks_list, implying when to use this tool: after listing tasks and when you need a specific task's details. It doesn't explicitly exclude alternatives like tasks_get_status, but the context is clear enough for an agent to infer the appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_tasks_listCInspect
List recent Google AdsAgent task history using opaque task references.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
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 only states that it lists recent history but does not mention whether it is read-only (though implied), what the response contains, pagination behavior, or any side effects. The term 'opaque task references' is undefined, leaving the agent guessing about the output format and its usability.
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, direct sentence with no fluff. It front-loads the core purpose and introduces a key term. While it is minimal, it is efficient and appropriately sized for a simple list operation, avoiding unnecessary verbosity.
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 is simple (one optional param, no output schema, no annotations), but the description leaves critical gaps: it does not explain what 'opaque task references' are, how the output should be used with other tools (e.g., google_ads_task_get), or whether the limit controls pagination. An agent cannot fully understand the tool's role in the workflow without additional 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 coverage is 0% (no descriptions in the input schema), and the tool description does not mention the 'limit' parameter at all. The agent must infer its meaning solely from the schema's default and bounds, which is insufficient for a tool with one parameter that lacks any description. The description fails to compensate for the schema gap.
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 (recent Google AdsAgent task history). It also introduces the key concept of 'opaque task references', which hints at the output nature. However, it does not explicitly differentiate from sibling tools like google_ads_task_get or tasks_get_status, which could also relate to task history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, filters, or exclusions. An agent would not know if this is the right tool for retrieving a specific task or checking status, given siblings like google_ads_task_get and tasks_get_status exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_template_deleteCInspect
Delete a reusable Google ad template.
| Name | Required | Description | Default |
|---|---|---|---|
| template_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states 'Delete' without mentioning whether the operation is irreversible, what side effects occur on associated campaigns, or whether any confirmation or permission is needed. This is minimal coverage for 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?
The description is one short, front-loaded sentence with no filler words. It efficiently communicates the action and target 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 deletion tool, the description is minimally usable: an agent knows the target and action. However, it lacks consequences, prerequisites, and any hint of reversibility, and with no output schema or annotations, this absence is not covered elsewhere.
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 0% description coverage, and the description does not explain template_id at all. Although the parameter name is reasonably self-explanatory, the description adds no semantic value about where the ID comes from, its format, or how to obtain it from tools like google_ads_templates_list.
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 ('reusable Google ad template'), making the tool's purpose obvious. It is distinguishable from siblings like google_ads_template_update and google_ads_template_save by the verb, though it does not explicitly name those alternatives.
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 about when to use this tool versus alternatives, whether deletion is appropriate in certain states, or what conditions make a template deletable. The agent is left to infer usage solely from the tool name and the word 'Delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_template_reverse_engineerCInspect
Read one owned responsive search ad and return an unsaved normalized template preview plus a source fingerprint.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| ad_id | Yes | ||
| ad_group_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
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 operation is a read ('Read one owned responsive search ad') and that the output is 'unsaved' and 'normalized', which implies no mutation. However, it does not state whether the ad must be owned by the authenticated account, what 'normalized' means, whether the source fingerprint is a hash or identifier, or any side effects. The term 'owned' is a constraint but not elaborated.
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, concise and front-loaded with the verb 'Read'. It packs the key output details ('unsaved normalized template preview', 'source fingerprint') without waste. It could be slightly more structured but is appropriately sized.
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 low parameter coverage, the description is incomplete. An agent does not know what a 'normalized template preview' looks like, what a 'source fingerprint' is, whether the operation requires specific permissions, or what the response structure is. The tool name suggests reverse engineering, but the description leaves too much to inference.
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 only 25% (only customer_id has a description). The description does not explain the parameters ad_id, ad_group_id, or name. It mentions 'one owned responsive search ad' which implies ad_id identifies the ad, but it does not clarify the role of ad_group_id or name. With low schema coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read'), a resource ('one owned responsive search ad'), and the output ('unsaved normalized template preview plus a source fingerprint'). It is clear about what the tool does, though it does not explicitly differentiate from siblings like google_ads_templates_list or google_ads_responsive_search_ad_create_prepare. The phrase 'unsaved normalized template preview' hints at a read/preview operation, which helps distinguish it from create/confirm tools.
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: it reads an existing ad and returns a template preview, so it is likely used before saving a template or creating a new ad from an existing one. However, it does not explicitly state when to use this tool versus alternatives like google_ads_template_save, google_ads_templates_list, or google_ads_responsive_search_ad_create_prepare. No exclusions or alternative conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_template_saveCInspect
Save a reusable Google responsive search ad template.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| payload | No | ||
| template_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'Save,' which implies a mutation, but it does not state whether the save is an insert, an upsert, whether it requires existing context, what happens to previous templates, or what response or task flow follows.
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 short and front-loaded, but it is under-specified rather than appropriately concise. For a tool with three parameters and a nested payload object, a single sentence that adds no parameter or usage detail is not enough.
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 no annotations, no output schema, 0% schema description coverage, and no explanation of payload or template_type, the description is far from complete. An agent would not have enough information to construct a valid request or understand the tool's side effects.
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%, and the description adds no meaning to any of the three parameters. In particular, 'payload' and 'template_type' remain completely ambiguous despite being central to calling the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Save') and a specific resource ('reusable Google responsive search ad template'), so an agent can tell roughly what the tool does. However, it does not explicitly distinguish 'save' from the sibling 'template_update' or clarify whether save creates anew or overwrites.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as template_update, templates_list, or template_delete. The description only names the action without explaining when it is appropriate or inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_templates_listAInspect
List saved reusable Google ad templates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states the action and resource but does not explicitly confirm the operation is read-only, clarify whether it returns all templates or scoped to an account, or mention pagination/limits. These are meaningful gaps for a tool with no annotation support.
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 filler words, front-loading the action and object. Every word contributes to the meaning, making it appropriately concise and well-structured.
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 low complexity (0 params, no output schema), the description is adequate but leaves out what the response contains (e.g., template IDs, names, or structure). Since no output schema exists to fill that gap, the description is not fully complete for an agent to interpret the results.
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 properties, so there are no parameters to document. The description correctly adds no parameter details, and the baseline of 4 for a zero-parameter tool 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 uses a specific verb ('List') and a specific resource ('saved reusable Google ad templates'), clearly identifying the action and object. It distinguishes itself from sibling template tools like google_ads_template_save/update/delete/reverse_engineer and other list tools by explicitly naming 'templates'.
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 its alternatives. It does not mention any prerequisites, context, or why an agent should call it, leaving the usage decision entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_template_updateCInspect
Update a reusable Google ad template.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| payload | No | ||
| template_id | Yes | ||
| template_type | No |
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 only implies mutation via 'Update' but does not disclose whether updates are partial or full replacement, whether template_type is changeable, what happens to the existing template, or any permission/idempotency concerns. This is a significant gap 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?
The single sentence is efficiently front-loaded and free of filler, but this is under-specification rather than disciplined conciseness. The brevity comes at the cost of omitting parameter and usage context that an agent needs.
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 4 parameters, a nested free-form payload, no annotations, and no output schema, the description is grossly inadequate. It does not explain what payload should contain, how template_type constrains the update, or what a successful update returns, leaving an agent unable to invoke the tool 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?
Schema description coverage is 0% and the description adds no meaning to any of the 4 parameters. Notably, the 'payload' object (additionalProperties: true) is completely unexplained, and the relationship between name, template_id, and template_type is not clarified. The description must compensate for the empty schema descriptions and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Update') and resource ('reusable Google ad template'), making the core action clear. However, it does not distinguish this from the sibling google_ads_template_save, which could also cover saving/updating templates, so differentiation from that sibling is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus google_ads_template_save or google_ads_template_reverse_engineer, and no mention that it requires an existing template_id. An agent must guess whether this is the right tool compared to the save/update alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_upload_confirmAInspect
Confirm a reviewed video upload draft. The exact prepared HTTPS URL must be supplied again; it is fetched once and never persisted.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| source_url | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It usefully discloses that the URL is fetched once and never persisted, which is non-obvious and valuable. However, it does not clarify whether confirming triggers an irreversible upload, what side effects occur, or what the tool returns.
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 core purpose is front-loaded, and the critical caveat about the exact URL being fetched once and never persisted 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?
The description is adequate for a simple three-parameter confirm action, but it omits the return/result behavior and does not explicitly connect to the prepare workflow. Given no output schema and many sibling confirm/prepare pairs, an agent would benefit from knowing what happens after confirmation.
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 only 33%, so the description must compensate. It adds meaningful semantics for source_url ('exact prepared HTTPS URL must be supplied again; fetched once and never persisted') and gives context to draft_id via 'video upload draft'. Still, draft_id and the relationship between the three parameters remain largely implicit.
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 ('Confirm') and the resource ('a reviewed video upload draft'), which distinguishes it from discovery or removal tools. It does not explicitly name a sibling such as video_upload_prepare or asset_upload_confirm, so differentiation is not quite as sharp as a full 5.
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 gives clear context: the tool is used after a draft has been reviewed and prepared, and the exact prepared URL must be supplied again. It does not explicitly list when not to use it or name alternatives, but the reviewed/prepared framing strongly signals the intended workflow phase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_upload_prepareCInspect
Prepare one bounded HTTPS video upload without fetching bytes or persisting the signed source URL.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | No | ||
| source_url | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. | |
| video_title | Yes | ||
| video_privacy | Yes | ||
| video_description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses two important behavioral exclusions: it does not fetch bytes and does not persist the signed source URL. With no annotations provided, this is useful context, but it does not say what the prepare step actually does, what side effects it may have, or what the agent can expect in return.
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 no filler words. It conveys the primary purpose and two boundary constraints efficiently, though 'bounded' is terse and somewhat ambiguous.
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 six parameters, the description omits important context: what the prepare step returns, how it relates to google_ads_video_upload_confirm, prerequisites, and any side effects. The two exclusions help, but they do not fully specify the behavior for a two-phase upload workflow.
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 only 17%, so the description must compensate, but it does not explain the meanings of channel_id, video_title, video_description, video_privacy, or customer_id. The only parameter-related hint is that the upload is HTTPS, which loosely maps to source_url but adds little beyond the schema's uri format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('prepare') and a specific resource ('one bounded HTTPS video upload'), and adds exclusions ('without fetching bytes or persisting the signed source URL') that distinguish it from an actual upload/confirm step. However, 'bounded' is not explained and sibling differentiation relies mostly on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool instead of alternatives such as google_ads_video_upload_confirm or google_ads_video_upload_status. The workflow position is only implied by the word 'Prepare' and the sibling pattern, leaving the agent to infer the intended sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_upload_remove_confirmCInspect
Confirm one reviewed direct video removal draft.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Confirm' implies a mutation (finalizing removal), but the description does not disclose side effects, irreversibility, permissions required, or any other behavioral traits. It is minimal and leaves the agent guessing about the consequences of calling it.
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, focused sentence with no fluff or redundancy. It is front-loaded with the core action. However, its brevity borders on under-specification, so it earns a 4 rather than a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the description is inadequate given the lack of annotations and output schema. It doesn't explain the purpose of the confirmation step, the relationship to the prepare tool, or the meaning of draft_id. An agent would need external knowledge to call this 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?
Schema coverage is only 50% (customer_id is described, draft_id is not). The description adds no information about either parameter, so it fails to compensate for the undocumented draft_id. An agent is left without clarity on what draft_id refers to or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Confirm') and a specific resource ('one reviewed direct video removal draft'), which clearly distinguishes it from the prepare counterpart and other video upload confirm tools. It is not a tautology and gives a reasonable sense of what the tool does, though it could be more explicit that this executes the removal.
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. It doesn't mention that it should be called after google_ads_video_upload_remove_prepare or that it's the final step in the removal workflow. The naming convention implies the pairing, but the description itself provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_upload_remove_prepareAInspect
Prepare permanent removal of one direct video upload. Does not remove until confirm.
| Name | Required | Description | Default |
|---|---|---|---|
| upload_ref | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly states the operation is non-destructive until a confirm step, which is valuable. However, it doesn't disclose what the prepare step actually returns (e.g., a mutation receipt or reference needed for confirm), nor any side effects or prerequisites.
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 key behavioral fact ('Does not remove until confirm') is front-loaded and 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?
For a two-parameter prepare tool with no output schema, the description is adequate but leaves gaps: it doesn't explain what the agent should do with the result of prepare, what upload_ref refers to, or how this relates to the confirm sibling. The prepare/confirm pattern is inferable from the name and sibling list, but not fully specified.
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%: customer_id has a description ('10-digit Google Ads customer id.'), but upload_ref has none. The description adds no parameter-level meaning beyond the schema, so it doesn't compensate for the undocumented upload_ref. Baseline 3 is appropriate since half the parameters are documented 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 states a specific verb ('prepare permanent removal') and resource ('one direct video upload'), and clarifies that it does not remove until confirm. This distinguishes it from the sibling google_ads_video_upload_remove_confirm, though it doesn't explicitly name that sibling.
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 a two-phase prepare/confirm workflow by saying 'Does not remove until confirm,' which tells the agent this is the preparation step. However, it doesn't explicitly state when to use this tool versus the confirm variant or other removal tools, leaving the routing partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_uploads_listAInspect
List recent direct video uploads for one owned customer using opaque upload_ref values.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral disclosure. It conveys read-only intent (List), scoping to an owned customer, and opaque upload_ref values, but it omits authentication needs, rate limits, and pagination behavior beyond the limit parameter.
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, direct sentence with no fluff. The action is front-loaded and every word contributes to meaning.
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, the description is adequate but incomplete. It lacks explicit usage differentiation from sibling tools and does not explain the output format or the significance of opaque upload_ref values. With no output schema, more context would improve 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 only 50% (customer_id described, limit not). The description adds no parameter detail, failing to compensate for the uncovered limit parameter or clarify the meaning of 'opaque upload_ref values'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (List), a resource (direct video uploads), a scope (one owned customer), and a key trait (opaque upload_ref values). This clearly distinguishes it from siblings like upload, status, and remove tools.
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 this tool is for listing uploads, but it does not explicitly mention when to use it instead of related tools like google_ads_video_upload_status or google_ads_assets_list. No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_video_upload_statusCInspect
Refresh one recent direct video upload by tenant-bound opaque upload_ref.
| Name | Required | Description | Default |
|---|---|---|---|
| upload_ref | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description bears the full burden of behavioral disclosure. It does not state whether 'refresh' is a read-only status check, whether it mutates anything, what happens for stale or unknown upload references, or what response the agent should expect. The qualifiers 'recent' and 'tenant-bound' add some constraint context but not enough.
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 focused sentence, front-loads the action, and contains no filler or redundant restatement of the tool name.
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 annotations and no output schema, the description leaves out important operational details: the expected return value, when to poll, prerequisites, and error behavior. It is sufficient only for an agent already familiar with the upload_ref lifecycle.
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 only 50%; customer_id is documented in the schema, but upload_ref is not. The description adds useful context by calling upload_ref 'tenant-bound' and 'opaque', but it does not explain where upload_ref comes from, its expected format, or how it relates to the upload lifecycle.
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 ('Refresh') and resource ('recent direct video upload'), and identifies the key input (tenant-bound opaque upload_ref). It clearly states what the tool does, though it does not explicitly contrast itself with sibling tools like google_ads_video_uploads_list or google_ads_video_upload_confirm.
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 about when to use this tool, what precedes it (e.g., an upload confirm step), or why it should be chosen over the many sibling upload/status tools. The use case is only implied by the word 'status' in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_youtube_asset_confirmCInspect
Confirm creation of a Google Ads YouTube video asset reference.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| video_url | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior, but it only restates the mutation implied by the name. It does not say whether confirmation is destructive, idempotent, or what happens after successful confirmation.
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?
One short, front-loaded sentence with no filler is structurally efficient. The tradeoff is that it leaves behavior and usage unstated, but it earns full credit for concision.
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 three required parameters, no output schema, and no annotations, the description does not explain the draft-based workflow, parameter provenance, or expected result. It is enough to identify the tool but not enough to invoke it confidently in this large sibling family.
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 only 33% (customer_id only), and the description adds no information about draft_id or video_url. An agent must guess that draft_id comes from a prior prepare step and what format video_url must take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Confirm creation') and a specific resource ('Google Ads YouTube video asset reference'), which distinguishes it from the prepare-type siblings. However, it does not explicitly contrast it with related confirm tools or explain the two-step draft 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 gives no guidance on when to use this tool versus alternatives, and it never mentions that a prior prepare step or draft_id is required. The 'Confirm creation' wording only implies a workflow rather than stating prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_youtube_asset_prepareCInspect
Prepare creation of a Google Ads YouTube video asset reference.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | ||
| customer_id | Yes | 10-digit Google Ads customer id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure. 'Prepare creation' is minimal: it does not say whether this call mutates state, stages a reference, validates the URL, returns a temporary ID, or requires special permissions. This is insufficient for an agent to predict 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 a single, direct sentence with no filler, and the core verb-object relationship is front-loaded. It is concise, though the brevity comes at the cost of needed behavioral and parameter 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?
For a prepare/confirm tool with no annotations and no output schema, the description is too incomplete: it does not explain what the prepare step returns, whether confirmation is required, or what constraints apply to video_url. The agent must infer critical workflow details from sibling names and external 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?
Schema description coverage is only 50%: customer_id is documented in the schema, but video_url has no description. The tool description adds nothing about video_url's expected format (URL vs ID), validation rules, or how it relates to a YouTube asset, leaving a required parameter semantically under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('prepare creation') and resource ('Google Ads YouTube video asset reference'), and the 'prepare' label helps distinguish it from the sibling google_ads_youtube_asset_confirm. However, it does not explicitly explain what distinguishes this from other prepare/upload tools, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as google_ads_youtube_asset_confirm, google_ads_asset_upload_prepare, or google_ads_video_upload_prepare. The two-phase prepare/confirm workflow is implied by the name, but the description never states that a confirm step is expected or when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insights_query_consistentAInspect
Canonical compact ledger-only Insights read. Pass query_contract_version=1, group_by, explicit date_from/date_to, and exactly one of scope or scopes. Use scopes for server-side batch, trust coverage and pagination separately, and continue the same ordered batch only with meta.next_continuation; single-scope responses also mirror it in result.data. The cursor binds the exact Google ledger generation and page size; do not send Meta min_as_of.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| scope | No | ||
| fields | No | ||
| scopes | No | ||
| date_to | Yes | ||
| wait_ms | No | ||
| group_by | Yes | ||
| date_from | Yes | ||
| page_size | No | ||
| consistency | No | cached | |
| continuation | No | Use the opaque signed cursor returned by the previous response. It remains bound to the original customer and login-customer route, dates, grouping, supported filters/order, ordered scopes, fields, page size, and ledger snapshot. Never add Meta min_as_of. For scopes batches, use the single meta.next_continuation to continue the same ordered scopes together. | |
| response_mode | No | compact | |
| date_range_mode | No | explicit | |
| query_contract_version | Yes | ||
| require_complete_range | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses substantial behavior: the tool is a ledger-only read, scopes give server-side batching with separate pagination, continuation is bound to ledger generation and page size, and Meta min_as_of must not be sent. It does not discuss auth, rate limits, or detailed errors, but the main pagination and consistency contract is exposed.
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 front-loaded with the tool's identity and then gives a compact call contract without filler. It is dense and uses terms like 'trust coverage' and 'meta.next_continuation' without unpacking them, which slightly reduces readability.
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 15-parameter read tool with no output schema and no annotations, the description explains the required arguments and pagination behavior but omits response shape details and several optional parameter interactions. It is sufficient for a basic correct call but incomplete for advanced or edge-case usage.
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 only 7%, and the description compensates for the most important call contract (required params, scope/scopes exclusivity, continuation usage). However, page, fields, wait_ms, require_complete_range, consistency, response_mode, and date_range_mode are left to schema defaults and enums, leaving several optional parameters under-explained.
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 opens with 'Canonical compact ledger-only Insights read', naming a clear operation and resource and signaling it is the standard read path. It does not explicitly contrast with sibling insight tools like google_ads_insights_query_daily or google_ads_insights_overview_query, so differentiation is implied rather than 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?
It directly instructs the caller to pass query_contract_version=1, group_by, explicit date_from/date_to, and exactly one of scope or scopes, and it explains when to use scopes versus a single scope. It does not state when not to use this tool in favor of an alternative sibling, so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_get_statusAInspect
Start here. Returns redacted OAuth readiness, capability truth, guide version, and notify-only client skill-pack policy; never token values.
| 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 of behavioral disclosure. It does well: it discloses that returned values are redacted, that it never returns token values (a security-relevant guarantee), and names exactly what data it exposes. For a read/status tool this is solid disclosure beyond what structured fields would offer.
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 tight sentence that front-loads the routing signal ('Start here') and packs the full return inventory plus a safety guarantee into minimal words. Every element earns its place; no filler, 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 zero-parameter status tool with no output schema, the description is near-complete: it names every category of data returned and the redaction behavior. The only gap is the structure/format of the returned payload, but for a status read with no inputs that is a minor omission.
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 per the rubric the baseline is 4. There is nothing for the description to add beyond the empty schema, and it correctly makes no parameter claims. The return-content list effectively substitutes for parameter documentation here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear purpose: returns redacted OAuth readiness, capability truth, guide version, and notify-only client skill-pack policy. The verb 'returns' plus explicit content list makes the function distinct from the 80+ operational siblings. The opening 'Start here' marks it as the entry/status tool, which helps differentiate it from mutation and query tools, though it doesn't name a sibling it contrasts with.
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?
'Start here' implies this is the entry point before other operations, providing some context for when to call it. However, it never states when NOT to use it or names any alternative. Given the huge sibling list, explicit exclusion guidance would strengthen this dimension, but the entry-point signal is a legitimate usage cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasks_get_statusAInspect
Poll one opaque task reference. A terminal response includes the bounded result and source_anchor for direct consumption; never rerun the original query page 1.
| Name | Required | Description | Default |
|---|---|---|---|
| task_ref | Yes | ||
| response_mode | No | compact |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the polling nature, the terminal response content (bounded result and source_anchor), and a specific behavioral warning (never rerun the original query). It lacks details on non-terminal responses or error behavior, but the key traits are covered.
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 filler. The primary action is front-loaded, and the critical warning is included without 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 polling tool, it explains the terminal response and a key constraint, but omits details like what 'bounded result' means, how to interpret non-terminal responses, and the purpose of response_mode. Given the lack of an output schema, these gaps leave some ambiguity for an 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 0%, so the description must compensate. It clarifies that task_ref is an 'opaque task reference', adding meaning. However, response_mode is not mentioned at all; the schema shows an enum with a default, but the description provides no guidance on when or why to set it. Only half the parameters are addressed.
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 (poll) and resource (opaque task reference). It distinguishes itself from listing tools by focusing on a single reference, though it doesn't explicitly name sibling alternatives like google_ads_task_get or setup_get_status.
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?
It provides one exclusion ('never rerun the original query page 1') and implies the tool is for polling after an async operation. However, it doesn't explicitly state when to use this over alternative status tools or mention the prerequisite of having a task_ref from a prior call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
82 tool updates
- First observed
google_ads_accounts_list - First observed
google_ads_ad_group_create_confirm - First observed
google_ads_ad_group_create_prepare - First observed
google_ads_analysis_families_list - First observed
google_ads_asset_link_confirm - First observed
google_ads_asset_link_prepare - First observed
google_ads_asset_requirements_get - First observed
google_ads_asset_unlink_confirm - First observed
google_ads_asset_unlink_prepare - First observed
google_ads_asset_upload_confirm - First observed
google_ads_asset_upload_prepare - First observed
google_ads_assets_list - First observed
google_ads_bidding_update_confirm - First observed
google_ads_bidding_update_prepare - First observed
google_ads_billing_get_setup - First observed
google_ads_budget_update_confirm - First observed
google_ads_budget_update_prepare - First observed
google_ads_campaign_create_confirm - First observed
google_ads_campaign_create_prepare - First observed
google_ads_connection_permissions_set - First observed
google_ads_connections_list - First observed
google_ads_conversion_action_create_confirm - First observed
google_ads_conversion_action_create_prepare - First observed
google_ads_conversion_action_remove_confirm - First observed
google_ads_conversion_action_remove_prepare - First observed
google_ads_conversion_action_update_confirm - First observed
google_ads_conversion_action_update_prepare - First observed
google_ads_conversion_actions_list - First observed
google_ads_copy_ad_confirm - First observed
google_ads_copy_ad_prepare - First observed
google_ads_customer_route_permissions_set - First observed
google_ads_deep_analysis_export - First observed
google_ads_deep_analysis_query - First observed
google_ads_entity_remove_confirm - First observed
google_ads_entity_remove_prepare - First observed
google_ads_entity_update_confirm - First observed
google_ads_entity_update_prepare - First observed
google_ads_insights_overview_batch - First observed
google_ads_insights_overview_query - First observed
google_ads_insights_query_daily - First observed
google_ads_keyword_create_confirm - First observed
google_ads_keyword_create_prepare - First observed
google_ads_keyword_ideas_generate - First observed
google_ads_mutation_receipt_get - First observed
google_ads_mutation_reconcile - First observed
google_ads_pmax_create_confirm - First observed
google_ads_pmax_create_prepare - First observed
google_ads_product_card_delete - First observed
google_ads_product_card_save - First observed
google_ads_product_card_update - First observed
google_ads_product_cards_list - First observed
google_ads_quick_create_confirm - First observed
google_ads_quick_create_prepare - First observed
google_ads_recommendation_apply_confirm - First observed
google_ads_recommendation_apply_prepare - First observed
google_ads_recommendation_dismiss_confirm - First observed
google_ads_recommendation_dismiss_prepare - First observed
google_ads_recommendations_list - First observed
google_ads_responsive_search_ad_create_confirm - First observed
google_ads_responsive_search_ad_create_prepare - First observed
google_ads_status_enable_confirm - First observed
google_ads_status_enable_prepare - First observed
google_ads_status_pause_confirm - First observed
google_ads_status_pause_prepare - First observed
google_ads_task_get - First observed
google_ads_tasks_list - First observed
google_ads_template_delete - First observed
google_ads_template_reverse_engineer - First observed
google_ads_template_save - First observed
google_ads_template_update - First observed
google_ads_templates_list - First observed
google_ads_video_upload_confirm - First observed
google_ads_video_upload_prepare - First observed
google_ads_video_upload_remove_confirm - First observed
google_ads_video_upload_remove_prepare - First observed
google_ads_video_upload_status - First observed
google_ads_video_uploads_list - First observed
google_ads_youtube_asset_confirm - First observed
google_ads_youtube_asset_prepare - First observed
insights_query_consistent - First observed
setup_get_status - First observed
tasks_get_status
Related MCP Connectors
Hosted Meta ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Hosted TikTok ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Google Ads MCP with 20,000+ account peer context and staged approve-then-execute writes.
Google Ads MCP server — manage campaigns, keywords, and metrics.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server to read and manage Google Ads accounts via GAQL queries, campaign/ad group/keyword operations, and safe write support with draft-confirm flow.1627 npmMIT
- AlicenseAqualityAmaintenanceAn MCP server that enables safe, audited mutation of Google Ads campaigns—creating ads, ad groups, keywords, and assets or adjusting budgets and statuses—with a dry-run default and an optional guarded remove operation, plus read-only Keyword Planner ideas.221MIT
- FlicenseNot gradedqualityCmaintenanceEnables authorized users to securely connect to and manage their Google Ads accounts through MCP clients, with support for campaigns, ad groups, ads, keywords, reporting, and billing. Runs as a remote multi-user server on Cloudflare Workers with per-user authentication and safety controls.-
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes write operations on Google Ads, enabling management of campaigns, ad groups, keywords, RSA ads, sitelinks, images, Customer Match audiences, and recommendations.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.