Skip to main content
Glama

Opus Growth, Ad Platforms MCP Connector

Copy Ad Group

copy_ad_group

Copies one or more Google Ads AD GROUPS, with their contents, into another campaign of the same account (or duplicates them inside the same campaign) — instead of rebuilding each group with create_ad_group + add_keywords + create_responsive_search_ad + manage_extension_assets. Copied per group: the ad group settings (default CPC / target CPA / target ROAS, ad rotation, tracking template, final URL suffix, custom parameters, targeting setting), keywords with match type, status, bid and URLs, ad-group negative keywords, responsive search ads with headlines, descriptions, pins, paths, final URLs and tracking, linked ad-group assets (sitelinks, callouts, snippets, calls, images...), audience and demographic criteria with bid modifiers, and device bid adjustments. ad_group_ids: one id or several comma-separated (up to 25 per call). target_campaign_id must be in the same account and of the same campaign type. status: PAUSED (default, nothing serves until you enable it), ENABLED, or KEEP (same as the source). new_name renames a single copy; name_suffix is appended to every copy name (default: same name, or ' (copy)' when copying inside the same campaign). cpc_bid > 0 overrides the copy's default max CPC. Ad types other than responsive search ads are listed as skipped. The group, its keywords and its ads are created in ONE atomic request (all or nothing); assets, audiences and device adjustments follow and any that fail are reported one by one. The source is never changed. confirm=false returns a per-group preview of what will be copied.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoPAUSED
confirmNo
cpc_bidNo
new_nameNo
customer_idYes
include_adsNo
name_suffixNo
ad_group_idsYes
include_assetsNo
include_keywordsNo
include_audiencesNo
include_negativesNo
target_campaign_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), it discloses the atomic all-or-nothing create for group/keywords/ads, best-effort follow-up for assets/audiences/devices with per-item failure reporting, the guarantee that the source is never changed, the confirm=false dry-run preview, and the 25-id cap. This is materially more than the structured fields provide and is consistent with them.

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?

The purpose and the alternative it replaces are front-loaded, and every sentence carries content. It is a dense single block, however, and the long enumeration of copied fields plus the parameter notes could be split for faster scanning; nothing is wasted, but structure works against it slightly.

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

Completeness5/5

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

For a 13-parameter mutation tool, it covers atomicity, partial-failure semantics, defaults, preview mode, source immutability, and limits, and an output schema exists so return-value shape need not be described. An agent has everything needed to call it correctly and safely.

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

Parameters4/5

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

With 0% schema description coverage, the description carries the full burden and does explain ad_group_ids (one or comma-separated, up to 25), target_campaign_id constraints, status values including KEEP, new_name vs name_suffix default behavior, and cpc_bid > 0 semantics. It leaves the include_ads/include_keywords/include_negatives/include_assets/include_audiences toggles and customer_id unexplained, so coverage is good but not complete.

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?

The description states a specific verb (copies), resource (Google Ads ad groups), scope (into another campaign of the same account, or duplicated within the same campaign), and enumerates exactly what gets copied. It also distinguishes itself from the manual rebuild path (create_ad_group + add_keywords + create_responsive_search_ad), so an agent can identify it without opening a schema.

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?

It explicitly positions itself against the alternative workflow ('instead of rebuilding each group with...'), gives the hard constraints that select/deselect it ('target_campaign_id must be in the same account and of the same campaign type'), and notes that non-RSA ad types are skipped. That is clear when-to-use, when-not, and alternatives in one pass.

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.