Skip to main content
Glama

Google Ads: Add keywords

ads_add_keywords

Add keywords to an ad group. Prefer PHRASE or EXACT for a local business — BROAD reaches far more searches than most local budgets can afford, and is the usual cause of a wasted month.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "customer_id": "<customer_id>",
      "ad_group_id": "<ad_group_id>",
      "keywords": "<keywords>"
    },
    "name": "ads_add_keywords"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmNoLeave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change.
keywordsYes
ad_group_idYes
customer_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / confirm / default
      Added value: +false
    • addedInput schema / properties / confirm / description
      Added value: +"Leave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change."
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the write profile (readOnlyHint=false, non-idempotent, openWorld). The description adds useful strategic context about BROAD match wasting local budget, which is beyond annotation coverage. However, it never mentions that the operation is a dry-run unless confirm=true, and omits reversibility or permission requirements - the schema covers the preview mode, so the gap is mitigated but not fully.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Two sentences, front-loaded with the action and followed by one advisory sentence that earns its place by steering a common decision. It is appropriately sized for a simple tool, though the second sentence is longer than strictly necessary.

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

Completeness4/5

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

For a no-output-schema mutation tool whose confirm-based preview is well documented in the schema itself, the description covers the essential action and the main decision point (match type). It would be more complete with a note on dry-run behavior and on how added keywords interact with existing ones, but nothing critical is missing.

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

Parameters3/5

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

Schema coverage is only 25% (just the confirm parameter), so the description must compensate. It does partially: it names the PHRASE/EXACT/BROAD match values that map to keywords[].match and their practical trade-off. But customer_id, ad_group_id, and the keyword text array structure get no explanation at all.

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

Purpose4/5

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

The description states a specific verb and resource: 'Add keywords to an ad group,' which is unambiguous and clearly distinct from the campaign-level tools. It does not explicitly differentiate itself from the adjacent sibling ads_add_negative_keywords, 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.

Usage Guidelines3/5

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

The match-type advice ('Prefer PHRASE or EXACT for a local business') is real usage guidance for choosing among enum values, but the description gives no when-to-use versus alternatives guidance - nothing about ads_keyword_ideas for discovering terms or ads_add_negative_keywords for exclusion. Usage context is implied rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.