Mike Miller
September 03, 2025

TL;DR: Courier's new MCP server brings AI-powered assistance directly to your IDE, helping developers integrate notifications significantly faster without leaving their workspace. Available now for Cursor, Claude Code, VS Code, Windsurf, and more. Get installation guides, configure APIs for your app, send test messages, manage users, and more, all from your AI code editor.
If you've been using Cursor, Claude, or other AI coding tools lately, you know how much they've changed the way we write code. For me personally, I tend to have a rough idea, maybe build a little scaffolding, and then let the AI create most of the boiler-plate code. Sometimes I just let the agent start from scratch and then check its work. The speed is incredible, but there's been one problem: AI agents are probabilistic in nature, which can lead to inaccuracies or worse, full on hallucinations.
That's where Model Context Protocol (MCP) servers come in. Think of MCP like HTTP or a common protocol, for AI agents. Just like any service can make HTTP requests, any AI agent that supports MCP can access specific tools and capabilities. These tools give agents deterministic, precise functionality instead of guessing.
Here's a simple example: up until recently, LLMs have been terrible at lengthy calculations. An MCP server could provide the LLM with known equations and steps to calculate and return an answer without the risk of a hallucination.
Courier MCP: Your AI Assistant for Notifications
We built Courier’s MCP server to solve a specific problem: build notifications into your application without leaving your workspace. Now, instead of bouncing between documentation, Postman, and your IDE, you can stay right where you code and let Courier’s MCP handle the details. When you connect Courier MCP to your AI workspace, you get two main capabilities.
First, the agent can guide you through installing Courier in your project with accurate, up-to-date snippets. Want to add the Node SDK? The agent knows exactly how. Need to integrate Courier Inbox into your React app? It has the latest implementation patterns ready to go. We have embedded bite-sized installation guides that get you running quickly, plus links to full documentation when you need more context.
Second, you can interact with Courier’s platform directly with natural language. The agent exposes tools that cover most of what developers need day to day:
Sending Messages
User Management
Development Support
What you will not find are destructive operations like deletes. We intentionally left those out. The MCP is designed to help you create and test safely, without the risk of removing data from your workspace.
Everything in Courier MCP is scoped to your workspace through your API key. The agent operates with the same permissions you'd have hitting our API directly. If the agent sends messages, they're billed to your workspace just like any other API call.
Beyond excluding delete operations, we've limited update operations for administrative components. You can create a list but not delete it. You can update a user profile but not change their ID. These boundaries let you be productive while staying safe.
*Keep in mind: if you tell the agent to send 200,000 emails to random addresses, it will try. Just like if you wrote that code yourself. The difference is you're giving instructions in plain language instead of crafting API requests. Be sure to have Send Limits set up to avoid unintended sends.*
Supported Platforms
Beyond the core functionality, it is just as important to know where Courier MCP can run. We have already put it through its paces in a range of popular environments, but because it uses the remote MCP server protocol, it is not limited to a single editor or workflow. Below is a non-exhaustive list.
Today we've tested Courier MCP with:
We built this MCP to improve developer experience today, but it also lays the groundwork for what comes next. In the near future, millions of autonomous agents will be running continuously through APIs. Those agents will need a reliable way to communicate with humans, and Courier is positioned to be that bridge.
MCP provides the interface that lets agents dynamically deploy functions and send messages in real time. Instead of hardcoding notification flows, an agent can decide on the fly how and when to reach a user, then trigger Courier to deliver that message across the right channel. The result is a flexible communication layer that scales with the intelligence and autonomy of the agents themselves.
This shift is already underway and will only accelerate. As agents take on more responsibility, the need for a responsive notification layer grows with them, and Courier MCP is built to fill that role.
Ready to accelerate your notification development? Install Courier MCP in your IDE today and experience the difference AI-powered assistance makes. Visit our documentation to get started in minutes.
The future of development is collaborative: you, your AI assistant, and Courier working together to build better notification experiences faster than ever before.
New to Courier? Get set up here or talk with a solutions engineer.
The Courier MCP Server provides access to many Courier APIs and installation guides:
| Tool ID | Description |
|---|---|
| send_message | 📤 Send a message using title and body (no template) |
| send_message_template | 📤 Send a message using a predefined template |
| send_message_to_list | 📤 Send a message to a list with Courier using title and body (no template) |
| send_message_to_list_template | 📤 Send a message to a list with Courier using a template |
| get_user_profile_by_id | 👤 Get a user profile by their ID |
| create_or_merge_user | 👤 Create or merge a user profile by user ID |
| get_user_list_subscriptions | 👤 Get the list subscriptions for a user by their ID |
| subscribe_user_to_lists | 👤 Subscribe a user to one or more lists |
| delete_user_list_subscriptions | 👤 Delete all list subscriptions for a user by their ID |
| list_lists | 📋 Returns all of the lists, with the ability to filter based on a pattern. |
| get_list | 📋 Returns a list based on the list ID provided. |
| get_list_subscribers | 📋 Get the list’s subscriptions. |
| create_list | 📋 Upsert a list by list ID. |
| subscribe_user_to_list | 📋 Subscribe a user to an existing list (creates the list if it does not exist). |
| unsubscribe_user_from_list | 📋 Delete a subscription to a list by list ID and user ID. |
| get_audience | 👥 Get an audience by its ID |
| list_audience_members | 👥 List members of an audience by its ID |
| list_audiences | 👥 List all audiences associated with the authorization token |
| issue_token | 🔐 Generate a JWT authentication token for Courier |
| list_user_tokens | 🔑 List all tokens for a given user |
| get_user_token | 🔑 Get a specific token for a given user |
| create_or_replace_user_token | 🔑 Create or replace a specific token for a given user |
| invoke_automation_template | ⚡ Invoke an automation run from an automation template |
| create_brand | 🎨 Create a new brand |
| get_brand | 🎨 Fetch a specific brand by brand ID |
| list_brands | 🎨 Get the list of brands |
| list_messages | 💬 Fetch the statuses of messages you’ve previously sent |
| get_message | 💬 Fetch the status of a message you’ve previously sent |
| get_message_content | 💬 Fetch the rendered content of a message you’ve previously sent |
| list_notifications | 🔔 List notifications with optional filtering |
| get_notification_content | 🔔 Get the content of a notification by its ID |
| get_notification_draft_content | 🔔 Get the draft content of a notification by its ID |
| get_environment_config | ⚙️ Get the current MCP configuration values |
| courier_installation_guide | 📚 Installation guides for various Courier SDKs |
Courier MCP works with Cursor, Claude Code, Claude Desktop, VS Code, and Windsurf. Because it's built as a remote MCP server, it should work with any platform that supports the Model Context Protocol standard.
We're seeing a high accuracy rate when the agent adds Courier installation guides and code to existing projects. For API operations like sending messages or managing users, accuracy is essentially perfect since these are more deterministic operations.
No. We intentionally excluded all delete operations from Courier MCP to prevent accidental data loss. The agent can create and update resources but cannot delete users, lists, brands, or other workspace data.
You can use Courier MCP with any Courier workspace, including free tier accounts. However, any messages sent or resources created through the MCP will count toward your plan limits and billing.
Courier MCP lets you interact with Courier using natural language instead of crafting API requests. It also provides installation guides and code snippets directly in your IDE. The underlying operations are the same as calling our APIs, just more convenient.
Yes! You can integrate Courier MCP with the OpenAI API or other AI platforms to give your autonomous agents the ability to send notifications. This is perfect for agents that need to update users about long-running tasks or respond to customer inquiries.
You'll use your workspace API key to authenticate. This is the same key you'd use for any Courier API integration. The MCP will operate with the same permissions as that API key.
Courier MCP provides tools for sending messages, managing users and lists, creating push tokens, getting brand and template information, issuing JWTs, invoking automations, and accessing SDK installation guides. We're continuously adding new capabilities based on developer needs.
The full list can be found here: https://www.courier.com/docs/tools/mcp#available-tools
Yes, Courier is fully GDPR compliant and offers EU data residency through our European data centers. Our platform includes built-in privacy controls, data processing agreements, and the right to be forgotten capabilities. Developers can programmatically manage user consent, data retention policies, and deletion requests while ensuring all notification data remains within EU boundaries when required.
Courier provides intelligent failover channel routing to ensure critical messages reach users even when primary channels fail. You can set up cascading delivery rules—for example, if an email bounces, automatically retry via SMS, then push notification. Our platform monitors channel health in real-time and automatically routes around failed providers or channels to maintain high delivery rates.

How to Use WhatsApp Typing Indicators on Twilio (Public Beta Guide)
Twilio now supports typing indicators for WhatsApp. When your backend takes a few seconds to generate a response, you can show users that something's happening instead of leaving them staring at a silent chat. The indicator appears when you call the new /v2/Indicators/Typing endpoint, automatically marks the message as read, and disappears after your response arrives or 25 seconds pass. This guide covers the API details, implementation patterns for Node.js and Python, when to use typing indicators, and current beta limitations.
By Kyle Seyler
December 03, 2025

Announcing Toasts for In-App Product Notifications
Courier Toasts has been completely rebuilt for Web Components and React. Ship polished toast experiences without building notification infrastructure yourself. Deliver real-time, customizable in-app notifications powered by a single message feed.
By Dana Silver
October 16, 2025

Introducing Courier Analytics: See How Your Notifications Perform
Courier’s new Analytics page gives you visibility into your notifications like never before. See which templates are sent most often, track delivery, opens, clicks, and errors, and drill into performance by channel and provider. It’s the fastest way to understand how your notifications are working—and where they need improvement.
By Thomas Schiavone
September 03, 2025
© 2025 Courier. All rights reserved.