Skip to main content
Glama

google_ads_keywords_add

Add keywords to a Google Ads ad group with specified match types (broad, phrase, exact) and get the created keyword IDs in return.

Instructions

Adds one or more keyword criteria to a single ad group. Returns the created criterion_ids keyed by their input position. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Duplicate text+match_type pairs inside the same ad group are rejected by Google Ads — call google_ads_keywords_cross_adgroup_duplicates first if you are adding at scale.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keywordsYesKeywords to add. Each item has `text` (required) and optional `match_type` (BROAD / PHRASE / EXACT, default BROAD).
ad_group_idYesTarget ad group ID. All keywords in this call are added to this single ad group.
customer_idNoGoogle Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted.
Behavior5/5

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

With no annotations, the description discloses key behavioral traits: mutating side effect, non-reversibility, return format (criterion_ids keyed by input position), and duplicate rejection by Google Ads. This goes well beyond the schema and gives the agent essential execution expectations.

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

Conciseness5/5

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

Three sentences, each with a distinct purpose: main action, return behavior, side-effect warning with actionable guidance. No fluff, information is front-loaded and efficiently organized.

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?

Given no output schema, the description adequately explains return values and key constraints. It covers duplicate handling and rollback, which are critical for a mutation tool. Minor omissions like failure modes or partial success are not disclosed, but overall it is sufficiently complete for the tool's complexity.

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 100% with detailed descriptions of keywords, ad_group_id, and customer_id. The description adds minor context (e.g., single ad group, keyed by position) but does not substantially enhance parameter semantics beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Description states a specific verb and resource: 'Adds one or more keyword criteria to a single ad group.' This clearly distinguishes it from siblings like google_ads_keywords_remove, pause, list, and suggest. The tool's purpose is unmistakable.

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

Usage Guidelines5/5

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

Provides explicit usage context: mentions calling google_ads_keywords_cross_adgroup_duplicates first when adding at scale due to duplicate rejection, and recommends recording before-state with mureo_state_action_log_append for rollback. This gives clear when-to-use and when-to-use-alternative guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server