
We built an MCP server that lets your AI agent handle customer messaging end to end. Sending, tracking, debugging, user management, preferences, automations. If you can do it in Courier, your agent can too.
It works with Cursor, Claude Code, Claude Desktop, Windsurf, VS Code, and the OpenAI Responses API. One config block to set up.
Here's how you can use the MCP to improve your workflows:
Plus tenants, bulk sends, brands, translations, auth tokens, audit events, and more.
Everything is backed by the official @trycourier/courier Node SDK with structured error handling, so your agent gets status codes and messages it can act on.
You need a Courier API key and one config step for your tool of choice. Grab a key from your Courier Settings, then pick your setup below.
Cursor has a one-click install on the docs page, or you can add it manually. Go to Cursor Settings > Tools & Integrations > MCP Tools > New MCP Server and add:
{
"mcpServers": {
"courier": {
"url": "https://mcp.courier.com",
"headers": {
"api_key": "YOUR_COURIER_API_KEY"
}
}
}
}Claude Code is a single command:
claude mcp add --transport http courier https://mcp.courier.com --header api_key:YOUR_COURIER_API_KEYThe MCP docs have setup instructions for Claude Desktop, Windsurf, VS Code, and the OpenAI Responses API. The config is similar across all of them: point your MCP client at https://mcp.courier.com with your API key, and every tool is available immediately.
MCP gives agents structured tool access, but it's not the only way to connect your agent to Courier. We also have a CLI that covers the full API with a consistent courier [resource] <command> [flags] pattern.
The CLI is a better fit when you're working in a terminal-first environment, piping output between commands, writing shell scripts, or running Courier operations in CI/CD pipelines. It also works well with agents that have direct shell access (like Cursor's agent mode or Claude Code), since they can run --help on any command and figure out the rest.
MCP is the better choice when your agent connects through a tool interface instead of a shell, like Claude Desktop, the OpenAI Responses API, or enterprise environments where terminal access is locked down. It's also the right path if you're building a chatbot or support agent that needs Courier access programmatically.
You don't have to pick one. They cover the same API surface, so use whichever fits your workflow.
Get started: Set up the MCP server | Grab the CLI | Get an API key

How to protect your email domain and sending reputation
AI agents have made spoofing cheap, and a DMARC record at p=none won't stop it. Here's how to enforce DMARC without bouncing your own mail, keep password resets apart from newsletters, protect your sending reputation, read Google Postmaster Tools, and audit your domain with six AI prompts.

Courier's Response to the eMudhra and PHP Security Issues
Courier's assessment of the eMudhra certificate authority compromise and the October 21 PHP security release: what happened, the steps we're taking, and what you may want to check in your own environment.

Control how fast Courier sends to your providers
You shouldn't have to think about how fast you send to Courier. Set a send rate limit on any provider, and Courier sends your notifications to it at the rate you choose. Anything over the limit is queued, not dropped.