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

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
customer_idYes10-digit Google Ads customer id.
connection_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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"
      +  }
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / connection_context
      Added value: +{
      +  "pattern": "^mctx_v1_[0-9a-f]{64}$",
      +  "type": "string"
      +}
  3. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations establish it is a non-read-only, non-destructive, closed-world operation, and the description adds genuinely new behavioral context: it produces a complete affected-resource snapshot with validation, rejects raw operations, and requires explicit affected campaigns for shared resources. It does not explain that a prepare step must be followed by a confirm call, which is a notable omission but not a contradiction.

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 lead sentences are front-loaded and each states a real constraint (snapshot+validation, shared-resource rule, no raw operations). The sixteen-item tool list is long but is the core routing payload and each entry is a distinct alternative, so it largely earns its place.

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?

For a tool with a very large discriminated-union schema and no output schema, the description covers prepare semantics, constraints, and routing adequately, but omits what the prepare step returns and that a separate confirm step is required before changes take effect. Those are material gaps given the sibling *_confirm tools in the same family.

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 only 33%, so the description carries more of the burden than usual. The list of named tools maps implicitly onto the sixteen `kind` discriminator values in the body oneOf, which is useful, but the description never mentions the `body` discriminator, the `kind` field, or the `connection_context` parameter, leaving the schema to do the work.

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 names a specific verb+resource combination ('Prepare a typed management change') and immediately signals it is a compatibility entrypoint, which lets an agent place it relative to the many *_prepare siblings. The phrase 'typed management change' is somewhat abstract on its own, but the enumeration of the sixteen matching named tools clarifies the exact scope of change kinds it accepts.

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?

It explicitly tells the agent to prefer the matching named tool and lists all sixteen alternatives, which is strong routing guidance and effectively a 'when not to use this' statement. What it does not state is the positive condition under which this compatibility entrypoint is the right choice, so the agent must infer that it exists only for legacy/backward-compatible callers.

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