Skip to main content
Glama

Draft campaign

draft_campaign
Destructive

Create a campaign AS A DRAFT. There is no tool that sends one: sending puts mail in thousands of real inboxes, spends deliverability reputation that cannot be bought back, and cannot be undone. A person sends it from the dashboard. recipientScope is "all" or a single widget id, and unsubscribed or bounced addresses are excluded automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
nameYes
projectNoA project id from list_projects. Runs this call in that project instead of the connection default.
subjectYes
recipientScopeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and openWorldHint=false, and the description goes well beyond them by explaining the real risk model: sending hits real inboxes, burns unrecoverable deliverability reputation, and cannot be undone. It also discloses automatic filtering of unsubscribed and bounced addresses, which is behavior an agent cannot infer from the schema.

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-loaded with the action and scope, then the safety context, then the parameter rule. The middle sentence about deliverability reputation is slightly rhetorical, but it carries genuine decision-relevant weight for an irreversible-adjacent operation, so it mostly earns its place.

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?

Covers purpose, safety, and the one non-obvious parameter for a 5-parameter mutation tool with no output schema. The only gap is that it never says what comes back (e.g., a campaign id usable with update_campaign), which an agent would likely need for a follow-up call.

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

Parameters4/5

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

Schema coverage is only 20%, so the description must carry weight, and it does: recipientScope is defined as either "all" or a single widget id, and the auto-exclusion of unsubscribed/bounced addresses is a semantic detail absent from the schema. name, subject, and body are self-evident and need no elaboration.

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 and resource (create a campaign) plus a critical qualifier (AS A DRAFT, capitalized for emphasis). It also preempts the obvious next question by declaring that no sending tool exists, so an agent won't go hunting for one.

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?

Explicitly bounds the tool's role in the workflow: draft here, a human sends from the dashboard, there is no send tool. That is strong when-to-use context. It does not, however, differentiate from the similarly named sibling draft_sequence, which an agent could confuse with this one.

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.