Skip to main content
Glama

schedule_campaign

Destructive

Send or schedule a campaign. Omit scheduled_at to send immediately. Two steps: call first WITHOUT confirm (or with confirm: false) to get a preview of who will receive the email (sender, subject, approximate recipient count, lists, time) — nothing is sent. Show that preview to the user and get an explicit yes, then call again with confirm: true to send. dry_run: true returns the preview without sending even when confirm is true.

Input Schema

NameRequiredDescriptionDefault
confirmNoMust be true to actually send. Leave false first to get a preview of what will be sent
dry_runNoValidate and show the send preview without sending, even when confirm is true
campaign_idYesCampaign ID
scheduled_atNoSchedule datetime YYYY-MM-DD HH:MM:SS in the account timezone (omit for immediate send)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / campaign_id / description
      Previous value: -"Campaign ID,required"New value: +"Campaign ID"
  2. Changed4 schema fields changed
    • removedInput schema / properties / api_key
      Removed value: -{
      -  "description": "MailerCloud API key",
      -  "type": "string"
      -}
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Must be true to actually send. Leave false first to get a preview of what will be sent",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "description": "Validate and show the send preview without sending, even when confirm is true",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / scheduled_at / description
      Previous value: -"Schedule datetime (omit for immediate send)"New value: +"Schedule datetime YYYY-MM-DD HH:MM:SS in the account timezone (omit for immediate send)"
  3. First observed

TDQS

A4.4/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 the annotations cannot: that a no-confirm call sends nothing, what the preview contains (sender, subject, approximate count, lists, time), and that dry_run overrides confirm. This is real disclosure of consequence, not repetition of structured fields.

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, then the immediate-versus-schedule rule, then the two-step procedure. Every sentence carries operational weight, though the long em-dash sentences could be tightened.

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

Completeness5/5

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

For a destructive mutation with no output schema, the description supplies exactly what the agent needs: the safety gate, the preview contents standing in for a return value, and the override precedence between dry_run and confirm. Nothing material is missing.

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 100% and the schema descriptions for confirm, dry_run, and scheduled_at already state the semantics the description restates. The description does add the sequencing relationship (preview first, then confirm), but that interaction is largely inferable from the schema text, so it lands at the 3 baseline rather than above it.

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 ('Send or schedule a campaign') and immediately fixes scope with the two-step preview/confirm model. An agent can distinguish it from create_campaign/update_campaign/send_test_email without opening the schema, since it is clearly the actual production send.

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?

Explicit about when to send immediately (omit scheduled_at) versus schedule, and gives a precise when/when-not for confirm and dry_run, including the mandate to show the preview and obtain explicit user consent. It stops short of naming alternatives such as send_test_email or send_personalized_email, so the routing guidance is complete on workflow but not on sibling selection.

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