Postmark MCP Server

Official MCP server from Postmark with 24 tools: send transactional email, maintain templates, and diagnose delivery problems by asking.

Description

The Postmark MCP Server connects AI assistants such as Claude Code or Cursor to your Postmark account. Instead of searching for a message in the web interface or writing API calls by hand, you phrase a task, for example "Why did this address not receive my confirmation email?" or "Create a template for the welcome email", and the assistant calls the matching tools. According to the repository the project carries the description "Official Postmark MCP server by ActiveCampaign", is released under the MIT license, currently has around 60 stars, is not archived, and was last updated on October 14, 2026. The package is called @activecampaign/postmark-mcp; pay attention to exactly this name and to the repository address of the ActiveCampaign organization, because look-alike packages with a similar name have been noticed in the past.

What can the Postmark MCP Server do?

According to the README the server offers 24 tools in several groups. For sending there is a single email (to one or up to 50 recipients), sending with a template, and batch sending of up to 500 independent messages per call. For templates there are list, read, create, edit, delete, and validate. Added to that are searching sent messages with a detail view, searching, retrieving, and reactivating bounces (delivery failures), managing suppression lists, delivery statistics, server information, and webhooks. Particularly practical is a diagnostic tool: for a recipient address it checks messages, suppressions, and bounces and recommends an action.

What is it particularly useful for?

Its value lies mainly in troubleshooting and maintenance. When a customer reports that the password email never arrived, the assistant can find the message, read its status, and explain whether a suppression or a bounce is behind it. When designing templates it checks content before it goes live. Compared with clicking through manually this saves time, because the assistant chains several queries and delivers the answer in prose. Anyone who already works on an application with Claude Code or Cursor can handle email topics in the same conversation.

Setup and configuration

The prerequisite is Node.js 20 or later and a Postmark account with a server token. Starting without a clone via npx -y @activecampaign/postmark-mcp is recommended. Three environment variables are required: POSTMARK_SERVER_TOKEN for the token, DEFAULT_SENDER_EMAIL for a sender address confirmed in Postmark, and DEFAULT_MESSAGE_STREAM, for example outbound. Optional are AGENT_LABEL to label the traffic, WEBHOOK_URL_ALLOWLIST to limit permitted webhook addresses, LOG_FILE, and LOG_EMAIL_FULL. For Cursor the repository offers a quick install; for Claude Desktop you add the server to the configuration file.

Security: what to keep in mind

According to the README the server has the full rights of the server token in use; Postmark offers no restricted permissions for it. The repository therefore recommends a dedicated Postmark server just for MCP traffic with limited streams and senders, and rotating the token if exposure is suspected. The tools are divided into risk tiers: read-only (twelve tools), additive, sending, and destructive (edit or delete a template, delete a webhook or suppression). Keep confirmation prompts switched on for sending and changing. The README also warns about prompt injection: malicious content in emails or templates could trick the assistant into unintended calls. When creating webhooks only HTTPS addresses are allowed, and an allow list is advisable.

Limits

The README names some restrictions: listing templates returns the first 100 without paging, suppression calls process up to 50 addresses, spam complaints cannot be removed from the suppression list, bounce dumps stay available for 30 days, and the server uses only the synchronous batch interface, not the asynchronous bulk API. Open and click tracking is enabled automatically on every send, which you should consider for privacy-sensitive mail.

Costs

The MCP server itself is free under the MIT license. Costs arise for Postmark. According to the pricing page there is a permanently free developer plan with a small monthly allowance and no overage, plus paid plans with larger allowances, more sending domains, and longer data retention; additional messages are billed per thousand. Current terms are on the official pricing page.

Who is the Postmark MCP Server for?

It is worthwhile for teams and individual developers who already use Postmark for application email and want to handle diagnosis, template maintenance, and statistics in conversation. Without a Postmark account it is useless. Start with a test server and read-only tasks before you allow sending or changes.

Requirements

Node.js 20 or later, an MCP client such as Claude Code or Cursor, and a Postmark account with a server token and a confirmed sender address.

Installation instructions

With the Postmark MCP Server an AI assistant searches messages, maintains templates, and diagnoses delivery problems. This guide leads from the prerequisites to the first query.

Step 1: Check the prerequisites

You need Node.js 20 or later, an MCP client such as Claude Code or Cursor, and a Postmark account. Create a dedicated server in Postmark just for MCP use, because the token has all rights of that server and cannot be restricted.

Step 2: Prepare token and sender

Copy the server token from Postmark. You also need a sender address confirmed there and the name of the message stream, usually outbound. For tests use a test server so that no real customers receive mail.

Step 3: Register it in the MCP client

In Claude Code the command is claude mcp add postmark -e POSTMARK_SERVER_TOKEN=<token> -e DEFAULT_SENDER_EMAIL=<sender> -e DEFAULT_MESSAGE_STREAM=outbound -- npx -y @activecampaign/postmark-mcp. In Cursor use the quick install from the repository or add the same details to .cursor/mcp.json. Use exactly the package name @activecampaign/postmark-mcp, not similar-sounding packages.

bash
claude mcp add postmark -e POSTMARK_SERVER_TOKEN=<token> -e DEFAULT_SENDER_EMAIL=<sender> -e DEFAULT_MESSAGE_STREAM=outbound -- npx -y @activecampaign/postmark-mcp

Limit the risks

Keep confirmation prompts switched on for sending and changing; only read-only tools may run automatically. With WEBHOOK_URL_ALLOWLIST you limit the addresses that createWebhook accepts. Treat the content of inbound emails as untrusted, because it could manipulate the assistant.

Step 4: First queries

Start with read tasks, such as "Show the delivery statistics of the last week" or "Find the latest messages to customer@example.com". If an email fails to arrive, ask the assistant to diagnose the address. Test sending and changes on the test server first.

claude mcp add postmark -e POSTMARK_SERVER_TOKEN=<token> -e DEFAULT_SENDER_EMAIL=<absender> -e DEFAULT_MESSAGE_STREAM=outbound -- npx -y @activecampaign/postmark-mcp

Authentication

Postmark server token as the environment variable POSTMARK_SERVER_TOKEN.

Required access permissions

Read and write access to the Postmark server of the token: send email, change templates, suppressions, and webhooks, read messages and bounces. The token cannot be scoped.

Transmitted or stored data

The server runs locally on your machine and talks to the Postmark API. Retrieved messages, addresses, and templates enter the AI client context and therefore reach the model provider. Logs partially mask email addresses by default.

Security risks

Unintended sending of real emails, deletion of templates, webhooks, or suppression entries, prompt injection via email content, a token that cannot be scoped, and look-alike packages with a similar name.

License and costs

License
Not recorded yet.
Cost
free

The MCP server is free under the MIT license; Postmark offers a permanently free developer plan and paid plans. Details are on Postmark's official pricing page.

Alternatives

Not recorded yet.

At a glance

Provider
Postmark
Status
Official server
Deployment
Local
Current version
Not recorded yet.
Last reviewed
22.10.2026

Repository and documentation

Categories

Supported clients