# Postmark — how to use (mcp.ai)

Connect your Postmark account and use 46 tools for transactional email straight from your AI agent. Connect with your own API key. Postmark is an email delivery service that enables developers to send transactional emails with high deliverability and detailed analytics.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_postmark?ms=1787295720000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `postmark_archive_message_stream`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/postmark`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/postmark/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/postmark/archive/message/stream` — Tool to archive a message stream (soft delete). Use when you need to remove a message stream that will be permanently deleted after 45 days.
  - body: { stream_id: string }
- `POST https://api.mcp.ai/api/postmark/check/spam/score` — Tool to assess the spam score of a raw email via the SpamCheck API. Use when you have full email source and need spam scoring before sending. Returns spam score and detailed report.
  - body: { email: string, options?: string }
- `POST https://api.mcp.ai/api/postmark/create/inbound/rule` — Tool to create a new inbound rule trigger to block email from a specific sender or domain. Use when you need to prevent emails from specific addresses or domains from being processed.
  - body: { Rule: string }
- `POST https://api.mcp.ai/api/postmark/create/message/stream` — Tool to create a new message stream. Use when you need to set up separate streams for transactional or broadcast emails.
  - body: { ID: string, Name: string, Description?: string, MessageStreamType: string }
- `POST https://api.mcp.ai/api/postmark/create/suppressions` — Tool to add email addresses to the suppression list for a message stream. Use when you need to prevent emails from being sent to specific addresses.
  - body: { stream_id: string, Suppressions: object[] }
- `POST https://api.mcp.ai/api/postmark/create/template` — Tool to create a new email template. Use when you need reusable templates before sending emails.
  - body: { Name: string, Alias?: string, Subject: string, HtmlBody: string, TextBody: string, TemplateType: string, LayoutTemplate?: string, AssociatedServerId?: integer }
- `POST https://api.mcp.ai/api/postmark/create/webhook` — Tool to create a new webhook configuration for Postmark. Use when you need to set up a webhook to receive event notifications for email tracking (opens, clicks, bounces, deliveries, etc.).
  - body: { Url: string, HttpAuth?: object, Triggers?: object, HttpHeaders?: object[], MessageStream?: string }
- `POST https://api.mcp.ai/api/postmark/delete/inbound/rule` — Tool to delete a specific inbound rule trigger. Use when you need to remove an inbound rule by its ID after confirming it's no longer needed.
  - body: { triggerid: integer }
- `POST https://api.mcp.ai/api/postmark/delete/suppressions` — Tool to remove email addresses from the suppression list for a message stream. Use when you need to reactivate previously suppressed email addresses. Note that only HardBounce and ManualSuppression ty
  - body: { stream_id: string, Suppressions: object[] }
- `POST https://api.mcp.ai/api/postmark/delete/template` — Tool to delete a template by its ID or alias. Use when you need to permanently remove a template after confirming it's no longer needed.
  - body: { templateIdOrAlias: string }
- `POST https://api.mcp.ai/api/postmark/delete/webhook` — Tool to delete a specific webhook. Use when you need to remove a webhook by its ID after confirming it's no longer needed.
  - body: { webhookID: integer }
- `POST https://api.mcp.ai/api/postmark/edit/server` — Tool to update settings for the current Postmark server. Use when you need to modify server configuration.
  - body: { Name: string, Color?: string, OpenHookUrl?: string, BounceHookUrl?: string, InboundDomain?: string, InboundHookUrl?: string, DeliveryHookUrl?: string, RawEmailEnabled?: boolean, SmtpApiActivated?: boolean, PostFirstOpenOnly?: boolean, InboundSpamThreshold?: integer }
- `POST https://api.mcp.ai/api/postmark/edit/template` — Tool to update an existing Postmark template by its ID. Use when you need to modify a template's name, subject, HTML or text body, alias, type, layout, or active status.
  - body: { Name?: string, Alias?: string, Active?: boolean, Subject?: string, HtmlBody?: string, TextBody?: string, templateID: integer, TemplateType?: string, LayoutTemplate?: string }
- `POST https://api.mcp.ai/api/postmark/edit/webhook` — Tool to update an existing webhook’s URL or triggers. Use when you need to modify webhook settings after confirming the webhookID.
  - body: { Url: string, Triggers: object, AuthToken?: string, webhookID: integer }
