Skip to main content
Glama
ignytehq

plunk-mcp

Official
by ignytehq

Subscribe contact

plunk_subscribe_contact
Idempotent

Opt a contact back in to marketing email when they ask to start receiving messages again. Returns updated subscription state. Not for creating new contacts.

Instructions

Purpose: Opt a contact back in to marketing email.

Not for: Creating someone who does not exist yet, which is plunk_create_contact.

Returns: The updated subscription state.

Use when: Someone has asked to start receiving mail again. Do not use this to reverse an unsubscribe they chose.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesContact's PUBLIC id — the id embedded in unsubscribe links, distinct from the regular UUID. Get it from plunk_get_contact (returns it alongside the regular id).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.0.0
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv1.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety and repeatability are covered. The description adds genuinely non-structured context: the consent rule that it must not be used to override a user-chosen unsubscribe, and the return ('the updated subscription state'). It does not mention any auth/permission requirement, which keeps it out of the top band.

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?

Bold lead-ins (Purpose / Not for / Returns / Use when) front-load the routing decision and there is no filler. The labeled-block format is slightly formulaic but every line carries distinct information.

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?

With no output schema, the description covers the return ('the updated subscription state'), the sibling boundary, and the consent constraint. It stops short of edge cases such as a nonexistent id or an already-subscribed contact, but for a one-parameter idempotent tool this is close to complete.

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 single 'id' parameter is fully documented in the schema itself, including the PUBLIC-id distinction and where to obtain it from plunk_get_contact. The description adds nothing about parameters beyond what the schema already provides, 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?

The description opens with a specific verb+resource+scope: 'Opt a contact back in to marketing email.' It immediately distinguishes itself from the sibling that creates contacts and from unsubscribe flows, so an agent can route correctly without reading either schema.

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?

It gives explicit when-to-use ('Someone has asked to start receiving mail again'), an explicit when-not ('Do not use this to reverse an unsubscribe they chose'), and names the alternative sibling for the creation case (plunk_create_contact). Both the selection condition and the exclusion are stated.

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