Skip to main content
Glama
camelmailer

CamelMailer MCP Server

Official
by camelmailer

update_campaign

Edit draft or scheduled email campaigns. Set a send time or clear the schedule to return to draft. Campaigns already sending cannot be changed.

Instructions

Edit a draft or scheduled campaign. Set scheduled_at to schedule it, or clear_schedule to drop it back to a draft. Touching neither leaves the schedule standing. A campaign that is already sending cannot be edited.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesNumeric campaign id
fromNoSender address
nameNoDisplay name
subjectNoMessage subject
html_bodyNoHTML body
text_bodyNoPlain-text body
scheduled_atNoRFC 3339 send time
clear_scheduleNoClear the schedule, returning the campaign to a draft

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It transparently describes the schedule-state transitions: scheduling, unscheduling, and leaving the schedule untouched, plus the cannot-edit-sending restriction. It does not cover partial-update semantics or conflict behavior if both scheduled_at and clear_schedule are supplied, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no filler. The first states purpose, the second explains the scheduling mechanism, and the third gives the critical constraint—each sentence earns its place and the information is front-loaded.

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?

For a mutation tool with no annotations and no output schema, the description covers the most important state behavior and constraints. The main gap is that it does not explicitly state whether unspecified fields are left unchanged or whether the two schedule-related parameters are mutually exclusive, but the rich per-parameter schema reduces the impact.

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 description coverage is 100%, so the schema already documents every parameter; the baseline is 3. The description adds genuine semantic value by explaining how scheduled_at and clear_schedule interact ('Touching neither leaves the schedule standing'), which is not inferable from the schema alone.

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?

The description opens with a precise verb-resource statement: 'Edit a draft or scheduled campaign,' and further qualifies the operation by mentioning scheduling state. This distinguishes update_campaign from adjacent tools such as create_campaign_draft, send_campaign_now, and cancel_campaign. There is no tautology or ambiguity.

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 clearly states the intended use case (draft or scheduled campaigns) and gives an explicit exclusion: 'A campaign that is already sending cannot be edited.' Scheduling-specific guidance (set scheduled_at vs clear_schedule) also tells the agent how to achieve the desired state. It does not name sibling tools as alternatives, so it stops just short of full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.