Skip to main content
Glama

Set my unsubscribe page name and provider webhooks

suppression_settings
DestructiveIdempotent

Set your unsubscribe-list's page name (site_name), the inbox for suppression events, and the bounce and complaint webhooks of your providers: resend {signing_secret}, sendgrid {public_key}, ses {topic_arn}, postmark true (null turns resend, sendgrid or ses off; postmark false). The answer has each provider's webhook_url; Postmark's Basic auth password is shown only when you turn it on.

Input Schema

NameRequiredDescriptionDefault
providersNoThe providers to set up.
site_nameNoThe name your unsubscribe page shows (a plain name, null clears it).
instance_idYesUtility instance id from buy or list_utilities.
passport_tokenNoYour amp_ token, only if you have no app sign-in and cannot send a header.
inbox_instance_idNoOne of your owner's webhook inboxes for suppression events (null: none).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "instance_id": "sup_exampleexampleexample2",
      +    "providers": {
      +      "resend": {
      +        "signing_secret": "whsec_EXAMPLEexampleEXAMPLE"
      +      }
      +    }
      +  }
      +]
    • changedInput schema / properties / passport_token / description
      Previous value: -"Your amp_ token, only if your app has no sign-in and cannot send it as an Authorization header."New value: +"Your amp_ token, only if you have no app sign-in and cannot send a header."
    • addedInput schema / properties / providers / properties / postmark / description
      Added value: +"true turns on Postmark's webhook (the answer shows its Basic auth password; send true again to see it again); false turns it off."
    • changedInput schema / properties / providers / properties / resend / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "signing_secret": {
      -        "maxLength": 300,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "signing_secret"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "signing_secret": {
      +        "description": "The whsec_... signing secret of your Resend webhook.",
      +        "maxLength": 300,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "signing_secret"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / providers / properties / resend / description
      Added value: +"Resend's bounce and complaint webhook; null turns it off."
    • changedInput schema / properties / providers / properties / sendgrid / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "public_key": {
      -        "maxLength": 400,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "public_key"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "public_key": {
      +        "description": "The verification key of SendGrid's Signed Event Webhook.",
      +        "maxLength": 400,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "public_key"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / providers / properties / sendgrid / description
      Added value: +"SendGrid's Signed Event Webhook; null turns it off."
    • changedInput schema / properties / providers / properties / ses / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "topic_arn": {
      -        "maxLength": 300,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "topic_arn"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "topic_arn": {
      +        "description": "The ARN of the SNS topic of your SES bounces and complaints (arn:aws:sns:...).",
      +        "maxLength": 300,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "topic_arn"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / providers / properties / ses / description
      Added value: +"Amazon SES through an SNS topic; null turns it off."
  2. Changed4 schema fields changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / passport_token / description
      Previous value: -"Your amp_ token, only if your client cannot send it as an Authorization header; leave it out when your MCP app signed in."New value: +"Your amp_ token, only if your app has no sign-in and cannot send it as an Authorization header."
    • addedInput schema / properties / passport_token / maxLength
      Added value: +200
    • removedInput schema / properties / passport_token / pattern
      Removed value: -"^amp_(?:s_)?[A-Za-z0-9_-]{43}$"
  3. Added

TDQS

A3.5/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the annotations: null turns resend, sendgrid, or ses off; postmark false turns it off; the answer includes webhook_url values; and the Postmark Basic auth password is only shown when the webhook is turned on. This complements the destructiveHint=true and idempotentHint=true annotations without contradicting them.

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?

The description is front-loaded with the primary action and efficiently lists the configurable settings and provider-specific values. It is dense but earns its length by covering multiple provider options and return behavior.

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?

Given the lack of an output schema, the description usefully explains that the answer contains each provider's webhook_url and when the Postmark password is shown. It relies on the fully described schema for parameter details, which is reasonable, though it does not mention auth or required instance_id context.

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%, so the schema already documents all parameters in detail. The description summarizes the provider fields and null-off behavior, but adds little beyond what the schema already provides, so a baseline 3 is appropriate.

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: setting the unsubscribe-list page name, suppression inbox, and provider bounce/complaint webhooks. It is clear about what the tool does, though it does not explicitly differentiate itself from sibling tools such as suppression_add or unsubscribe_links.

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?

The description describes what can be configured but gives no explicit guidance on when to use this tool versus alternatives. It does not name any sibling tools or say when this settings action is preferable over related suppression management tools.

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.