Skip to main content
Glama
postscript-mcp

postscript-mcp

by NoBanks

postscript-mcp

License: MIT Python MCP

MCP server for Postscript, the SMS marketing platform for Shopify e-commerce stores. 5 tools for AI copywriting and marketing agents to query subscribers, look up opt-in keyword IDs, add new subscribers (with proper consent flow), list active SMS campaigns, and check audience segment sizes before drafting SMS blasts.

As of May 2026, Postscript does not have an official MCP server. The community attempt is a zero-star placeholder. This is the production-quality rail to fill that gap.

The 5 tools

Tool

Purpose

list_subscribers

Query the active SMS subscriber list

get_keyword_id

Look up SMS opt-in keyword IDs (required for compliant subscriber creation)

add_subscriber

Add a new phone number to a list, tied to a documented consent flow

list_campaigns

Retrieve recent SMS campaigns and their deployment status

check_segment_size

Look up audience segments and their subscriber counts

Related MCP server: mailchimp-mcp

Install

pip install postscript-mcp

Configure

export POSTSCRIPT_API_KEY="your-postscript-private-api-key"

Get a Postscript Private API Key in your Postscript dashboard under Apps -> API. The key is sent as a Bearer token; vault it server-side only.

Use with Claude Desktop

{
  "mcpServers": {
    "postscript": {
      "command": "postscript-mcp",
      "env": {
        "POSTSCRIPT_API_KEY": "your-postscript-private-api-key"
      }
    }
  }
}

Restart Claude Desktop. The 5 Postscript tools are now available.

Use case: AI SMS marketing assistant

Typical agent flow:

  1. Call check_segment_size() to see which audience segments exist and how many subscribers each contains. Pick the right one for the campaign.

  2. Call list_campaigns() to see what has already been sent and avoid sending a duplicate.

  3. (For subscriber growth flows) Call get_keyword_id() to find the consent-flow keyword for the right list, then add_subscriber(phone_number, keyword_id) to add a new opt-in.

  4. Drafting an SMS: use the segment + subscriber data to scope the message correctly before passing it to a downstream SMS-send tool (Postscript send endpoints are intentionally NOT in this MCP to keep the rail safe).

Compliance note

SMS subscriber creation is regulated under TCPA (US) and CTIA carrier requirements. The add_subscriber tool always requires a keyword_id, which ties every new subscription to a documented consent flow you previously configured in Postscript. This MCP does not provide a way to add subscribers without a keyword_id. Do not attempt to bypass this; non-consented subscribers are a compliance and legal risk for the merchant.

Architecture

  • Public MIT-licensed wrapper around the Postscript REST API v2

  • Async HTTP via httpx

  • pydantic v2 input validation

  • Bearer token auth, server-side only

  • Rate-limit aware (429 returns a clean error)

Development

git clone https://github.com/NoBanks/postscript-mcp.git
cd postscript-mcp
pip install -e ".[dev]"
pytest

License

MIT. See LICENSE.

Author

Ryan Hammer (NoBanks). Solo founder + engineer. Built this and 10 other MCP servers as part of a sprint to expose AI agent rails for the products and platforms shipping daily.

Open to AI engineering roles, contract or full-time, remote-only.

Available Tools

5 tools
add_subscriberA

Add a new phone number to the SMS list using a specific keyword ID. The keyword_id ties the subscription to an existing documented consent flow (required for TCPA/CTIA compliance). Returns the created subscriber.

Inputs: phone_number (required), keyword_id (required), properties.

check_segment_sizeA

Look up audience segments to see how many subscribers each contains. Use BEFORE drafting an SMS blast so the agent can scope the campaign correctly.

Inputs: no named parameters.

get_keyword_idA

Look up all SMS opt-in keywords configured in the Postscript account. Returns each keyword's ID and reply message. Use the returned ID when calling add_subscriber so the new subscriber is tied to a documented consent flow.

Inputs: no named parameters.

list_campaignsA

Retrieve recent SMS marketing campaigns and their deployment status. Useful for an AI agent to check what has already been sent before drafting a new one.

Inputs: limit.

list_subscribersA

Query the active SMS subscriber list to retrieve subscriber IDs and phone numbers. Useful for downstream targeting decisions.

Inputs: limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a distinct action (add, check, get, list) on different resources (subscriber, segment, keyword, campaign). No overlap in purpose.

    Naming Consistency5/5

    All tool names follow the verb_noun pattern with lowercase and underscores, e.g., add_subscriber, check_segment_size.

    Tool Count5/5

    5 tools covers the essential operations for subscriber management, keyword lookup, segment sizing, and campaign listing without unnecessary redundancy.

    Completeness3/5

    Covers add/list for subscribers, keyword retrieval, segment size check, and campaign listing but lacks update/delete subscriber and campaign creation/sending tools.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Mailchimp MCP Server - Access Mailchimp data from Claude via MCP.
      100
      104 PyPI
      25
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that interfaces with the Mailchimp Marketing API to manage audiences, email campaigns, and subscribers. It enables users to create and schedule campaigns, handle member lists, and send test or live emails through natural language commands.
      13
      31 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for RevenueCat that lets AI agents query subscriber data, check entitlements, fetch offerings, and manage subscriptions via natural language.
      6
      MIT