Skip to main content
Glama

MailerLite MCP by usefulapi

Upsert subscriber

mailerlite_upsert_subscriber
Destructive

Creates or updates a subscriber (upsert by email). Additive — does NOT send any email. MailerLite API: POST /subscribers.

Input Schema

NameRequiredDescriptionDefault
emailYesSubscriber email address (upsert key).
fieldsNoCustom/default field values keyed by field key, e.g. { name, last_name, company }.
groupsNoGroup id strings to add the subscriber to.
statusNoSubscriber status: active | unsubscribed | unconfirmed | bounced | junk.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / fields / additionalProperties / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / fields / additionalProperties / type
      Added value: +[
      +  "string",
      +  "number"
      +]
  2. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations only supply destructiveHint=true, so the description must carry the rest. It does usefully disclose the POST endpoint and that no email/automation is triggered, but it does not explain what 'upsert' overwrites — whether existing custom fields or status are replaced or merged — which is the key question given destructiveHint=true. The word 'Additive' without qualification could also mislead, though the 'does NOT send any email' clause scopes it to side effects rather than data.

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?

Two short sentences with zero padding; the core operation and its resolution key come first, followed by the side-effect caveat and endpoint. Every clause earns its place.

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 four-parameter upsert with no output schema, the definition covers the operation, the key, the endpoint, and the absence of email side effects. It falls short on overwrite/replacement semantics and on group assignment being available via the groups parameter, but no return-value documentation is required here.

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 description coverage is 100% and the schema already documents email as the upsert key, fields, groups, and the status enum. The description adds nothing beyond the schema, so the baseline 3 applies.

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 ('Creates or updates a subscriber') plus the resolution key ('upsert by email'), which is exactly the semantics an agent needs. It also distinguishes itself from the list/get siblings by naming the side effect it does not have ('does NOT send any email').

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

Usage Guidelines3/5

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

The description clarifies the create-or-update behavior and the no-email side effect, which is useful context, but it never says when to prefer this over mailerlite_get_subscriber, mailerlite_list_subscribers, or mailerlite_assign_subscriber_to_group, nor that group membership can be set here instead of via the assign tool. Usage is implied rather than stated.

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.