# Courier MCP server

Send notifications, manage templates, and configure integrations with Courier.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-trycourier-courier
- Repository: https://github.com/trycourier/courier-mcp
- Website: https://www.courier.com

## Install
- Endpoint: https://mcp.courier.com
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: api_key (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.courier.com
- Header: api_key

## Tools
- get_audience - Get an audience by its ID, including its filter definition. Endpoint: https://mcp.courier.com
- list_audience_members - List all members of an audience. Endpoint: https://mcp.courier.com
- list_audiences - List all audiences in the workspace. Endpoint: https://mcp.courier.com
- update_audience - Create or update an audience with a filter definition. Endpoint: https://mcp.courier.com
- delete_audience - Delete an audience by its ID. Endpoint: https://mcp.courier.com
- get_audit_event - Get a specific audit event by its ID. Endpoint: https://mcp.courier.com
- list_audit_events - List audit events in the workspace. Useful for tracking API usage and changes. Endpoint: https://mcp.courier.com
- generate_jwt_for_user - Generate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.). Endpoint: https://mcp.courier.com
- invoke_automation_template - Invoke an automation run from an existing automation template. Endpoint: https://mcp.courier.com
- invoke_ad_hoc_automation - Invoke an ad-hoc automation with inline steps (no template needed). Endpoint: https://mcp.courier.com
- list_automations - List automation templates in the workspace. Optionally filter by version. Endpoint: https://mcp.courier.com
- create_brand - Create a new brand with name, colors, and email/inapp settings. Endpoint: https://mcp.courier.com
- get_brand - Get a brand by its ID. Endpoint: https://mcp.courier.com
- list_brands - List all brands in the workspace. Endpoint: https://mcp.courier.com
- update_brand - Replace an existing brand with new values. Endpoint: https://mcp.courier.com
- delete_brand - Delete a brand by its ID. Endpoint: https://mcp.courier.com
- create_bulk_job - Create a new bulk job for sending messages to multiple recipients. Workflow: create_bulk_job → add_bulk_users → run_bulk_job. Endpoint: https://mcp.courier.com
- add_bulk_users - Add users to an existing bulk job. Endpoint: https://mcp.courier.com
- run_bulk_job - Run a bulk job, triggering delivery to all added users. Endpoint: https://mcp.courier.com
- get_bulk_job - Get the status of a bulk job. Endpoint: https://mcp.courier.com
- list_bulk_users - List the users in a bulk job. Endpoint: https://mcp.courier.com
- courier_installation_guide - Get the Courier SDK installation guide for a specific platform. For client-side SDKs (React, iOS, Android, Flutter, React Native), also generates a sample JWT. Endpoint: https://mcp.courier.com
- track_inbound_event - Track an inbound event that can trigger automations. Requires event name, messageId (for deduplication), and properties. Endpoint: https://mcp.courier.com
- list_lists - Get all lists. Optionally filter by pattern (e.g. 'example.list.*'). Endpoint: https://mcp.courier.com
- get_list - Get a list by its ID. Endpoint: https://mcp.courier.com
- get_list_subscribers - Get all subscribers of a list. Endpoint: https://mcp.courier.com
- create_list - Create or update a list by list ID. Endpoint: https://mcp.courier.com
- subscribe_user_to_list - Subscribe a user to a list. Creates the list if it doesn't exist. Endpoint: https://mcp.courier.com
- unsubscribe_user_from_list - Unsubscribe a user from a list. Endpoint: https://mcp.courier.com
- delete_list - Delete a list by its ID. Endpoint: https://mcp.courier.com
- restore_list - Restore a previously deleted list. Endpoint: https://mcp.courier.com
- bulk_subscribe_to_list - Replace all subscribers on a list with the given recipients. Endpoint: https://mcp.courier.com
- add_subscribers_to_list - Append subscribers to a list without removing existing subscribers. Endpoint: https://mcp.courier.com
- list_messages - List messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant. Endpoint: https://mcp.courier.com
- get_message - Get the full details and status of a single message by its ID. Endpoint: https://mcp.courier.com
- get_message_content - Get the rendered content (HTML, text, subject) of a previously sent message. Endpoint: https://mcp.courier.com
- get_message_history - Get the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.). Endpoint: https://mcp.courier.com
- cancel_message - Cancel a message that is currently being delivered. Returns the message details with updated status. Endpoint: https://mcp.courier.com
- list_notifications - List notification templates. Optionally filter by cursor. Endpoint: https://mcp.courier.com
- get_notification_content - Get the published content blocks of a notification template. Endpoint: https://mcp.courier.com
- get_notification_draft_content - Get the draft (unpublished) content blocks of a notification template. Endpoint: https://mcp.courier.com
- create_notification - Create a notification template with name, tags, brand, subscription, routing, and content. Endpoint: https://mcp.courier.com
- get_notification - Retrieve a notification template by ID. Optionally request draft, published, or a version such as v001. Endpoint: https://mcp.courier.com
- replace_notification - Replace a notification template entirely (full document PUT). Endpoint: https://mcp.courier.com
- archive_notification - Archive a notification template by ID. Endpoint: https://mcp.courier.com
- list_notification_versions - List version history for a notification template. Endpoint: https://mcp.courier.com
- publish_notification - Publish a notification template. Optionally publish a specific historical version instead of the current draft. Endpoint: https://mcp.courier.com
- list_notification_checks - List checks for a notification submission. Endpoint: https://mcp.courier.com
- update_notification_checks - Update check statuses for a notification submission. Endpoint: https://mcp.courier.com
- put_notification_content - Replace the elemental content of a V2 notification template. Overwrites all elements. Endpoint: https://mcp.courier.com
- put_notification_element - Update a single element within a V2 notification template. Endpoint: https://mcp.courier.com
- put_notification_locale - Set locale-specific content overrides for a V2 notification template. Endpoint: https://mcp.courier.com
- cancel_notification_submission - Cancel a notification template submission. Endpoint: https://mcp.courier.com
- get_user_profile_by_id - Get a user profile by their ID. Returns profile data including email, phone, and custom properties. Endpoint: https://mcp.courier.com
- create_or_merge_user - Create a new user profile or merge supplied values into an existing profile (POST). Existing fields not included are preserved. Endpoint: https://mcp.courier.com
- replace_profile - Fully replace a user profile (PUT). All existing data is overwritten; include every field you want to keep. Endpoint: https://mcp.courier.com
- patch_profile - Partially update a user profile via JSON Patch (RFC 6902). Use add/replace/remove operations on specific profile paths. Endpoint: https://mcp.courier.com
- delete_profile - Delete a user profile permanently. Endpoint: https://mcp.courier.com
- get_user_list_subscriptions - Get all list subscriptions for a user. Endpoint: https://mcp.courier.com
- subscribe_user_to_lists - Subscribe a user to one or more lists. Creates lists that do not exist. Endpoint: https://mcp.courier.com
- delete_user_list_subscriptions - Delete all list subscriptions for a user. Endpoint: https://mcp.courier.com
- send_message - Send a message to a user using inline title and body content (no template). Optionally specify routing channels. Endpoint: https://mcp.courier.com
- send_message_template - Send a message to a user using a pre-configured notification template. Optionally pass data and routing. Endpoint: https://mcp.courier.com
- send_message_to_list - Send a message to all subscribers of a list using inline title and body content. Endpoint: https://mcp.courier.com
- send_message_to_list_template - Send a message to all subscribers of a list using a notification template. Endpoint: https://mcp.courier.com
- get_tenant - Get a tenant by its ID. Endpoint: https://mcp.courier.com
- create_or_update_tenant - Create or replace a tenant. Tenants represent organizations or groups that users belong to. Endpoint: https://mcp.courier.com
- list_tenants - List all tenants in the workspace. Endpoint: https://mcp.courier.com
- delete_tenant - Delete a tenant by its ID. Endpoint: https://mcp.courier.com
- list_tenant_users - List users associated with a tenant. Endpoint: https://mcp.courier.com
- update_tenant_preference - Create or replace default notification preference for a topic on a tenant. Endpoint: https://mcp.courier.com
- delete_tenant_preference - Remove default notification preference for a topic from a tenant. Endpoint: https://mcp.courier.com
- list_tenant_templates - List notification templates configured for a tenant. Endpoint: https://mcp.courier.com
- get_tenant_template - Get a tenant notification template association by template ID. Endpoint: https://mcp.courier.com
- replace_tenant_template - Create or replace a tenant notification template (draft unless published is true). Endpoint: https://mcp.courier.com
- publish_tenant_template - Publish a version of a tenant notification template. Endpoint: https://mcp.courier.com
- get_tenant_template_version - Get a specific version of a tenant notification template (e.g. latest, published, or v1). Endpoint: https://mcp.courier.com
- get_translation - Get a translation for a specific locale (e.g. "en_US", "fr_FR"). Endpoint: https://mcp.courier.com
- update_translation - Create or update a translation for a specific locale. Endpoint: https://mcp.courier.com
- list_user_push_tokens - List all push/device tokens for a user. Endpoint: https://mcp.courier.com
- get_user_push_token - Get a specific push/device token for a user. Endpoint: https://mcp.courier.com
- create_or_replace_user_push_token - Create or replace a push/device token for a user. Endpoint: https://mcp.courier.com
- bulk_add_user_tokens - Add multiple push/device tokens for a user in one request. Overwrites matching existing tokens. Endpoint: https://mcp.courier.com
- patch_user_token - Apply a JSON Patch (RFC 6902) to a specific push token. Endpoint: https://mcp.courier.com
- delete_user_token - Delete a specific push token for a user. Endpoint: https://mcp.courier.com
- get_user_preferences - Get a user's notification preferences (subscriptions, opt-outs, channel preferences). Endpoint: https://mcp.courier.com
- get_user_preference_topic - Get a user's preference for a specific subscription topic. Endpoint: https://mcp.courier.com
- update_user_preference_topic - Update a user's preference for a specific subscription topic (opt in, opt out, or set channel preferences). Endpoint: https://mcp.courier.com
- list_user_tenants - List all tenants a user belongs to. Endpoint: https://mcp.courier.com
- add_user_to_tenant - Add a user to a tenant. Endpoint: https://mcp.courier.com
- remove_user_from_tenant - Remove a user from a tenant. Endpoint: https://mcp.courier.com
- bulk_add_user_tenants - Add a user to multiple tenants at once. A custom profile can be supplied per tenant. Endpoint: https://mcp.courier.com
- remove_all_user_tenants - Remove a user from all tenants. Endpoint: https://mcp.courier.com
- archive_request - Archive a send request and all its associated messages by request ID. Endpoint: https://mcp.courier.com
- create_routing_strategy - Create a routing strategy defining how notifications are delivered across channels and providers. Endpoint: https://mcp.courier.com
- get_routing_strategy - Retrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers. Endpoint: https://mcp.courier.com
- replace_routing_strategy - Replace a routing strategy. Full document replacement; missing optional fields are cleared. Endpoint: https://mcp.courier.com
- archive_routing_strategy - Archive a routing strategy. The strategy must not have associated notification templates; unlink all templates before archiving. Endpoint: https://mcp.courier.com
- list_routing_strategies - List routing strategies in the workspace. Returns metadata only; use get for full details. Endpoint: https://mcp.courier.com
- list_routing_strategy_notifications - List notification templates associated with a routing strategy. Useful for checking linked templates before archiving. Endpoint: https://mcp.courier.com
- list_journeys - List journey templates in the workspace. Optionally filter by version (published or draft). Endpoint: https://mcp.courier.com
- invoke_journey - Invoke a journey run from a journey template. Triggers the automation workflow for the specified user. Endpoint: https://mcp.courier.com
- list_providers - List configured provider integrations for the workspace. Endpoint: https://mcp.courier.com
- get_provider - Fetch a single provider configuration by ID. Endpoint: https://mcp.courier.com
- list_provider_catalog - List available provider types from the catalog with their configuration schemas. Endpoint: https://mcp.courier.com
- create_provider - Create a new provider (integration) configuration. Once routing strategies or notification templates reference this config, credential or settings mistakes can affect live sends—confirm provider key and settings against list_provider_catalog before saving. The provider field must be a known Courier provider key. Endpoint: https://mcp.courier.com
- update_provider - Replace an existing provider configuration. Full replacement — retrieve current config with get_provider first; omitted optional fields are cleared. Changing API keys or settings affects live delivery if this integration is in use. Endpoint: https://mcp.courier.com
- delete_provider - Delete a provider configuration. Returns 409 if the provider is still referenced by routing or notifications. Endpoint: https://mcp.courier.com

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.trycourier
- Version: 1.3.4
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 7, 2026
- Source: https://registry.modelcontextprotocol.io
