Skip to content

MCP Server

Connect PostStack to AI assistants like Claude, Cursor, and Windsurf through the Model Context Protocol. 84 tools, 5 prompts, and 5 resources covering the full API plus the context tools an agent needs to actually decide what to send.

What is MCP? The Model Context Protocol is an open standard that lets AI assistants call external tools, follow guided prompts, and read structured resources. PostStack ships both a hosted endpoint (one URL, no install) and a local stdio bin.

Hosted (Claude.ai connector)

Point any MCP client at a single URL — no local install, no Node, no npx. Authenticate with your PostStack API key as a Bearer token.

text
https://api.poststack.dev/mcp

Local (stdio)

No install needed — the server runs directly via npx. Pick your client below and add the configuration. You will need a PostStack API key from the dashboard.

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

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

You can also generate the snippet from the bin:

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

Claude Code

Add PostStack as an MCP server directly from the terminal:

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

Cursor / VS Code

Add to your editor's MCP configuration:

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

Tools (84)

Every PostStack endpoint is exposed as an MCP tool, plus 12 context-and-reasoning tools the agent uses to decide what to send.

ResourceTools
Emailssend, send_batch, list, get, cancel, reschedule, lint_email, preview_email
Contactscreate, list, get, update, delete, unsubscribe, get_by_email, get_activity, get_engagement_summary, search
Templatescreate, list, get, update, delete, publish, unpublish, duplicate, render
Broadcastscreate, list, get, update, send, cancel, broadcast_performance, find_non_clickers
Domainscreate, list, get, verify, update, delete, check_deliverability
Mailboxescreate, list, get, update, delete, change_password, suggest_from_address
Inbound Emailslist, get, list_attachments, reply, forward, draft_from_thread
Webhookscreate, list, get, update, delete
Segmentscreate, list, get, update, delete, add/remove contacts
Subscription Topicscreate, list, delete, get/add/remove contact subscriptions
Contact Propertiescreate, list, update, delete custom properties
Suppressionslist, add, remove
API Keyscreate, list, get, revoke

Prompts (5)

Each prompt is a guided playbook. The agent follows the steps, calls the tools in the right order, and never sends destructively without your approval.

draft_welcome_email

Look up the contact, pick a published template, render, lint, send — only if preview passes.

reengage_dormant

Audience-size dormant contacts, pick a template, stage a broadcast for review.

followup_non_clickers

Find the best-performing recent broadcast, pull non-clickers, draft a follow-up.

summarize_campaign

Produce a 4-bullet performance report with a one-line recommendation.

triage_inbound

Read an inbound message, classify it, look up the sender, propose the next action.

Resources (5)

Discoverable read-only data the agent can pull before deciding what to do.

URIReturns
poststack://templatesPaginated list of email templates
poststack://templates/{id}Single template body + variables
poststack://domainsVerified domains + DNS state
poststack://segmentsContact segments + counts
poststack://brandTeam identity + recommended default from-address

Example prompts

With the MCP server connected you can ask your AI assistant to:

Draft and send a personalised welcome to ada@lovelace.io

Triggers the draft_welcome_email prompt — the agent looks her up, picks a template, lints, and asks before sending.

Which broadcast last month had the best CTR? Draft a follow-up to people who didn't click.

Triggers the followup_non_clickers prompt end-to-end — broadcast_performance → find_non_clickers → render_template → review.

Is hello@acme.io safe to send from right now?

check_deliverability returns DKIM/SPF/DMARC verification status, 30-day bounce + complaint rate, and warnings.

Summarise the spring product update broadcast

Triggers summarize_campaign — headline metrics, A/B winner if applicable, one-line recommendation.

Triage inbound 7

Triggers triage_inbound — reads the message, looks up the sender, classifies, proposes the next action.

Permissions

The MCP server authenticates using your API key. Pick the right key type to control what the assistant is allowed to do:

full_access

All 84 tools enabled — send emails, manage domains, contacts, templates, webhooks, and everything else.

sending_access

Restricted to sending emails only. Use this when you want the assistant to compose and send but not modify your account.

Create and manage API keys in the dashboard. See Authentication for more details.

Analytics

Every tool call served over the hosted endpoint lands in your MCP analytics dashboard. You can see total calls, error rate, p50 / p95 latency, top tools, an hourly heatmap, and the last few errors for triage — picked over the last 24 hours, 7 days, or 30 days.

What's persisted: tool name, duration, ok/error, transport, and a SHA-256 hash of the input arguments (never the arguments themselves). Rows older than 30 days are auto-deleted. The error-rate alert fires when more than 5% of calls in a 5-minute window failed.