Blog

Courier MCP: Let your AI agent handle customer messaging end to end

Mike MillerMike MillerMarch 19, 2026
Courier MCP: Let your AI agent handle customer messaging end to end — cover

Courier MCP: let your agent handle customer messaging end to end

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.

How to use the Courier MCP server

Here's how you can use the MCP to improve your workflows:

  • Test while you build. You're adding a new notification type and need to send a test, check what the template renders as, or verify a user's profile has the right channel data. Ask your agent instead of writing throwaway code.
  • Set up a new environment. Standing up a tenant for a new customer, creating lists, configuring brands, adding test users. Your agent handles the API calls while you stay focused on the code you're writing.
  • Debug a delivery issue. A user didn't get their notification. Ask your agent instead of opening the dashboard. It traces the message, checks delivery history, inspects the user's profile, and tells you the root cause.
  • Build agents that use Courier. Through the OpenAI Responses API, you can pass the MCP server as a tool provider to build chatbots or support tools that look up delivery status or send messages programmatically.

Tools for sending, tracking, and managing messages

  • Send messages: Inline content, templates, list sends, list pattern sends
  • Track delivery: Status, rendered content, event history, cancellation
  • Manage users: Create, update, and delete profiles and their channel data
  • Manage audiences: Lists, dynamic segments, subscribe and unsubscribe
  • Trigger automations: Customer journeys, saved workflows, or ad-hoc steps
  • Control preferences: Per-user, per-topic, per-channel notification settings

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.

Set up the Courier MCP server

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 server vs. Courier CLI

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