getpoststack

@poststack.dev/mcp

Community getpoststack
Updated

MCP server for the PostStack Email API — 84 tools, 5 prompts, 5 resources for AI agents.

@poststack.dev/mcp

Model Context Protocol server for thePostStack Email API — anEU-hosted, GDPR-compliantemail API for AI agents. Lets assistantslike Claude, Cursor, and Windsurf send transactional email, draft repliesfrom inbound threads, run deliverability checks, summarise broadcasts, andmore — through one curated tool surface.

84 tools, 5 prompts, and 5 resources, all surfaced over either the localstdio bin or the hosted HTTP transport at https://api.poststack.dev/mcp.

Full MCP reference: poststack.dev/docs/mcp.

Quickstart

Hosted (Claude.ai connector, hosted agents)

Point any MCP client at:

https://api.poststack.dev/mcp

Authenticate with your PostStack API key as a Bearer token. No local install required.

Claude Desktop (stdio)

{
	"mcpServers": {
		"poststack": {
			"command": "npx",
			"args": ["-y", "@poststack.dev/mcp"],
			"env": {
				"POSTSTACK_API_KEY": "sk_live_your_api_key_here"
			}
		}
	}
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

You can also generate the snippet with:

npx @poststack.dev/mcp --print-config claude-desktop

Claude Code

claude mcp add poststack -- npx -y @poststack.dev/mcp -e POSTSTACK_API_KEY=sk_live_your_api_key_here

Cursor / VS Code

Same JSON shape as Claude Desktop, in the editor's MCP settings.

Environment variables

Variable Required Description
POSTSTACK_API_KEY yes PostStack API key (sk_live_… or sk_test_…)
POSTSTACK_MCP_TRACE no Set to 1 to emit per-tool-call NDJSON telemetry to stderr

What the agent gets

The MCP server doesn't just mirror the REST API — it gives agents the context tools they need to make sensible decisions: spam-checking before sending, deliverability summaries before picking a from-address, engagement scores before re-engaging a contact.

Worked example: welcome email

The draft_welcome_email prompt walks an agent through:

  1. get_contact_by_email — confirm the contact and capture properties
  2. list_templates — pick a published welcome template
  3. render_template — render with the contact's properties; surface any missing variables
  4. suggest_from_address — pick a verified from-address based on existing mailboxes
  5. preview_email — render + spam check + deliverability warnings in one round-trip
  6. send_email — only if preview passed

Other prompts cover re-engagement, follow-up campaigns to non-clickers, broadcast summaries, and inbound triage.

Reference

Tools (84)

emails
  • send_email — Send a single transactional email immediately, or schedule it for a future time.
  • send_batch_emails — Send multiple emails in a single batch request (up to 100 per call).
  • list_emails — List previously-sent emails with optional filters and pagination.
  • get_email — Get full details and event timeline for a specific email by id.
  • cancel_email — Cancel a scheduled email that has not yet entered the sending pipeline.
  • reschedule_email — Reschedule a scheduled email to a new send time.
  • lint_email — Run a Rspamd-backed spam pre-flight on a draft email and return the score, action, and per-rule symbols.
  • preview_email — Render + lint + measure an email in one shot WITHOUT sending it.
contacts
  • create_contact — Create a new contact (person who can receive emails / broadcasts).
  • list_contacts — List contacts with optional search and segment filtering.
  • get_contact — Get full details of a contact by id.
  • update_contact — Update an existing contact's name, properties, or subscription state.
  • delete_contact — Permanently delete a contact (irreversible — use unsubscribe_contact for opt-outs).
  • unsubscribe_contact — Mark a contact as unsubscribed from all email (preserves the contact record).
  • get_contact_by_email — Look up a contact by their email address.
  • get_contact_activity — Get a contact's recent email-event timeline grouped by event type (sent / delivered / opened / clicked / bounced / complained / failed).
  • get_engagement_summary — Get a single contact's engagement summary: segment + lifetime counts + open / click rates + last open / click + top tags.
  • search_contacts — Search contacts with filters (segment, engagement, unsubscribed) and a fuzzy query across email/first_name/last_name. Adds a match_reason on each row indicating which field matched the query.
templates
  • create_template — Create a new email template with {{variable}} placeholders.
  • list_templates — List email templates.
  • get_template — Get a template's full body, subject and variables.
  • update_template — Update an existing template's name, subject, body or variable list.
  • delete_template — Permanently delete a template (irreversible).
  • publish_template — Mark a template as published so it can be referenced by send_email.
  • unpublish_template — Mark a template as unpublished so it cannot be sent.
  • duplicate_template — Create a copy of an existing template (new id, same body, name suffixed " (copy)").
  • render_template — Server-side render a template with the provided variables.
broadcasts
  • create_broadcast — Create a draft broadcast targeted at a segment.
  • list_broadcasts — List broadcasts.
  • get_broadcast — Get a broadcast's details and aggregate delivery stats.
  • update_broadcast — Edit a draft broadcast in place. Only draft broadcasts can be updated.
  • send_broadcast — Dispatch a draft broadcast to its segment immediately.
  • cancel_broadcast — Cancel a queued or sending broadcast.
  • broadcast_performance — Get broadcast performance — either for one broadcast (variant breakdown if A/B) or for a leaderboard ranked by a chosen metric.
  • find_non_clickers — List contacts who received a broadcast but did NOT click any tracked link in it.
segments
  • create_segment — Create a static contact segment (manually-managed list).
  • list_segments — List contact segments.
  • get_segment — Get a segment's details and member count.
  • update_segment — Rename an existing segment.
  • delete_segment — Delete a segment definition. Contacts in it are NOT deleted.
  • add_contacts_to_segment — Add one or more contacts to a segment.
  • remove_contact_from_segment — Remove a single contact from a segment.
domains
  • create_domain — Add a new sending domain to PostStack.
  • list_domains — List sending domains.
  • get_domain — Get domain details including DNS records and verification status.
  • verify_domain — Trigger DNS verification for a domain.
  • update_domain — Update domain settings (open/click tracking, TLS mode).
  • delete_domain — Permanently delete a sending domain (irreversible — historical email records remain).
  • check_deliverability — Check whether a from-address is safe to send from RIGHT NOW.
mailboxes
  • create_mailbox — Provision a mailbox (IMAP/SMTP inbox) on a verified domain.
  • list_mailboxes — List mailboxes across all domains.
  • get_mailbox — Get a mailbox's metadata (status, quota, last login).
  • update_mailbox — Update a mailbox's display name, quota, status, or webhook setting.
  • delete_mailbox — Permanently delete a mailbox and all its stored mail.
  • change_mailbox_password — Reset a mailbox's IMAP/SMTP password.
  • suggest_from_address — Suggest sensible from-addresses for a given purpose, drawn from the team's verified domains + existing mailboxes.
inbound-emails
  • list_inbound_emails — List inbound emails received by mailboxes on this account.
  • get_inbound_email — Get a received inbound email's full headers and body.
  • list_inbound_email_attachments — List attachments on an inbound email (filename, size, contentType).
  • reply_to_inbound_email — Send a reply to an inbound email (subject and threading headers are set automatically).
  • forward_inbound_email — Forward an inbound email to other recipients with an optional cover note.
  • draft_from_thread — Build a reply-draft skeleton for an inbound email — proper threading, quoted original, salutation/sign-off, suggested from + subject. Heuristic only; the agent fills in the body text.
webhooks
  • create_webhook — Subscribe a URL to receive event notifications via signed POST requests.
  • list_webhooks — List configured webhook endpoints.
  • get_webhook — Get a webhook's details.
  • update_webhook — Edit a webhook's URL, event list, or enabled state.
  • delete_webhook — Permanently delete a webhook endpoint.
subscription-topics
  • create_subscription_topic — Create a subscription topic (named opt-in/opt-out preference like "Product Updates").
  • list_subscription_topics — List all subscription topics defined for this account.
  • delete_subscription_topic — Permanently delete a subscription topic. Subscriptions are removed.
  • get_contact_subscriptions — List the subscription topics a contact is currently opted in to.
  • subscribe_contact_to_topic — Opt a contact in to a subscription topic.
  • unsubscribe_contact_from_topic — Opt a contact out of a subscription topic.
contact-properties
  • create_contact_property — Define a custom contact property (typed schema for the contact.properties field).
  • list_contact_properties — List all custom contact properties defined for this account.
  • update_contact_property — Edit a custom contact property's label, options or required flag.
  • delete_contact_property — Remove a custom contact property definition. Existing contact values for this property are dropped.
suppressions
  • list_suppressions — List suppressed email addresses (will not receive any emails).
  • add_suppression — Block an email address from receiving any future sends.
  • remove_suppression — Remove an address from the suppression list (sends will resume).
api-keys
  • create_api_key — Generate a new PostStack API key. The full key is returned ONCE in this response and cannot be retrieved again.
  • list_api_keys — List API keys (only the prefix is returned, never the full secret).
  • get_api_key — Get an API key's metadata (the secret is never returned after creation).
  • revoke_api_key — Permanently revoke an API key — all subsequent requests using it will fail.

Prompts (5)

  • draft_welcome_email — Guide the agent through drafting and sending a personalised welcome email to a new contact. Looks the contact up, picks a published welcome template, renders it, lints, and sends.
  • reengage_dormant — Find dormant contacts and draft a re-engagement campaign. Pulls the dormant segment, picks an opt-out-friendly template, and stages a broadcast for review.
  • followup_non_clickers — Demo B path — find the best-performing recent broadcast, identify recipients who did NOT click, and draft a follow-up to them.
  • summarize_campaign — Produce a short performance report for a broadcast: headline metrics, A/B winner if applicable, and a one-line recommendation.
  • triage_inbound — Read an inbound email, classify it (support / sales / billing / spam / other), and propose the next action. Drafts a reply skeleton if appropriate.

Resources (5)

  • poststack://templates — List of all email templates for the authenticated team. Includes id, name, subject, version, published flag.
  • poststack://templates/{id} — A single template by publicId — full body, subject, variables.
  • poststack://domains — List of sending domains for the authenticated team — name, status, DNS records, tracking flags.
  • poststack://segments — List of contact segments for the authenticated team — id, name, contact count.
  • poststack://brand — Authenticated team identity + a default sending suggestion. Includes team name, verified domain count, and the recommended from-address derived from existing mailboxes.

Links

License

MIT — see LICENSE.

MCP Server · Populars

MCP Server · New

    wallneradam

    Claude Auto-Approve MCP

    An MCP server to inject auto-approve MCP functionality into Claude Desktop

    Community wallneradam
    YV17labs

    ghostdesk

    Give any AI agent a full desktop — it sees the screen, clicks, types, and runs apps like a human. Automate anything with a UI: browsers, legacy software, internal tools. No API needed. One Docker command.

    Community YV17labs
    remotebrowser

    mcp

    Free your data

    Community remotebrowser
    Decodo

    Decodo MCP Server

    The Decodo MCP server which enables MCP clients to interface with services.

    Community Decodo
    kuberstar

    Qartez MCP

    Semantic code intelligence MCP server for Claude Code - project maps, symbol search, impact analysis, and more

    Community kuberstar