Skip to main content
Glama
@kieksme/listmonk-mcp

@kieksme/listmonk-mcp

by kieksme

Update Subscriber

listmonk_update_subscriber
DestructiveIdempotent

Update selected fields of an existing Listmonk subscriber by numeric ID; only supplied fields change, so you can edit name, email, lists, status, or attributes without overwriting other data.

Instructions

Updates fields on an existing subscriber by id. Only provided fields are changed.

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_subscriber"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesNumeric id.
nameNo
emailNo
listsNo
statusNo
attribsNo
list_uuidsNo
response_formatNoOutput format: 'markdown' for human-readable text (default) or 'json' for machine-readable data.markdown
preconfirm_subscriptionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is carried by structured data. The description adds useful value by disclosing partial-update semantics, meaning unspecified fields are preserved. However, for a destructive mutation it says nothing about how the `lists`/`list_uuids` parameters affect existing memberships (replace vs. append) or what a blocked/blocklisted state transition does.

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?

Two short sentences, front-loaded with the action and target, with no filler. It is efficiently written, though some of that brevity comes at the cost of needed detail rather than from tight editing.

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?

This is a destructive, multi-parameter mutation with a nested `attribs` object and no output schema, and the description is only two sentences long. It omits the effect on list memberships, status transition implications, whether attribs merges or replaces, validation constraints, and what the tool returns — gaps an agent must guess at.

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 22% across 9 parameters, so the description carries substantial burden and largely fails it. It adds no meaning beyond the schema for name, email, lists, status, attribs, list_uuids, or preconfirm_subscriptions, and notably leaves the `lists` vs `list_uuids` duplication unexplained — a key ambiguity for an agent deciding which to supply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Updates fields on an existing subscriber by id'), so an agent knows exactly what is modified and how the target is addressed. It does not distinguish this from adjacent siblings such as listmonk_manage_subscriber_list_membership or listmonk_blocklist_subscriber, which also mutate a subscriber, leaving overlap to inference.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over listmonk_create_subscriber, listmonk_manage_subscriber_list_membership, or listmonk_blocklist_subscriber, nor any prerequisites such as requiring the subscriber to already exist. The only nuance offered ('Only provided fields are changed') describes patch semantics rather than when-to-use conditions.

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