Postmark MCP Server

Official Postmark MCP server for sending emails via Claude and AI assistants

Local serverstdio

What is the Postmark MCP MCP server?

Postmark mcp mcp server lets Claude, Cursor and other MCP clients work with Postmark MCP directly. Official Postmark MCP server for sending emails via Claude and AI assistants.

What Postmark MCP does

Send emails with Postmark using Claude and other MCP-compatible AI assistants.

Key capabilities

  • Exposes a Model Context Protocol (MCP) server backed by your Postmark account
  • 24 tools spanning email sending (single + batch), templates (CRUD + validation), message search, delivery diagnostics, bounces, suppressions, stats, server info, and webhooks
  • MCP tool annotations (readOnlyHint, destructiveHint) let supporting clients auto-approve safe reads and require confirmation before mutating or destructive operations
  • Simple configuration via environment variables
  • Comprehensive error handling and graceful shutdown
  • Structured JSON logging to stderr with optional log-file persistence; email addresses are partially masked by default
  • HTTPS enforcement and optional domain allowlist for webhook registration
  • Automatic open/click tracking on every send

Tools it exposes

Once connected, the assistant can call these 14 tools directly:

  • Header — Description
  • X-Postmark-Client — Always postmark-mcp — identifies this server as the request origin
  • X-Postmark-Client-Version — Version of this MCP server, matching the package version
  • X-Postmark-MCP-Client — Name and version of the MCP host application (e.g., claude-desktop/1.0), captured from the MCP initialize handshake. Omitted if the client does not provide
  • X-Agent-Label — Value of the AGENT_LABEL environment variable. Omitted when not set
  • Required — The Required tool exposed by this server
  • Optional — The Optional tool exposed by this server
  • sendEmail — Sends a transactional email to one recipient or up to 50 recipients
  • sendEmailWithTemplate — Provide either templateId (number) or templateAlias (string), not both
  • sendBatch — Sends up to 500 emails in a single API call. Each message is fully independent — its own recipient, subject, and body. This wraps Postmark's synchronous
  • sendBatchWithTemplate — Sends up to 500 templated emails — same template, per-recipient template models. Ideal for "render this onboarding template for each new user" flows
  • listTemplates — Lists saved templates on this server. Returns the first 100 templates; if a server has more than 100, pagination is not yet supported and the response will
  • getTemplate — Retrieves a single template's full content (HTML body, text body, subject, type)
  • createTemplate — Creates a new template. Requires name. At least one of htmlBody or textBody must be provided

Installing the postmark mcp mcp server

Setup follows the standard MCP pattern: clone or install the server, then register it in your client's configuration file and restart the client. The configuration snippets on this page cover Claude Desktop, Claude Code and Cursor.

Configuration

Before the server will start you need to supply 3 environment variables: POSTMARK_SERVER_TOKEN, DEFAULT_SENDER_EMAIL, DEFAULT_MESSAGE_STREAM. Keep credentials in your client's env block or a secrets manager rather than committing them.

Requirements

Where it fits

Communication servers earn their keep on volume — summarising channels and threads that would otherwise cost you an hour of scrollback. Postmark MCP sits in that group, and the shape of its toolset — Header, X-Postmark-Client, X-Postmark-Client-Version among others — tells you what it is really for. Worth comparing against the other communication servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.

Practical notes

  • This server runs locally, so it operates with whatever access your machine and its credentials already have. Scope that deliberately rather than by default.
  • It will not start until its required credentials are present, so set those before wondering why the tools never appear.
  • With 14 tools exposed, expect a noticeable bump in prompt size — disable it in projects that never use Postmark MCP.
  • Maintained by ActiveCampaign.
  • MCP clients ask for confirmation before each tool call by default. Keep that on while you learn what the postmark mcp mcp server actually does with your data.
  • Every entry in this directory is reviewed by hand before it goes live, and details are checked against the project's own documentation.

Available tools

ToolWhat it does
HeaderDescription
X-Postmark-ClientAlways postmark-mcp — identifies this server as the request origin
X-Postmark-Client-VersionVersion of this MCP server, matching the package version
X-Postmark-MCP-ClientName and version of the MCP host application (e.g., claude-desktop/1.0), captured from the MCP initialize handshake. Omitted if the client does not provide this information.
X-Agent-LabelValue of the AGENT_LABEL environment variable. Omitted when not set.
RequiredThe Required tool exposed by this server.
OptionalThe Optional tool exposed by this server.
sendEmailSends a transactional email to one recipient or up to 50 recipients.
sendEmailWithTemplateProvide **either** templateId (number) **or** templateAlias (string), not both.
sendBatchSends up to 500 emails in a single API call. Each message is fully independent — its own recipient, subject, and body. This wraps Postmark's *synchronous* batch endpoint (POST /email/batch), which returns immediate per-m
sendBatchWithTemplateSends up to 500 templated emails — same template, per-recipient template models. Ideal for "render this onboarding template for each new user" flows.
listTemplatesLists saved templates on this server. Returns the first 100 templates; if a server has more than 100, pagination is not yet supported and the response will indicate that results are truncated.
getTemplateRetrieves a single template's full content (HTML body, text body, subject, type).
createTemplateCreates a new template. Requires name. At least one of htmlBody or textBody must be provided.

How to install the Postmark MCP MCP server

### Using a local clone

```json
{
  "mcpServers": {
    "postmark": {
      "command": "node",
      "args": ["/absolute/path/to/postmark-mcp/index.js"],
      "env": {
        "POSTMARK_SERVER_TOKEN": "your-postmark-server-token",
        "DEFAULT_SENDER_EMAIL": "your-sender-email@example.com",
        "DEFAULT_MESSAGE_STREAM": "outbound"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
POSTMARK_SERVER_TOKENCredential the server authenticates with.Yes
DEFAULT_SENDER_EMAILConfiguration value read at startup.Optional
DEFAULT_MESSAGE_STREAMConfiguration value read at startup.Optional

Example prompts to try

  • Use Postmark MCP to Header.
  • Use Postmark MCP to X-Postmark-Client.
  • Use Postmark MCP to X-Postmark-Client-Version.

Frequently asked questions

It connects Postmark MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (Header, X-Postmark-Client, X-Postmark-Client-Version, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Postmark MCP directly.