Official Postmark MCP server for sending emails via Claude and AI assistants
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.
Send emails with Postmark using Claude and other MCP-compatible AI assistants.
Once connected, the assistant can call these 14 tools directly:
Header — DescriptionX-Postmark-Client — Always postmark-mcp — identifies this server as the request originX-Postmark-Client-Version — Version of this MCP server, matching the package versionX-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 provideX-Agent-Label — Value of the AGENT_LABEL environment variable. Omitted when not setRequired — The Required tool exposed by this serverOptional — The Optional tool exposed by this serversendEmail — Sends a transactional email to one recipient or up to 50 recipientssendEmailWithTemplate — Provide either templateId (number) or templateAlias (string), not bothsendBatch — 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 synchronoussendBatchWithTemplate — Sends up to 500 templated emails — same template, per-recipient template models. Ideal for "render this onboarding template for each new user" flowslistTemplates — 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 willgetTemplate — 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 providedSetup 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.
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.
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.
| Tool | What it does |
|---|---|
| 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 this information. |
| 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* batch endpoint (POST /email/batch), which returns immediate per-m |
| 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 indicate that results are truncated. |
| 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. |
### 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.
| Variable | Description | Required |
|---|---|---|
| POSTMARK_SERVER_TOKEN | Credential the server authenticates with. | Yes |
| DEFAULT_SENDER_EMAIL | Configuration value read at startup. | Optional |
| DEFAULT_MESSAGE_STREAM | Configuration value read at startup. | Optional |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.