getpoststack/mcp

๐Ÿ’ฌ Communication
0 Views
0 Installs

๐Ÿ“‡ โ˜๏ธ ๐ŸŽ ๐ŸชŸ ๐Ÿง - EU-hosted email API exposed as MCP tools โ€” send transactional and marketing email, manage contacts and segments, run broadcasts, render templates, and read analytics from Claude/Cursor. GDPR compliant, EU-only data residency (Germany + Finland). npx -y @poststack.dev/mcp.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "getpoststack-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "getpoststack-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

@poststack.dev/mcp

Model Context Protocol server for the PostStack Email API โ€” an EU-hosted, GDPR-compliant email API for AI agents. Lets assistants like Claude, Cursor, and Windsurf send transactional email, draft replies from inbound threads, run deliverability checks, summarise broadcasts, and more โ€” through one curated tool surface.

102 tools, 5 prompts, and 5 resources, all surfaced over either the local stdio 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 -e POSTSTACK_API_KEY=sk_live_your_api_key_here -- npx -y @poststack.dev/mcp

Cursor / VS Code

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

Environment variables

VariableRequiredDescription
POSTSTACK_API_KEYyesPostStack API key (sk_live_โ€ฆ or sk_test_โ€ฆ)
POSTSTACK_MCP_TRACEnoSet 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 (102)

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.

email-validations

  • validate_email โ€” Check whether an email address is safe to send to BEFORE create_contact or send_email.
  • validate_email_batch โ€” Validate up to 100 email addresses in a single call. Same checks as validate_email per address.

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.

workflows

  • list_workflows โ€” List all workflows (event-triggered automation pipelines) defined for this team.
  • get_workflow โ€” Get full details of a workflow including its ordered steps.
  • create_workflow โ€” Create a new workflow shell (no steps yet, status=draft).
  • update_workflow โ€” Update a workflow's name, trigger type, or trigger config.
  • delete_workflow โ€” Permanently delete a workflow and its steps. In-flight runs are NOT cancelled โ€” they finish on the live engine.
  • add_workflow_step โ€” Append (or insert) a step to a workflow.
  • update_workflow_step โ€” Update a step's config. Cannot change step_type or position โ€” delete and re-add for that.
  • remove_workflow_step โ€” Remove a step from a workflow. Remaining steps keep their positions (gaps are allowed).
  • activate_workflow โ€” Move a workflow from draft/paused to active so new trigger events start runs.
  • pause_workflow โ€” Pause an active workflow so new trigger events DO NOT start runs. In-flight runs continue to completion.
  • trigger_workflow โ€” Manually fire a workflow for a specific contact. Works for any trigger_type, but most useful for "manual" workflows.

signup-forms

  • list_signup_forms โ€” List embeddable signup forms.
  • get_signup_form โ€” Get full details of a signup form including its fields, target segment, and submission count.
  • create_signup_form โ€” Create an embeddable signup form. Submissions create a contact and optionally add them to a segment / subscription topic.
  • update_signup_form โ€” Update a signup form's fields, target segment/topic, messaging, or active state.
  • delete_signup_form โ€” Permanently delete a signup form. Embedded copies on existing pages will fail with 404.

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 (tracking, TLS, inbound, BIMI, sending stream).
  • 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.

Related MCP Servers

AbdelStark/nostr-mcp

โ˜๏ธ - A Nostr MCP server that allows to interact with Nostr, enabling posting notes, and more.

๐Ÿ’ฌ Communication0 views
adhikasp/mcp-twikit

๐Ÿ โ˜๏ธ - Interact with Twitter search and timeline

๐Ÿ’ฌ Communication0 views
aeoess/mingle-mcp

๐Ÿ“‡ โ˜๏ธ - Agent-to-agent networking. Your AI publishes what you need, matches with other people's agents, both humans approve before connecting. 6 tools, Ed25519 signed, shared network at api.aeoess.com.

๐Ÿ’ฌ Communication0 views
agenticmail/agenticmail

๐Ÿ“‡ ๐Ÿ  ๐ŸŽ ๐ŸชŸ ๐Ÿง - Real email and SMS for AI agents. Run a local mail server with disposable inboxes, send/receive real email, fetch verification codes, and drive a real inbox โ€” all from your machine, no third-party email API. Install with npx @agenticmail/mcp.

๐Ÿ’ฌ Communication0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

Last checked: 7/29/2026, 12:28:52 PM

Unclaimed listing (imported or pending owner verification). Claim it โ†’
โ˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.