Skip to main content
Glama

Metadata MCP Connector

Add Extensions to Native-Structure Campaign

add_extensions_to_native_campaign

Attach existing library extensions (sitelinks, callouts, etc.) to a native-structure Google Ads / Microsoft Ads campaign, so they actually serve when the campaign launches.

            ALSO KNOWN AS: add extension to campaign, attach sitelink, put sitelink on campaign, link extension to campaign, enable extension for campaign

            KEYWORDS: add, attach, link, bind, extension, sitelink, callout, campaign, native, native structure, channel first, google ads, microsoft ads, bing

            WHY THIS EXISTS: creating an extension only puts it in the account library — it is NOT attached to any campaign and will not serve. This tool performs the binding.

            WHEN TO USE:
            - "Add our 'Book a Demo' sitelink to campaign X"
            - "Attach these callouts to the native search campaign"
            - After create_google_sitelink_extension, when the user wants it live on a specific campaign

            WHEN NOT TO USE:
            - The campaign uses the Precision / METADATA structure — this tool covers native-structure campaigns only and will tell you so. Precision binds extensions per-creative and has no tool yet; direct the user to the platform UI.
            - You do not have the extension's internal id → call list_extensions first
            - Removing an attachment → use remove_extensions_from_native_campaign

            INPUTS (all required):
            - campaign_id:    wizard campaign id
            - channel:        GOOGLE_ADS or MICROSOFT_ADS
            - extension_ids:  internal ids from list_extensions (the `id` field, NOT `externalId`)

            BEHAVIOUR: additive — existing attachments are preserved. Safe to re-run; already-attached ids are reported and left alone.

            ORDERING CAVEAT: add_and_edit_native_campaign_elements rebuilds the channel's native containers and CLEARS extension attachments. Attach extensions AFTER any native element edits, or re-attach afterwards.

            EXAMPLE:
            add_extensions_to_native_campaign(campaign_id=8421, channel="GOOGLE_ADS", extension_ids=[551, 552])

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channelYesSearch channel. Ad extensions are a search-channel-only concept.
campaign_idYesThe wizard campaign id.
extension_idsYesInternal library extension ids from list_extensions. These are the `id` field, NOT `externalId` (the ad platform's own id).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint: false, destructiveHint: false), the description adds meaningful behavioral context: the operation is additive, existing attachments are preserved, re-running is safe, already-attached ids are reported and left alone, and the tool only handles native-structure campaigns. It also discloses the destructive clearing behavior of add_and_edit_native_campaign_elements relative to extensions.

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?

The description is long but every section earns its place: aliases, keywords, the core conceptual reason the tool exists, usage conditions, exclusions, required inputs, behavior, an ordering caveat, and an example. It is structured with clear headers and front-loads the most important clarification that attaching is different from creating.

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 tool with three required parameters and meaningful ecosystem interactions, the description is complete. It explains the prerequisite (list_extensions), the native-vs-Precision distinction, the relationship to sibling tools like remove_extensions_from_native_campaign and add_and_edit_native_campaign_elements, and the additive re-run behavior. No critical calling context 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 description coverage is 100%, so the baseline is 3. The description reiterates that extension_ids must be internal ids from list_extensions and not externalId, but the schema already states this explicitly. The example call adds a small amount of practical clarity but does not substantially extend the schema's parameter documentation.

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 opens with a specific verb and resource: 'Attach existing library extensions (sitelinks, callouts, etc.) to a native-structure Google Ads / Microsoft Ads campaign.' It clearly distinguishes this binding action from merely creating an extension, and the 'WHEN NOT TO USE' section further separates it from Precision-structure workflows and from remove_extensions_from_native_campaign.

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?

There is an explicit 'WHEN TO USE' section with concrete user phrasings, plus a 'WHEN NOT TO USE' section naming alternatives: call list_extensions first if the id is unknown, use remove_extensions_from_native_campaign for removal, and direct Precision-structure users to the platform UI. The ordering caveat about add_and_edit_native_campaign_elements is also clear operational guidance.

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.

Resources