- `POST https://api.mcp.ai/api/postmark/get/bounce/counts` — Tool to get total counts of emails that have been returned as bounced. Use when you need aggregate bounce statistics and per-day breakdown by bounce type (hard bounce, soft bounce, transient, SMTP API
  - body: { tag?: string, todate?: string, fromdate?: string }
- `POST https://api.mcp.ai/api/postmark/get/bounces` — Tool to retrieve a list of bounces for a server with optional filters. Use when you need to page through bounce data after applying filters.
  - body: { tag?: string, type?: string, count?: integer, offset?: integer, todate?: string, fromdate?: string, inactive?: boolean, messageID?: string, emailFilter?: string, mailboxHash?: string }
- `POST https://api.mcp.ai/api/postmark/get/browser/platform/usage` — Tool to retrieve browser platform usage statistics for clicked links. Use after sending outbound emails with tracked links to analyze engagement by browser.
  - body: { tag?: string, todate?: string, fromdate?: string, messagestream?: string }
- `POST https://api.mcp.ai/api/postmark/get/browser/usage` — Tool to retrieve browser usage statistics for clicked links. Use after sending tracked outbound emails to analyze which browsers and platforms were used to click links.
  - body: { ToDate: string, FromDate: string, ServerID?: integer }
- `POST https://api.mcp.ai/api/postmark/get/click/counts` — Tool to retrieve total click counts across all links in emails. Use when you need aggregated click metrics for a given date range.
  - body: { os?: string, tag?: string, todate: string, country?: string, fromdate: string, platform?: string, client_name?: string }
- `POST https://api.mcp.ai/api/postmark/get/clicks/by/browser/family` — Tool to retrieve click statistics grouped by browser family. Use after sending outbound emails with tracked links to analyze which browser families recipients used to click links. Requires link tracki
  - body: { tag?: string, todate?: string, fromdate?: string }
- `POST https://api.mcp.ai/api/postmark/get/clicks/by/location` — Tool to get an overview of which part of the email links were clicked from (HTML or Text). Use when you need to analyze click patterns by content type.
  - body: { tag?: string, todate?: string, fromdate?: string }
- `POST https://api.mcp.ai/api/postmark/get/delivery/stats` — Tool to retrieve delivery statistics. Use after sending emails to get aggregated counts of deliveries, bounces, and spam complaints.
- `POST https://api.mcp.ai/api/postmark/get/email/client/usage` — Tool to retrieve statistics on email clients used to open emails. Use when you need to analyze which clients recipients open your outbound emails.
  - body: { tag?: string, todate?: string, fromdate?: string, messagestream?: string }
- `POST https://api.mcp.ai/api/postmark/get/email/open/counts` — Tool to retrieve counts of opened emails. Use when you need per-day and total open stats for a specified period.
  - body: { ToDate?: string, FromDate?: string, MessageStream?: string }
- `POST https://api.mcp.ai/api/postmark/get/message/stream` — Tool to retrieve details of a specific message stream by its ID. Use when you need to inspect stream configuration such as type, description, or subscription settings.
  - body: { streamID: string }
- `POST https://api.mcp.ai/api/postmark/get/opens/by/platform` — Tool to retrieve email open statistics by platform type. Use when you need to understand which platforms recipients use to open emails.
  - body: { tag?: string, todate?: string, fromdate?: string }
- `POST https://api.mcp.ai/api/postmark/get/outbound/overview` — Tool to retrieve outbound email statistics overview. Use when you need aggregated outbound metrics after sending emails.
- `POST https://api.mcp.ai/api/postmark/get/sent/counts` — Tool to retrieve total count of emails sent out. Use when you need per-day and total sent statistics for a specified period.
  - body: { tag?: string, todate?: string, fromdate?: string }
- `POST https://api.mcp.ai/api/postmark/get/server` — Tool to retrieve details of the current Postmark server. Use when you need to inspect server configuration (webhooks, tracking, tokens, etc.) before other operations.
- `POST https://api.mcp.ai/api/postmark/get/spam/complaints` — Tool to retrieve counts of spam complaints. Use when analyzing spam feedback trends after sending campaigns.
  - body: { tag?: string, to_date?: string, from_date?: string }
- `POST https://api.mcp.ai/api/postmark/get/template` — Tool to retrieve details of a specific template by its ID. Use after obtaining a template ID to inspect its configuration.
  - body: { templateID: integer }
- `POST https://api.mcp.ai/api/postmark/get/tracked/email/counts` — Tool to retrieve counts of emails with tracking enabled. Use after specifying a date range to analyze open and click metrics.
  - body: { todate: string, fromdate: string }
- `POST https://api.mcp.ai/api/postmark/get/webhook` — Tool to retrieve details of a specific webhook by its ID. Use when you need to inspect webhook configuration including URL, triggers, and message stream settings.
  - body: { webhook_id: integer }
- `POST https://api.mcp.ai/api/postmark/list/inbound/rules` — Tool to list all inbound rules (triggers) configured for blocking senders. Use when you need to retrieve configured inbound rules with pagination support.
  - body: { count?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/postmark/list/message/streams` — Tool to list all message streams for a Postmark server with optional type and archive filtering. Use when you need to retrieve available message streams. A server may have up to 10 streams including d
  - body: { MessageStreamType?: string, IncludeArchivedStreams?: boolean }
- `POST https://api.mcp.ai/api/postmark/list/outbound/message/clicks` — Tool to list clicks for outbound messages with filtering options. Use when you need to retrieve click events with pagination and optional filters like recipient, tag, client, OS, platform, or geograph
  - body: { tag?: string, city?: string, count: integer, offset: integer, region?: string, country?: string, os_name?: string, platform?: string, os_family?: string, recipient?: string, os_company?: string, client_name?: string, client_family?: string, client_company?: string }
- `POST https://api.mcp.ai/api/postmark/list/outbound/message/opens` — Tool to retrieve opens for outbound messages with filtering options. Use when you need to analyze email open events with detailed client, OS, and geographic data.
  - body: { tag?: string, city?: string, count?: integer, offset?: integer, region?: string, country?: string, os_name?: string, platform?: string, os_family?: string, recipient?: string, os_company?: string, client_name?: string, client_family?: string, client_company?: string }
- `POST https://api.mcp.ai/api/postmark/list/suppressions` — Tool to retrieve the suppression list for a message stream with optional filtering. Use when you need to view all suppressed email addresses for a stream.
  - body: { Origin?: string, todate?: string, fromdate?: string, stream_id: string, EmailAddress?: string, SuppressionReason?: string }
- `POST https://api.mcp.ai/api/postmark/list/templates` — Tool to list all templates for a Postmark server. Use when you need to retrieve available templates with optional pagination and filters.
  - body: { count?: integer, offset?: integer, templateType?: string, templateActive?: string }
- `POST https://api.mcp.ai/api/postmark/list/webhooks` — Tool to list all webhooks configured for your Postmark account. Use after authenticating your server token to retrieve current webhook configurations.
- `POST https://api.mcp.ai/api/postmark/search/inbound/messages` — Tool to search inbound messages received with optional filtering. Use when you need to retrieve inbound emails with pagination and various filters.
  - body: { tag?: string, count?: integer, offset?: integer, status?: string, todate?: string, subject?: string, fromdate?: string, fromemail?: string, recipient?: string, mailboxhash?: string }
- `POST https://api.mcp.ai/api/postmark/search/outbound/messages` — Tool to search outbound messages with filtering by recipient, tag, status, and date range. Use when you need to query sent messages with specific filters or pagination.
  - body: { tag?: string, count?: integer, offset?: integer, status?: string, todate?: string, fromdate?: string, fromemail?: string, recipient?: string }
- `POST https://api.mcp.ai/api/postmark/send/batch/with/templates` — Tool to send multiple templated emails in a single batch API call. Use when you need to send up to 500 templated messages at once.
  - body: { Messages: object[] }
- `POST https://api.mcp.ai/api/postmark/unarchive/message/stream` — Tool to unarchive a previously archived message stream. Use when you need to restore an archived stream (within 45 days of archiving).
  - body: { stream_id: string }
- `POST https://api.mcp.ai/api/postmark/update/message/stream` — Tool to update a message stream configuration in Postmark. Use when you need to modify a stream's name or description. Note that stream type and ID cannot be changed after creation.
  - body: { Name?: string, stream_ID: string, Description?: string }
- `POST https://api.mcp.ai/api/postmark/validate/template` — Tool to validate a Postmark template. Use when checking that a template's subject and body render correctly against sample data.
  - body: { Subject?: string, HtmlBody?: string, TextBody?: string, TemplateType: string, TestRenderModel: object }

## Example prompts
- "What can I do in Postmark?"
- "Show me a summary of my Postmark account"

## More
- Page: https://mcp.ai/postmark
- Agent spec (llms.txt): https://mcp.ai/postmark/llms.txt
- Postman collection: https://mcp.ai/postmark/postman.json
