Skip to main content
Glama

AdsAgent — Google Ads MCP

google_ads_management_prepare

Prepare a typed management change with complete affected-resource snapshot and validation; shared resources require explicit affected campaigns. No raw operations. Compatibility entrypoint; prefer the matching named tool: google_ads_ad_text_update_prepare, google_ads_experiment_create_prepare, google_ads_experiment_initiate_prepare, google_ads_ad_status_update_prepare, google_ads_experiment_halt_prepare, google_ads_asset_group_update_prepare, google_ads_campaign_dates_update_prepare, google_ads_shared_budget_update_prepare, google_ads_portfolio_target_update_prepare, google_ads_schedule_replace_prepare, google_ads_negative_location_add_prepare, google_ads_negative_keyword_add_prepare, google_ads_retail_tree_replace_prepare, google_ads_asset_group_link_prepare, google_ads_asset_group_unlink_prepare.

Input Schema

NameRequiredDescriptionDefault
bodyYes
customer_idYes10-digit Google Ads customer id.
connection_contextNo

Output Schema

NameRequiredDescriptionDefault
okNo
codeNo
draftNo
errorNo
itemsNo
needsNo
stateNo
reasonNo
statusNo
changesNo
receiptNo
summaryNo
platformNo
receiptsNo
retry_atNo
retryableNo
error_codeNo
expires_atNo
idempotentNo
validationNo
approved_atNo
next_actionNo
plan_digestNo
support_refNo
approval_refNo
confirm_toolNo
presentationNo
invalid_fieldsNo
rejected_pathsNo
expected_changesNo
origin_support_refNo
instruction_template_idNo
google_change_resource_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "approval_ref": {
      +      "type": "string"
      +    },
      +    "approved_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "changes": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "code": {
      +      "type": "string"
      +    },
      +    "confirm_tool": {
      +      "type": "string"
      +    },
      +    "draft": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "action_type": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "asset_kind": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "byte_size": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "content_type": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "created_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "entity_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "entity_level": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "expires_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "filename": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "sha256": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "status": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "error": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "additionalProperties": true,
      +              "properties": {
      +                "code": {
      +                  "type": "string"
      +                },
      +                "details": {
      +                  "additionalProperties": true,
      +                  "properties": {},
      +                  "type": "object"
      +                },
      +                "message": {
      +                  "type": "string"
      +                },
      +                "retryable": {
      +                  "type": "boolean"
      +                },
      +                "support_ref": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "error_code": {
      +      "type": "string"
      +    },
      +    "expected_changes": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "expires_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "google_change_resource_name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "idempotent": {
      +      "type": "boolean"
      +    },
      +    "instruction_template_id": {
      +      "type": "string"
      +    },
      +    "invalid_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "items": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "index": {
      +            "type": "integer"
      +          },
      +          "operation": {
      +            "type": "string"
      +          },
      +          "receipt": {
      +            "additionalProperties": true,
      +            "properties": {},
      +            "type": "object"
      +          },
      +          "state": {
      +            "type": "string"
      +          },
      +          "summary": {
      +            "additionalProperties": true,
      +            "properties": {},
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "needs": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "next_action": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "additionalProperties": true,
      +              "properties": {},
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "origin_support_ref": {
      +      "type": "string"
      +    },
      +    "plan_digest": {
      +      "type": "string"
      +    },
      +    "platform": {
      +      "type": "string"
      +    },
      +    "presentation": {
      +      "type": "string"
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "acknowledged_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "action_type": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "claimed_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "draft_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "entity_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "entity_level": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "expires_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "finished_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "operation_ref": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "operation_state": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "operator_review_required": {
      +              "type": "boolean"
      +            },
      +            "outcome_category": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "resource_name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "sent_at": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "status": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "summary": {
      +              "additionalProperties": true,
      +              "properties": {},
      +              "type": "object"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "receipts": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "rejected_paths": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "retry_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "retryable": {
      +      "type": "boolean"
      +    },
      +    "state": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "integer"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "summary": {
      +      "additionalProperties": true,
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "support_ref": {
      +      "type": "string"
      +    },
      +    "validation": {
      +      "additionalProperties": true,
      +      "properties": {},
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / body / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "ad_format": {
      -        "enum": [
      -          "DISPLAY",
      -          "DEMAND_GEN",
      -          "APP"
      -        ]
      -      },
      -      "ad_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "affected_ad_group_ids": {
      -        "items": {
      -          "pattern": "^[1-9][0-9]*$",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "descriptions": {
      -        "items": {
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "maxItems": 5,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "headlines": {
      -        "items": {
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "maxItems": 5,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "ad_text_update"
      -      }
      -    },
      -    "required": [
      -      "ad_format",
      -      "ad_id",
      -      "affected_ad_group_ids",
      -      "descriptions",
      -      "headlines",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "campaign_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "control_percent": {
      -        "maximum": 99,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "kind": {
      -        "const": "experiment_create"
      -      },
      -      "name": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "suffix": {
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "campaign_id",
      -      "control_percent",
      -      "kind",
      -      "name",
      -      "suffix"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "experiment_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "experiment_initiate"
      -      }
      -    },
      -    "required": [
      -      "experiment_id",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "ad_group_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "ad_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "ad_status"
      -      },
      -      "status": {
      -        "enum": [
      -          "PAUSED",
      -          "ENABLED"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "ad_group_id",
      -      "ad_id",
      -      "kind",
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "experiment_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "experiment_halt"
      -      }
      -    },
      -    "required": [
      -      "experiment_id",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "asset_group_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "final_urls": {
      -        "items": {
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "maxItems": 10,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "asset_group_update"
      -      },
      -      "status": {
      -        "enum": [
      -          "PAUSED",
      -          "ENABLED"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "asset_group_id",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "campaign_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "end_date": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "campaign_dates"
      -      },
      -      "start_date": {
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "campaign_id",
      -      "end_date",
      -      "kind",
      -      "start_date"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "affected_campaign_ids": {
      -        "items": {
      -          "pattern": "^[1-9][0-9]*$",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "amount_micros": {
      -        "maximum": 9223372036854776000,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "budget_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "shared_budget"
      -      }
      -    },
      -    "required": [
      -      "affected_campaign_ids",
      -      "amount_micros",
      -      "budget_id",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "affected_campaign_ids": {
      -        "items": {
      -          "pattern": "^[1-9][0-9]*$",
      -          "type": "string"
      -        },
      -        "maxItems": 100,
      -        "minItems": 1,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "kind": {
      -        "const": "portfolio_target"
      -      },
      -      "strategy_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "strategy_type": {
      -        "enum": [
      -          "TARGET_CPA",
      -          "TARGET_ROAS"
      -        ]
      -      },
      -      "target": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "affected_campaign_ids",
      -      "kind",
      -      "strategy_id",
      -      "strategy_type",
      -      "target"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "campaign_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "intervals": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "day": {
      -              "enum": [
      -                "MONDAY",
      -                "TUESDAY",
      -                "WEDNESDAY",
      -                "THURSDAY",
      -                "FRIDAY",
      -                "SATURDAY",
      -                "SUNDAY"
      -              ]
      -            },
      -            "end_minute": {
      -              "maximum": 1440,
      -              "minimum": 15,
      -              "multipleOf": 15,
      -              "type": "integer"
      -            },
      -            "start_minute": {
      -              "maximum": 1425,
      -              "minimum": 0,
      -              "multipleOf": 15,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "day",
      -            "start_minute",
      -            "end_minute"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 42,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "kind": {
      -        "const": "schedule_replace"
      -      }
      -    },
      -    "required": [
      -      "campaign_id",
      -      "intervals",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "campaign_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "geo_target_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "negative_location"
      -      }
      -    },
      -    "required": [
      -      "campaign_id",
      -      "geo_target_id",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "campaign_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "negative_keyword"
      -      },
      -      "match_type": {
      -        "enum": [
      -          "EXACT",
      -          "PHRASE",
      -          "BROAD"
      -        ]
      -      },
      -      "text": {
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "campaign_id",
      -      "kind",
      -      "match_type",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "asset_group_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "retail_tree_replace"
      -      },
      -      "listing_tree": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "include": {
      -                "type": "boolean"
      -              }
      -            },
      -            "required": [
      -              "include"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "children": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "node": {
      -                      "oneOf": [
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "include": {
      -                              "type": "boolean"
      -                            }
      -                          },
      -                          "required": [
      -                            "include"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "children": {
      -                              "items": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "node": {
      -                                    "additionalProperties": false,
      -                                    "properties": {
      -                                      "include": {
      -                                        "type": "boolean"
      -                                      }
      -                                    },
      -                                    "required": [
      -                                      "include"
      -                                    ],
      -                                    "type": "object"
      -                                  },
      -                                  "value": {
      -                                    "maxLength": 150,
      -                                    "minLength": 1,
      -                                    "type": [
      -                                      "string",
      -                                      "null"
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "value",
      -                                  "node"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "maxItems": 50,
      -                              "minItems": 2,
      -                              "type": "array"
      -                            },
      -                            "dimension": {
      -                              "enum": [
      -                                "brand",
      -                                "item_id"
      -                              ]
      -                            }
      -                          },
      -                          "required": [
      -                            "dimension",
      -                            "children"
      -                          ],
      -                          "type": "object"
      -                        }
      -                      ]
      -                    },
      -                    "value": {
      -                      "maxLength": 150,
      -                      "minLength": 1,
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "value",
      -                    "node"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 50,
      -                "minItems": 2,
      -                "type": "array"
      -              },
      -              "dimension": {
      -                "enum": [
      -                  "brand",
      -                  "item_id"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "dimension",
      -              "children"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "asset_group_id",
      -      "kind",
      -      "listing_tree"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "asset_group_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "asset_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "field_type": {
      -        "enum": [
      -          "DESCRIPTION",
      -          "HEADLINE",
      -          "LONG_HEADLINE",
      -          "MARKETING_IMAGE",
      -          "PORTRAIT_MARKETING_IMAGE",
      -          "SQUARE_MARKETING_IMAGE",
      -          "YOUTUBE_VIDEO"
      -        ]
      -      },
      -      "kind": {
      -        "const": "asset_group_link"
      -      }
      -    },
      -    "required": [
      -      "asset_group_id",
      -      "asset_id",
      -      "field_type",
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "asset_group_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "asset_id": {
      -        "pattern": "^[1-9][0-9]*$",
      -        "type": "string"
      -      },
      -      "field_type": {
      -        "enum": [
      -          "DESCRIPTION",
      -          "HEADLINE",
      -          "LONG_HEADLINE",
      -          "MARKETING_IMAGE",
      -          "PORTRAIT_MARKETING_IMAGE",
      -          "SQUARE_MARKETING_IMAGE",
      -          "YOUTUBE_VIDEO"
      -        ]
      -      },
      -      "kind": {
      -        "const": "asset_group_unlink"
      -      }
      -    },
      -    "required": [
      -      "asset_group_id",
      -      "asset_id",
      -      "field_type",
      -      "kind"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "ad_format": {
      +        "enum": [
      +          "DISPLAY",
      +          "DEMAND_GEN",
      +          "APP"
      +        ]
      +      },
      +      "ad_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "affected_ad_group_ids": {
      +        "items": {
      +          "pattern": "^[1-9][0-9]*$",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "descriptions": {
      +        "items": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "maxItems": 5,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "headlines": {
      +        "items": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "maxItems": 5,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "ad_text_update"
      +      }
      +    },
      +    "required": [
      +      "ad_format",
      +      "ad_id",
      +      "affected_ad_group_ids",
      +      "descriptions",
      +      "headlines",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "campaign_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "control_percent": {
      +        "maximum": 99,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "kind": {
      +        "const": "experiment_create"
      +      },
      +      "name": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "suffix": {
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "campaign_id",
      +      "control_percent",
      +      "kind",
      +      "name",
      +      "suffix"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "experiment_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "experiment_initiate"
      +      }
      +    },
      +    "required": [
      +      "experiment_id",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "ad_group_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "ad_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "ad_status"
      +      },
      +      "status": {
      +        "enum": [
      +          "PAUSED",
      +          "ENABLED"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "ad_group_id",
      +      "ad_id",
      +      "kind",
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "experiment_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "experiment_halt"
      +      }
      +    },
      +    "required": [
      +      "experiment_id",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_group_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "final_urls": {
      +        "items": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "maxItems": 10,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "asset_group_update"
      +      },
      +      "status": {
      +        "enum": [
      +          "PAUSED",
      +          "ENABLED"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "asset_group_id",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "campaign_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "end_date": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "campaign_dates"
      +      },
      +      "start_date": {
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "campaign_id",
      +      "end_date",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "affected_campaign_ids": {
      +        "items": {
      +          "pattern": "^[1-9][0-9]*$",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "amount_micros": {
      +        "maximum": 9223372036854776000,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "budget_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "shared_budget"
      +      }
      +    },
      +    "required": [
      +      "affected_campaign_ids",
      +      "amount_micros",
      +      "budget_id",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "affected_campaign_ids": {
      +        "items": {
      +          "pattern": "^[1-9][0-9]*$",
      +          "type": "string"
      +        },
      +        "maxItems": 100,
      +        "minItems": 1,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "kind": {
      +        "const": "portfolio_target"
      +      },
      +      "strategy_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "strategy_type": {
      +        "enum": [
      +          "TARGET_CPA",
      +          "TARGET_ROAS"
      +        ]
      +      },
      +      "target": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "affected_campaign_ids",
      +      "kind",
      +      "strategy_id",
      +      "strategy_type",
      +      "target"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "campaign_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "intervals": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "day": {
      +              "enum": [
      +                "MONDAY",
      +                "TUESDAY",
      +                "WEDNESDAY",
      +                "THURSDAY",
      +                "FRIDAY",
      +                "SATURDAY",
      +                "SUNDAY"
      +              ]
      +            },
      +            "end_minute": {
      +              "maximum": 1440,
      +              "minimum": 15,
      +              "multipleOf": 15,
      +              "type": "integer"
      +            },
      +            "start_minute": {
      +              "maximum": 1425,
      +              "minimum": 0,
      +              "multipleOf": 15,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "day",
      +            "start_minute",
      +            "end_minute"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 42,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "kind": {
      +        "const": "schedule_replace"
      +      }
      +    },
      +    "required": [
      +      "campaign_id",
      +      "intervals",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "campaign_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "geo_target_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "negative_location"
      +      }
      +    },
      +    "required": [
      +      "campaign_id",
      +      "geo_target_id",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "campaign_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "negative_keyword"
      +      },
      +      "match_type": {
      +        "enum": [
      +          "EXACT",
      +          "PHRASE",
      +          "BROAD"
      +        ]
      +      },
      +      "text": {
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "campaign_id",
      +      "kind",
      +      "match_type",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_group_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "retail_tree_replace"
      +      },
      +      "listing_tree": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "include": {
      +                "type": "boolean"
      +              }
      +            },
      +            "required": [
      +              "include"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "children": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "node": {
      +                      "oneOf": [
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "include": {
      +                              "type": "boolean"
      +                            }
      +                          },
      +                          "required": [
      +                            "include"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "children": {
      +                              "items": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "node": {
      +                                    "additionalProperties": false,
      +                                    "properties": {
      +                                      "include": {
      +                                        "type": "boolean"
      +                                      }
      +                                    },
      +                                    "required": [
      +                                      "include"
      +                                    ],
      +                                    "type": "object"
      +                                  },
      +                                  "value": {
      +                                    "maxLength": 150,
      +                                    "minLength": 1,
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "value",
      +                                  "node"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "maxItems": 50,
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            "dimension": {
      +                              "enum": [
      +                                "brand",
      +                                "item_id"
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "dimension",
      +                            "children"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      ]
      +                    },
      +                    "value": {
      +                      "maxLength": 150,
      +                      "minLength": 1,
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "value",
      +                    "node"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 50,
      +                "minItems": 2,
      +                "type": "array"
      +              },
      +              "dimension": {
      +                "enum": [
      +                  "brand",
      +                  "item_id"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "dimension",
      +              "children"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "asset_group_id",
      +      "kind",
      +      "listing_tree"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_group_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "asset_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "field_type": {
      +        "enum": [
      +          "DESCRIPTION",
      +          "HEADLINE",
      +          "LONG_HEADLINE",
      +          "MARKETING_IMAGE",
      +          "PORTRAIT_MARKETING_IMAGE",
      +          "SQUARE_MARKETING_IMAGE",
      +          "YOUTUBE_VIDEO"
      +        ]
      +      },
      +      "kind": {
      +        "const": "asset_group_link"
      +      }
      +    },
      +    "required": [
      +      "asset_group_id",
      +      "asset_id",
      +      "field_type",
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_group_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "asset_id": {
      +        "pattern": "^[1-9][0-9]*$",
      +        "type": "string"
      +      },
      +      "field_type": {
      +        "enum": [
      +          "DESCRIPTION",
      +          "HEADLINE",
      +          "LONG_HEADLINE",
      +          "MARKETING_IMAGE",
      +          "PORTRAIT_MARKETING_IMAGE",
      +          "SQUARE_MARKETING_IMAGE",
      +          "YOUTUBE_VIDEO"
      +        ]
      +      },
      +      "kind": {
      +        "const": "asset_group_unlink"
      +      }
      +    },
      +    "required": [
      +      "asset_group_id",
      +      "asset_id",
      +      "field_type",
      +      "kind"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / connection_context
      Added value: +{
      +  "pattern": "^mctx_v1_[0-9a-f]{64}$",
      +  "type": "string"
      +}
  4. Added

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false and openWorldHint=false, and the description adds real context: a complete affected-resource snapshot is taken and validated, and 'No raw operations' is allowed. However it never states the key behavioral fact for a 'prepare' tool flagged readOnlyHint=false: whether the change is staged for a later confirm step (google_ads_management_confirm exists as a sibling) or applied immediately.

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?

Behavior, constraint, and routing are front-loaded before the tool list, and each sentence carries information. The 15-name enumeration is long but every entry serves routing, so it mostly earns its space.

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

Completeness3/5

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

An output schema exists and the union schema is highly self-describing via const kind discriminators, so return-value and payload detail needn't be repeated. What's missing is lifecycle context: the description doesn't explain that preparation precedes a confirm step or what the snapshot/validation guarantees mean for the caller, which matters for a 15-variant mutation entrypoint.

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 low (33%): only customer_id carries prose, while body and connection_context are undocumented. The description compensates partially by signalling that body is a typed discriminated payload ('typed management change') and by surfacing the affected-campaigns requirement that applies to the shared_budget and portfolio_target variants, but the remaining kinds get no prose at all.

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 and resource ('Prepare a typed management change') plus the core behavior (complete affected-resource snapshot and validation). It explicitly frames itself as a compatibility entrypoint and names the 15 preferred named tools, so an agent can distinguish it from every sibling 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 Guidelines4/5

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

Strong routing guidance: 'prefer the matching named tool' followed by an exhaustive list of the named alternatives, plus the constraint that shared resources require explicit affected campaigns. It stops short of stating the full when, e.g. when this compatibility path IS the correct choice, but the exclusion is clear.

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