Postmark

MCP server by Postmark (ActiveCampaign)

Send transactional email, manage templates and check bounces, delivery stats and webhooks in your Postmark account.

Runs locally (Runs on your machine: its page has the install command)Runs with npxNeeds an API key

Install Postmark

Runs on your machine. Your client starts it with this command:

npx -y @activecampaign/postmark-mcp

Needs Node.js on your computer. The setup steps below show where the command goes in each client.

  • POSTMARK_SERVER_TOKEN secret Postmark server API token.
  • DEFAULT_SENDER_EMAIL Verified sender address.
  • DEFAULT_MESSAGE_STREAM Message stream ID, e.g. outbound.

Share this server

Opens this page, with the install command and setup steps.

mcp.tc/i/postmark

About

Connects an AI assistant to a Postmark account. It has 24 tools for sending single and batch email, managing templates, searching sent messages, diagnosing delivery, handling bounces and suppressions, reading delivery stats and managing webhooks. Tools carry read-only and destructive hints so clients can confirm risky actions.

Runs locally over stdio with Node.js 20 or higher, started with npx -y @activecampaign/postmark-mcp. It needs a Postmark server token and a verified sender address set as environment variables. Use only the scoped @activecampaign package, not the unscoped postmark-mcp package on npm.

What you can do

  • Send single or batch emails, with or without templates
  • Create, edit, validate and delete email templates
  • Search outbound messages and view message details
  • Diagnose delivery problems for a recipient
  • Search bounces, fetch bounce dumps and reactivate bounces
  • List, create and delete suppressions
  • Read delivery stats and server info
  • List, create and delete webhooks

Tools

Postmark lists its tools only to clients with a key, so we can’t show them here.

Example prompts

  • Send a welcome email to jane@example.com using my welcome template.

  • Show delivery stats for the last 7 days.

  • Why did my email to bob@example.com not arrive?

  • List recent bounces and reactivate the one for sam@example.com.

Set up

Every client starts Postmark on your machine with the same command. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio postmark --env "POSTMARK_SERVER_TOKEN=<YOUR_POSTMARK_SERVER_TOKEN>" --env "DEFAULT_SENDER_EMAIL=<YOUR_DEFAULT_SENDER_EMAIL>" --env "DEFAULT_MESSAGE_STREAM=<YOUR_DEFAULT_MESSAGE_STREAM>" -- npx -y @activecampaign/postmark-mcp
  1. Start Claude Code and type /mcp. postmark should show as connected.

Add --scope user to make it available in every project. Replace the placeholders with your own values.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "postmark": {
      "command": "npx",
      "args": [
        "-y",
        "@activecampaign/postmark-mcp"
      ],
      "env": {
        "POSTMARK_SERVER_TOKEN": "<YOUR_POSTMARK_SERVER_TOKEN>",
        "DEFAULT_SENDER_EMAIL": "<YOUR_DEFAULT_SENDER_EMAIL>",
        "DEFAULT_MESSAGE_STREAM": "<YOUR_DEFAULT_MESSAGE_STREAM>"
      }
    }
  }
}
  1. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "postmark": {
      "command": "npx",
      "args": [
        "-y",
        "@activecampaign/postmark-mcp"
      ],
      "env": {
        "POSTMARK_SERVER_TOKEN": "<YOUR_POSTMARK_SERVER_TOKEN>",
        "DEFAULT_SENDER_EMAIL": "<YOUR_DEFAULT_SENDER_EMAIL>",
        "DEFAULT_MESSAGE_STREAM": "<YOUR_DEFAULT_MESSAGE_STREAM>"
      }
    }
  }
}

Needs Node.js on your computer. Replace the placeholders with your own values.

VS Code

Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "postmark": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@activecampaign/postmark-mcp"
      ],
      "env": {
        "POSTMARK_SERVER_TOKEN": "${input:postmark-server-token}",
        "DEFAULT_SENDER_EMAIL": "<YOUR_DEFAULT_SENDER_EMAIL>",
        "DEFAULT_MESSAGE_STREAM": "<YOUR_DEFAULT_MESSAGE_STREAM>"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "postmark-server-token",
      "description": "POSTMARK_SERVER_TOKEN",
      "password": true
    }
  ]
}

