MCP-native for Cursor, Claude Code, and Windsurf
For AI Agents

Give your agent an inbox.

One MCP server, 32 tools, every model. Drop the snippet below into Claude Desktop, Cursor, or any MCP-aware agent and it can send, schedule, and manage email in natural language.

32
MCP Tools
8+
Agents Supported
~90s
To First Send
MCP Server

Connect Posthawk MCP to
any AI agent in minutes.

Instead of switching between your AI assistant and the Posthawk dashboard, use natural language to send, schedule, query logs, manage contacts, and inspect deliverability — all from inside the agent.

Claude logoClaude
Cursor logoCursor
ChatGPT logoChatGPT
Copilot logoCopilot
Windsurf logoWindsurf
v0 logov0
Lovable logoLovable
Gemini logoGemini
Tool catalog

32 tools an agent can call,
grouped by resource.

Every tool maps 1:1 to a Posthawk API endpoint. The MCP server exposes them with JSON schemas so the agent picks the right one without prompting tricks.

Emails

2
  • send-emailSend transactional email
  • get-emailFetch a sent email by job ID

Scheduled

5
  • list-scheduledList pending scheduled sends
  • get-scheduledInspect one scheduled send
  • cancel-scheduledCancel before it fires
  • reschedule-emailChange the send-at time
  • send-nowPromote a scheduled send to immediate

Contacts

5
  • list-contactsPage through audience contacts
  • get-contactRead a single contact record
  • create-contactAdd a contact with tags + metadata
  • update-contactEdit fields, tags, or metadata
  • delete-contactHard-delete a contact

Domains

3
  • list-domainsList sending domains in the workspace
  • get-domainInspect DKIM, SPF, DMARC, status
  • verify-domainTrigger a verification re-check

Newsletters

13
  • list-newslettersList all newsletters
  • get-newsletterRead newsletter settings
  • create-newsletterSpin up a new newsletter
  • update-newsletterEdit settings, branding, footer
  • list-subscribersPage through confirmed subscribers
  • add-subscriberAdd a subscriber (with DOI if required)
  • unsubscribe-subscriberSoft-unsubscribe a member
  • delete-subscriberHard-delete a subscriber
  • list-issuesList drafted and sent issues
  • get-issueRead one issue’s content + status
  • create-issueCompose a new issue
  • update-issueEdit subject, body, schedule
  • send-issueSend a finished issue

Templates

1
  • render-templateServer-render a template to HTML

Webhooks

3
  • list-webhooksList configured webhook endpoints
  • create-webhookSubscribe to email events
  • delete-webhookRemove a webhook endpoint

Total: 32 tools · All registered via the official MCP SDK · source on GitHub →

Integration paths

Everything an agent needs,
however it's built

Whether your agent calls tools over MCP, imports an SDK, shells out to a CLI, or hits the raw API — Posthawk meets it where it is.

MCP Server

Connect the official Posthawk MCP server to any compatible agent — Claude, Claude Code, Cursor, Windsurf, or VS Code — and send emails, manage contacts, schedule sends, and check domains through natural language. 32 tools, OAuth 2.1.

npx posthawk-mcpView MCP server

Official SDKs

First-class libraries for the languages agents write most. Type-safe clients with the same API surface — Emails, Scheduled, Contacts, and more — so generated code just works.

npm i posthawkBrowse SDKs

CLI

A single binary an agent can shell out to — send, preview, and tail logs from any terminal or CI step. One-shot inline sends, no SDK import, exit codes you can branch on.

npm i -g posthawkExplore the CLI

REST API

A clean, predictable REST API for direct tool use — send email, manage contacts, create campaigns, render templates, and configure webhooks. Stable endpoints, bearer auth.

api.posthawk.devAPI reference

LLM-ready docs

A machine-readable llms.txt and docs written to be parsed by models, not just humans. Point an agent at it and it learns the auth flow, deliverability rules, and every endpoint.

posthawk.dev/llms.txtRead llms.txt

Self-hosted ready

Set POSTHAWK_BASE_URL and the same MCP server, SDKs, and CLI point at your own instance. Agents operate your infrastructure — your data never leaves your network.

POSTHAWK_BASE_URL=…Self-hosting guide
Example Conversation
Natural language

Describe it.
The agent sends it.

No HTTP plumbing, no SDK boilerplate in the prompt. The agent reads the tool schema, picks the right call, and fills the arguments — you just say what you want.

Getting started

From zero to sending
in minutes

01

Connect once

One command wires Posthawk into your agent. Claude Code uses OAuth — no API key to paste. Other clients drop in an npx config with a key.

02

Authorize the workspace

OAuth opens your browser, you pick a workspace and click Authorize. An API key is created and scoped automatically.

03

Let the agent send

"Email the new signups a welcome from hello@acme.com." The agent picks the right tool, fills the args, and executes — no dashboard.

OAuth 2.1 + scoped keys

PKCE and dynamic client registration for secure remote access. Every agent acts inside one authorized workspace.

Your infra, optional

Run the same MCP server, SDKs, and CLI against a self-hosted instance. Agents never touch a third party.

One API surface

MCP, SDKs, CLI, and REST all map to the same endpoints — what the agent learns once works everywhere.

FAQ

Common questions before
you connect an agent.

No. The MCP server runs locally on the user’s machine (stdio transport) or on a host you control (HTTP transport with OAuth 2.1). The agent only sees the tool schemas and the responses to its tool calls. Your Posthawk API key never crosses to the model provider.

Give your agent an inbox

Connect Posthawk to your AI workflow in under a minute — free to start.

Cookie Preferences

I use analytics cookies to understand how you use the site and improve your experience. Privacy Policy