Skip to main content
Glama
@kieksme/listmonk-mcp

@kieksme/listmonk-mcp

by kieksme

Update Campaign

listmonk_update_campaign
DestructiveIdempotent

Updates only the provided fields of an existing campaign by ID; status and schedule remain unchanged.

Instructions

Updates fields on an existing campaign by id. Only provided fields are changed. Does not change campaign status/schedule — use listmonk_update_campaign_status for that.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "listmonk_update_campaign"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesNumeric id.
bodyNo
nameNo
tagsNo
typeNo
listsNo
send_atNo
subjectNo
messengerNo
from_emailNo
send_laterNo
template_idNo
response_formatNoOutput format: 'markdown' for human-readable text (default) or 'json' for machine-readable data.markdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.0

TDQS

A3.7/5.0
Behavior3/5

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

The PATCH-style semantics ("only provided fields are changed") is real information the annotations do not convey and is genuinely useful. However, the annotations already flag this as destructive and non-read-only, and the description does not explain what is destructive here — no mention of effect on a running/sent campaign, no warning that replacing `lists` changes the audience, no auth/permission notes. The "does not change schedule" claim also sits uneasily beside the send_at/send_later parameters in the schema, which the description never reconciles.

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 core action, then the partial-update rule, then the sibling redirect. No filler and no repetition of the title or annotations.

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

Completeness2/5

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

For a 13-parameter destructive mutation with no output schema and very thin schema descriptions, the definition is too sparse — an agent still cannot tell what most parameters do or how the call behaves on non-draft campaigns. The one-line routing hint is useful but does not make the definition complete.

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

Parameters2/5

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

Schema description coverage is only 15% across 13 parameters — only `id` and `response_format` are documented in the schema — so the description needs to carry the load. It mentions only that the operation is by id and that status/schedule are out of scope, saying nothing about name, subject, body, lists, tags, type, messenger, from_email, template_id or send_later, and leaving the send_at/send_later contradiction unexplained.

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?

"Updates fields on an existing campaign by id" gives a specific verb, resource and addressing key, and the second/third sentences scope the operation against listmonk_update_campaign_status. An agent can distinguish this from the many sibling campaign tools (create/delete/status/archive/preview) without opening any schema.

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 explicitly routes the status/schedule case to listmonk_update_campaign_status, which is the highest-risk confusion among the campaign siblings. It does not address other adjacent decisions (e.g., whether editing is allowed on a running or already-sent campaign, when to prefer preview_campaign_draft before updating), so it is clear context rather than full when/when-not guidance.

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

Deploy Server

Other Tools