Skip to main content
Glama
tecspda

listmonk-mcp-ts

create_campaign

Create a draft email campaign with a name, subject, and target lists so you can review it before scheduling or sending.

Instructions

Create a campaign in draft status; nothing is sent yet. body is the message content and template_id selects the layout template that wraps it. Returns the new campaign ID. Next, review it with get_campaign_preview, then start it with send_campaign or schedule_campaign.

Input Schema

NameRequiredDescriptionDefault
bodyNoMessage content in the chosen content_type; can also be added later with update_campaign
nameYesCampaign name
tagsNoLabels for organising campaigns
typeNoregular (normal campaign) or optin (asks subscribers to confirm a double opt-in subscription)regular
listsYesIDs of the mailing lists to send to, at least one (see get_mailing_lists)
subjectYesEmail subject
template_idNoLayout template that wraps the body (see get_templates); omit to use the default campaign template
content_typeNoFormat of body: richtext, html, markdown or plainrichtext

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.1.1
    • changedInput schema / properties / body / description
      Previous value: -"Campaign body"New value: +"Message content in the chosen content_type; can also be added later with update_campaign"
    • addedInput schema / properties / content_type / description
      Added value: +"Format of body: richtext, html, markdown or plain"
    • changedInput schema / properties / lists / description
      Previous value: -"List IDs"New value: +"IDs of the mailing lists to send to, at least one (see get_mailing_lists)"
    • changedInput schema / properties / tags / description
      Previous value: -"Campaign tags"New value: +"Labels for organising campaigns"
    • changedInput schema / properties / template_id / description
      Previous value: -"Template ID"New value: +"Layout template that wraps the body (see get_templates); omit to use the default campaign template"
    • addedInput schema / properties / type / description
      Added value: +"regular (normal campaign) or optin (asks subscribers to confirm a double opt-in subscription)"
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent; the description adds real value by confirming the campaign is created in draft and 'nothing is sent yet', which tells the agent this mutation is inert until a separate send call. It also states the return value (new campaign ID). It omits that repeated calls create duplicate campaigns (relevant given idempotentHint=false).

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, front-loaded with the state outcome and then the workflow. No filler and no repetition of the parameter list.

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 an 8-parameter creation tool with no output schema, the description covers the draft semantics, the return value, and the downstream workflow. Remaining gaps (duplicate-creation risk, whether a required sender/list setup must exist) are minor since all parameters are fully documented in the schema.

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%, so the baseline is 3. The description's note that body is the message content and template_id selects the wrapping layout template rephrases what the schema already says in nearly the same words, adding little beyond the structured fields.

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 plus the crucial scope qualifier: 'Create a campaign in draft status; nothing is sent yet.' This immediately separates it from send_campaign and schedule_campaign among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the follow-on workflow: create, then get_campaign_preview, then send_campaign or schedule_campaign. The when-to-use path is fully spelled out with named alternatives rather than left to inference.

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