delete_campaign
Delete a campaign and all its steps
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Delete a campaign and all its steps
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavioral traits. It clearly states that deletion cascades to all steps, which is important. However, it does not mention irreversibility, potential side effects beyond steps, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core purpose without any unnecessary words or repetition. It earns its place with high information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema, no nested objects), the description is largely complete. It captures the essence of the operation and its most important consequence (deleting steps). It could be slightly more complete by mentioning other potential effects, but overall it suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the 'id' parameter (0% coverage). The tool name and description make it clear that 'id' refers to the campaign ID, but the description does not explicitly state this or provide any additional formatting/type details beyond the schema's string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a campaign'), adding the specific scope 'and all its steps', which distinguishes it from delete_campaign_step. This makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you want to delete an entire campaign and its steps, rather than just a single step (which would use delete_campaign_step). However, it does not explicitly state when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target distinct resources and actions, but a few pairs (check_email_spam_score vs check_step_spam_score, get_deliverability vs check_domain_deliverability) have overlapping concerns. However, descriptions clarify the differences, so an agent can distinguish them with careful reading.
All tools follow a consistent verb_noun pattern with lowercase snake_case. The use of add vs create is a minor style variation but does not create confusion.
At 34 tools, the server exceeds the typical 3-15 tool range and even the 16-25 heavy range. While the broad functionality justifies many tools, the count is likely to make tool selection more difficult for an agent.
The tool set covers the full campaign lifecycle including creation, scheduling, processing, and deliverability tracking, plus contact and provider management. Notable gaps include no update_contact or get_campaign by ID, but these are workarounds via list operations.