
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_KEY
The 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

Let your agent check every email before it ships
Courier Device Preview gives your coding agent real screenshots from Outlook, Gmail, and Apple Mail. Here's the prompt and workflow to have it check every email, fix the draft, and check again before you publish.

React Native solved a problem nobody had. Use Flutter.
Shopify moved back to Swift and Kotlin because coding agents made two codebases affordable. That kills React Native's reason to exist. It does not touch Flutter's, and the canvas is why.

How to send Slack notifications from your app
Slack is where your customers already work, which makes it a product surface rather than only an internal alerting channel. Posting an approval request or a status change into a customer's own Slack means working in workspaces you don't own, addressing people by email rather than Slack ID, and holding a separate credential for every customer.