Needs Node.js on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "postmark": {
      "command": "npx",
      "args": [
        "-y",
        "@activecampaign/postmark-mcp"
      ],
      "env": {
        "POSTMARK_SERVER_TOKEN": "<YOUR_POSTMARK_SERVER_TOKEN>",
        "DEFAULT_SENDER_EMAIL": "<YOUR_DEFAULT_SENDER_EMAIL>",
        "DEFAULT_MESSAGE_STREAM": "<YOUR_DEFAULT_MESSAGE_STREAM>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add postmark --env "POSTMARK_SERVER_TOKEN=<YOUR_POSTMARK_SERVER_TOKEN>" --env "DEFAULT_SENDER_EMAIL=<YOUR_DEFAULT_SENDER_EMAIL>" --env "DEFAULT_MESSAGE_STREAM=<YOUR_DEFAULT_MESSAGE_STREAM>" -- npx -y @activecampaign/postmark-mcp

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.postmark]
command = "npx"
args = ["-y", "@activecampaign/postmark-mcp"]
env = { POSTMARK_SERVER_TOKEN = "<YOUR_POSTMARK_SERVER_TOKEN>", DEFAULT_SENDER_EMAIL = "<YOUR_DEFAULT_SENDER_EMAIL>", DEFAULT_MESSAGE_STREAM = "<YOUR_DEFAULT_MESSAGE_STREAM>" }

Needs Node.js on your computer. Replace the placeholders with your own values.

Gemini CLI

gemini mcp add -e "POSTMARK_SERVER_TOKEN=<YOUR_POSTMARK_SERVER_TOKEN>" -e "DEFAULT_SENDER_EMAIL=<YOUR_DEFAULT_SENDER_EMAIL>" -e "DEFAULT_MESSAGE_STREAM=<YOUR_DEFAULT_MESSAGE_STREAM>" postmark npx -- -y @activecampaign/postmark-mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "postmark": {
      "command": "npx",
      "args": [
        "-y",
        "@activecampaign/postmark-mcp"
      ],
      "env": {
        "POSTMARK_SERVER_TOKEN": "<YOUR_POSTMARK_SERVER_TOKEN>",
        "DEFAULT_SENDER_EMAIL": "<YOUR_DEFAULT_SENDER_EMAIL>",
        "DEFAULT_MESSAGE_STREAM": "<YOUR_DEFAULT_MESSAGE_STREAM>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs Node.js on your computer. Replace the placeholders with your own values.

FAQ

Can I paste mcp.tc/i/postmark into my MCP client?

No. Postmark runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y @activecampaign/postmark-mcp.

Does Postmark need an API key?

Yes. It reads POSTMARK_SERVER_TOKEN, DEFAULT_SENDER_EMAIL and DEFAULT_MESSAGE_STREAM from its environment, and POSTMARK_SERVER_TOKEN is a secret. Put the value in your client’s config on your own machine, never in a shared file.

Is Postmark a remote or a local server?

Local. Your client starts it as a process on your computer with npx -y @activecampaign/postmark-mcp, which needs Node.js.

What can Postmark do?

You can send single or batch emails, with or without templates, create, edit, validate and delete email templates and search outbound messages and view message details.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc’s robot read Postmark’s public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

Embed

Show Postmark in a README or on your site. Each embed links to this page, uses the server’s own install command, and sets no cookies. How embeds work

README badge

Badge preview, lightBadge preview, dark
Markdown
[![Postmark on mcp.tc](https://mcp.tc/i/postmark/badge.svg)](https://mcp.tc/i/postmark)
HTML
<a href="https://mcp.tc/i/postmark"><img src="https://mcp.tc/i/postmark/badge.svg" alt="Postmark on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/postmark.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/postmark" title="Postmark on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, install command, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/postmark.json

What each field means

mcp.tc isn’t affiliated with Postmark (ActiveCampaign). This page was built from Postmark’s public metadata, last checked on 3 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.