Skip to main content
Glama

campaignstack_delete_competitor_watch

Destructive

Delete competitor watches and disable their scheduled automations. Call this only after the user confirms the exact watches to remove. This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes. Batch edits are bounded. Return one result per requested item, and report partial failures instead of describing the whole batch as successful.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
watchIdsYes
confirmedYesThis permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.
workspaceIdNoWorkspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultsNo
warningsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / confirmDelete
      Removed value: -{
      -  "const": true,
      -  "description": "This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / confirmed
      Added value: +{
      +  "const": true,
      +  "description": "This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "watchIds",
      -  "confirmDelete"
      -]New value: +[
      +  "watchIds",
      +  "confirmed"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / workspaceId / description
      Previous value: -"Workspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach."New value: +"Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too."
  3. Changed9 schema fields changed
    • addedInput schema / properties / confirmDelete
      Added value: +{
      +  "const": true,
      +  "description": "This permanently deletes a root record. Before calling it, name exactly what will be deleted, explain that it cannot be undone, and wait for an explicit yes.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / watchId
      Removed value: -{
      -  "minLength": 1,
      -  "type": "string"
      -}
    • addedInput schema / properties / watchIds
      Added value: +{
      +  "items": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 25,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / workspaceId
      Added value: +{
      +  "description": "Workspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "watchId"
      -]New value: +[
      +  "watchIds",
      +  "confirmDelete"
      +]
    • removedOutput schema / properties / deleted
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "anyOf": [
      -        {
      -          "not": {}
      -        },
      -        {
      -          "type": "boolean"
      -        }
      -      ]
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / results
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "error": {
      +            "anyOf": [
      +              {
      +                "anyOf": [
      +                  {
      +                    "not": {}
      +                  },
      +                  {
      +                    "type": "string"
      +                  }
      +                ]
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "anyOf": [
      +              {
      +                "anyOf": [
      +                  {
      +                    "not": {}
      +                  },
      +                  {
      +                    "type": "string"
      +                  }
      +                ]
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "mode": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ok": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "result": {
      +            "anyOf": [
      +              {
      +                "anyOf": [
      +                  {
      +                    "not": {}
      +                  },
      +                  {}
      +                ]
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "not": {}
      +        },
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / watchId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "anyOf": [
      -        {
      -          "not": {}
      -        },
      -        {
      -          "type": "string"
      -        }
      -      ]
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "deleted": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": "boolean"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "watchId": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds substantial context beyond them: permanent root-record deletion, irreversibility, disabling of scheduled automations, bounded batch size, one result per requested item, and the requirement to report partial failures. This is unusually rich disclosure for a destructive tool.

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?

Front-loads purpose, then confirmation precondition, then batch/result semantics. The confirmation instruction largely duplicates the `confirmed` schema description, which is mild redundancy, but no sentence is wasted within the description itself.

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

Completeness4/5

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

With an output schema present, return-value formatting needn't be explained, and the description correctly focuses on preconditions and partial-failure semantics. It leaves workspace-scoping behavior to the schema, which is reasonable, though a note on multi-workspace ambiguity would have made it fully self-contained.

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

Parameters3/5

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

Schema coverage is 67%. The description implies bounded batching (max 25 watchIds) and echoes the confirmation requirement that the `confirmed` schema field already documents verbatim, but adds no syntax, ID format, or workspace-resolution guidance beyond the schema's own workspaceId text. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource (delete competitor watches) plus a secondary effect (disable their scheduled automations), which distinguishes it from campaignstack_edit_competitor_watch and campaignstack_get_competitor_watches. An agent can identify the operation without opening the 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?

Gives an explicit precondition (call only after the user confirms the exact watches to remove) and a required confirmation protocol. It does not name the obvious alternative (edit_competitor_watch) for partial changes, so it stops short of full when-not/alternative routing.

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