Postmark
listing.by
Send transactional email, manage templates and check bounces, delivery stats and webhooks in your Postmark account.
listing.install
listing.local.explain
listing.local.needs listing.local.note
POSTMARK_SERVER_TOKENlisting.env.secret Postmark server API token.DEFAULT_SENDER_EMAILVerified sender address.DEFAULT_MESSAGE_STREAMMessage stream ID, e.g. outbound.
listing.share.h
listing.share.p_local
mcp.tc/i/postmarklisting.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.
listing.can
- 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
listing.tools
listing.notools.key
listing.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.
listing.setup.h
listing.setup.local
Claude Code
- 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- 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
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"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>"
}
}
}
}- 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):
{
"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:
{
"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
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"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>"
}
}
}
}- 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-mcpOr edit ~/.codex/config.toml directly:
[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-mcpThis 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.
listing.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.
listing.em.h
listing.em.lead_local listing.em.how
listing.em.badge
[](https://mcp.tc/i/postmark)<a href="https://mcp.tc/i/postmark"><img src="https://mcp.tc/i/postmark/badge.svg" alt="Postmark on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/postmark.js" async></script>listing.em.widget_note
iframe
<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>listing.em.iframe_note
listing.disclaimer_checked