100+ integrations are ready to connect to your AI.Connect your first MCP

Postscript MCP server for your AI

Add and update subscribers, send an SMS or MMS to someone already opted in, start Flows with custom events or Legacy Automations with v1 triggers, and run GDPR redactions for the store whose API key you paste.

PopMCPPostscript

Fire our Back in stock trigger for jane@example.com and fill in the product link

Supported Postscript tools

Every subscriber, message, keyword, trigger, compliance and webhook operation the connection exposes, plus the store events PopMCP can watch and act on.

29 tools in the full catalog: 13 read and 16 write. 18 load by default, and the rest are found with tool search.

postscript_fire_trigger

Fire a v1 Trigger for one subscriber, which starts every Legacy Automation built on it for that person, filling the trigger's merge tags from `data`.

postscript_list_triggers

List the v1 Triggers this key can fire.

postscript_lookup_legacy_subscriber

Look up ONE subscriber through Postscript's v1 API by phone_number, email or v1 id, to get the v1 subscriber `id` that fire_trigger needs.

postscript_create_webhook

Subscribe an HTTPS endpoint to a Postscript event.

postscript_delete_webhook

Delete (unsubscribe) a webhook subscription by id.

postscript_list_webhooks

List the shop's webhook subscriptions.

postscript_create_subscriber

Add a subscriber to the shop.

postscript_get_subscriber

Get a single subscriber by their Postscript id.

postscript_get_subscribers

List the shop's subscribers (SMS marketing contacts), newest first.

postscript_update_subscriber

Update a subscriber's email, tags, or custom properties by id.

postscript_get_message_request

Look up a message request by id to check delivery.

postscript_send_message

Send an SMS/MMS to an existing subscriber.

postscript_get_keyword

Get a single keyword by id.

postscript_get_keywords

List the shop's keywords (the opt-in words subscribers text to join).

postscript_redact

Redact (permanently erase) a subscriber's personal data for GDPR/CCPA.

postscript_unsubscribe

Opt a subscriber OUT of all Postscript messaging (compliance action).

postscript_create_custom_event

Send a custom event that can trigger or branch Postscript Flows (the v2 replacement for v1 Triggers).

postscript_get_identity

Identify who this connection is authenticated as: the shop (or partner) behind the API key.

postscript_add_shop_to_trigger

PARTNERS ONLY: allow the connected shop (the shop token on this connection) to use one of your partner Triggers in its Legacy Automations.

postscript_create_trigger

Create a v1 Trigger that a shop can build a Legacy Automation around, then fire it per subscriber with fire_trigger.

postscript_delete_trigger

Permanently delete a v1 Trigger you own.

postscript_get_trigger

Get one v1 Trigger by id: its name, whether it may send transactional messages, and its merge tags.

postscript_replace_trigger

Replace a v1 Trigger wholesale: `name` is required and the `tags` you send become the COMPLETE list (omitting tags removes every custom tag).

postscript_update_trigger

Partially update a v1 Trigger: send only what changes.

postscript_get_webhook

Get a single webhook subscription by id.

postscript_get_webhook_signing_token

Get this account's webhook signing token.

postscript_test_webhook

Send a mock event to the callback_url(s) subscribed to it, to test your endpoint.

postscript_update_webhook

Update a webhook subscription's callback_url or custom headers by id.

postscript_get_sent_message

Get a message that was actually SENT, by its sent-message id.

Connect Postscript to Claude, ChatGPT and Claude Code

Credentials off one Postscript screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

Paste your Private API Key from app.postscript.io → Account → API into the API key field. No OAuth app or redirect URL. Partners can also add a Shop token. The key locks the connection to the store that owns it.

API key••••••••••••3f7a
Shop token (partners only, optional)••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Fire our Back in stock trigger for jane@example.com and fill in the product link”

    • list_triggers
    • get_trigger
    • lookup_legacy_subscriber
    • fire_trigger
  • “Tag every subscriber with the wholesale property as vip and fire a vip_upgrade event”

    • get_subscribers
    • update_subscriber
    • create_custom_event
  • “Text this subscriber the launch code, then confirm it went out and what it cost”

    • send_message
    • get_message_request
    • get_sent_message
  • “Look up this subscriber, opt them out and redact their data for a GDPR request”

    • get_subscriber
    • unsubscribe
    • redact

Use Postscript from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Postscript MCP server questions

What teams ask before putting Postscript behind an AI client.

Do I need an OAuth app, client secret or redirect URL to connect Postscript?

No. This is a credential paste: the connect form asks for an API key, and you copy it from the Postscript dashboard at app.postscript.io → Account → API. Use the Private key, not the Public one; if none is shown, click Create Security Key Pair first. There is no OAuth app to register and no redirect URL to configure. The key you paste scopes the MCP server to a single store, and get_identity confirms which shop it belongs to.

What is the Shop token field for?

It is for Postscript technical partners. A partner puts their partner key in API key and the target shop's Private API Key in Shop token, which PopMCP sends as the X-Postscript-Shop-Token header. A shop connecting its own account leaves it blank, and the header is never sent. With a shop token set, add_shop_to_trigger lets that shop use one of the partner's v1 Triggers in its Legacy Automations. Both values are stored encrypted and used server-side only.

Can the agent text a customer who is not already on my SMS list?

Not directly. send_message delivers an SMS or MMS to an existing subscriber, so a new contact has to be added first. create_subscriber needs an opt-in keyword from get_keywords, and the subscriber it adds stays pending until they confirm the opt-in reply. Opt-outs stay explicit too: unsubscribe removes a subscriber from all Postscript messaging, and redact permanently erases their personal data for GDPR or CCPA, unsubscribing them as well.

How do I verify that a webhook payload actually came from Postscript?

Ask the agent for get_webhook_signing_token, which returns the signing token for the account, and check incoming payloads against it on your side. Before you go live, test_webhook sends a mock event to the callback_url subscribed to a webhook so you can confirm your endpoint handles it. If the endpoint moves or needs different headers, update_webhook changes the callback_url and custom headers by id without recreating the subscription.

Does this work with Postscript Flows and Legacy Automations?

Both, through different tools, because Postscript keeps the two systems separate and an event sent to one never reaches the other. create_custom_event starts or branches a Flow. For a shop still running Legacy Automations, fire_trigger fires a v1 Trigger for one subscriber and fills its merge tags from the data you pass; lookup_legacy_subscriber turns a phone number or email into the v1 subscriber id it needs, and get_trigger shows the merge tags. create_trigger, update_trigger, replace_trigger and delete_trigger manage the trigger definitions.

Does send_message text the subscriber straight away?

Not always. send_message creates a message request, and get_message_request shows whether it is processing, scheduled, sent or failed. Messages default to the promotional category, and a promotional send outside the subscriber's waking hours comes back scheduled; transactional and conversational sends need Postscript's approval. Once the request carries a sent_message, get_sent_message returns the final text, including the shop name Postscript adds to the front, and credits_used, which is what the send cost.

Do I have to run or host the Postscript MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Postscript to Claude Code?

Connect Postscript in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Postscript on the consent screen. The Postscript tools are then available in that session, and no Postscript credential is stored on your machine.

Why do only 18 of the 29 tools load by default?

Loading 29 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 18-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 29 here. A trigger is something PopMCP watches for you: 7 Postscript events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Postscript.

Connect Postscript to your AI in minutes

Launch a hosted MCP endpoint for Postscript, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP