
Connects Claude to Courier's notification API with 60 tools covering the full platform. You can send multi-channel messages (email, SMS, push), manage user profiles and preferences, configure notification templates, debug delivery history, and handle list subscriptions without leaving your editor. The hosted version at mcp.courier.com requires just an API key in your config. Useful when you're building notification workflows, debugging why a message didn't deliver, or wiring up user communication features and want to skip context switching between your IDE and Courier's dashboard. Built on their official Node SDK, so it stays current with API changes automatically.
Public tool metadata for what this MCP can expose to an agent.
get_audienceGet an audience by its ID, including its filter definition.1 paramsGet an audience by its ID, including its filter definition.
audience_idstringlist_audience_membersList all members of an audience.2 paramsList all members of an audience.
audience_idstringcursorstringlist_audiencesList all audiences in the workspace.1 paramsList all audiences in the workspace.
cursorstringupdate_audienceCreate or update an audience with a filter definition.4 paramsCreate or update an audience with a filter definition.
audience_idstringdescriptionstringfiltervaluenamestringdelete_audienceDelete an audience by its ID.1 paramsDelete an audience by its ID.
audience_idstringget_audit_eventGet a specific audit event by its ID.1 paramsGet a specific audit event by its ID.
audit_event_idstringlist_audit_eventsList audit events in the workspace. Useful for tracking API usage and changes.1 paramsList audit events in the workspace. Useful for tracking API usage and changes.
cursorstringgenerate_jwt_for_userGenerate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).3 paramsGenerate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).
expires_instringscopesarrayuser_idstringinvoke_automation_templateInvoke an automation run from an existing automation template.6 paramsInvoke an automation run from an existing automation template.
brandstringdataobjectprofileobjectrecipientstringtemplatestringtemplate_idstringinvoke_ad_hoc_automationInvoke an ad-hoc automation with inline steps (no template needed).6 paramsInvoke an ad-hoc automation with inline steps (no template needed).
automationobjectbrandstringdataobjectprofileobjectrecipientstringtemplatestringcreate_brandCreate a new brand with name, colors, and email/inapp settings.4 paramsCreate a new brand with name, colors, and email/inapp settings.
idstringnamestringsettingsobjectsnippetsobjectget_brandGet a brand by its ID.1 paramsGet a brand by its ID.
brand_idstringlist_brandsList all brands in the workspace.1 paramsList all brands in the workspace.
cursorstringcreate_bulk_jobCreate a new bulk job for sending messages to multiple recipients. Workflow: create_bulk_job → add_bulk_users → run_bulk_job.1 paramsCreate a new bulk job for sending messages to multiple recipients. Workflow: create_bulk_job → add_bulk_users → run_bulk_job.
messageobjectadd_bulk_usersAdd users to an existing bulk job.2 paramsAdd users to an existing bulk job.
job_idstringusersarrayrun_bulk_jobRun a bulk job, triggering delivery to all added users.1 paramsRun a bulk job, triggering delivery to all added users.
job_idstringget_bulk_jobGet the status of a bulk job.1 paramsGet the status of a bulk job.
job_idstringlist_bulk_usersList the users in a bulk job.2 paramsList the users in a bulk job.
cursorstringjob_idstringcourier_installation_guideGet the Courier SDK installation guide for a specific platform. For client-side SDKs (React, iOS, Android, Flutter, React Native), also generates a sample JWT.2 paramsGet the Courier SDK installation guide for a specific platform. For client-side SDKs (React, iOS, Android, Flutter, React Native), also generates a sample JWT.
platformstringnodejs · python · react · ios · android · flutteruser_idstringtrack_inbound_eventTrack an inbound event that can trigger automations. Requires event name, messageId (for deduplication), and properties.4 paramsTrack an inbound event that can trigger automations. Requires event name, messageId (for deduplication), and properties.
eventstringmessageIdstringpropertiesobjectuserIdstringlist_listsGet all lists. Optionally filter by pattern (e.g. 'example.list.*').2 paramsGet all lists. Optionally filter by pattern (e.g. 'example.list.*').
cursorstringpatternstringget_listGet a list by its ID.1 paramsGet a list by its ID.
list_idstringget_list_subscribersGet all subscribers of a list.2 paramsGet all subscribers of a list.
cursorstringlist_idstringcreate_listCreate or update a list by list ID.2 paramsCreate or update a list by list ID.
list_idstringnamestringsubscribe_user_to_listSubscribe a user to a list. Creates the list if it doesn't exist.3 paramsSubscribe a user to a list. Creates the list if it doesn't exist.
list_idstringpreferencesobjectuser_idstringunsubscribe_user_from_listUnsubscribe a user from a list.2 paramsUnsubscribe a user from a list.
list_idstringuser_idstringlist_messagesList messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.14 paramsList messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.
archivedbooleancursorstringenqueued_afterstringeventstringliststringmessageIdstringnotificationstringproviderarrayrecipientstringstatusarraytagarraytagsstringtenant_idstringtraceIdstringget_messageGet the full details and status of a single message by its ID.1 paramsGet the full details and status of a single message by its ID.
message_idstringget_message_contentGet the rendered content (HTML, text, subject) of a previously sent message.1 paramsGet the rendered content (HTML, text, subject) of a previously sent message.
message_idstringget_message_historyGet the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).2 paramsGet the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).
message_idstringtypestringcancel_messageCancel a message that is currently being delivered. Returns the message details with updated status.1 paramsCancel a message that is currently being delivered. Returns the message details with updated status.
message_idstringlist_notificationsList notification templates. Optionally filter by cursor.1 paramsList notification templates. Optionally filter by cursor.
cursorstringget_notification_contentGet the published content blocks of a notification template.1 paramsGet the published content blocks of a notification template.
notification_idstringget_notification_draft_contentGet the draft (unpublished) content blocks of a notification template.1 paramsGet the draft (unpublished) content blocks of a notification template.
notification_idstringget_user_profile_by_idGet a user profile by their ID. Returns profile data including email, phone, and custom properties.1 paramsGet a user profile by their ID. Returns profile data including email, phone, and custom properties.
user_idstringcreate_or_merge_userCreate a new user profile or merge supplied values into an existing profile (POST). Existing fields not included are preserved.2 paramsCreate a new user profile or merge supplied values into an existing profile (POST). Existing fields not included are preserved.
profileobjectuser_idstringreplace_profileFully replace a user profile (PUT). All existing data is overwritten; include every field you want to keep.2 paramsFully replace a user profile (PUT). All existing data is overwritten; include every field you want to keep.
profileobjectuser_idstringdelete_profileDelete a user profile permanently.1 paramsDelete a user profile permanently.
user_idstringget_user_list_subscriptionsGet all list subscriptions for a user.2 paramsGet all list subscriptions for a user.
cursorstringuser_idstringsubscribe_user_to_listsSubscribe a user to one or more lists. Creates lists that do not exist.2 paramsSubscribe a user to one or more lists. Creates lists that do not exist.
listsarrayuser_idstringdelete_user_list_subscriptionsDelete all list subscriptions for a user.1 paramsDelete all list subscriptions for a user.
user_idstringsend_messageSend a message to a user using inline title and body content (no template). Optionally specify routing channels.6 paramsSend a message to a user using inline title and body content (no template). Optionally specify routing channels.
bodystringchannelsarraydataobjectmethodstringall · singledefault: alltitlestringuser_idstringsend_message_templateSend a message to a user using a pre-configured notification template. Optionally pass data and routing.5 paramsSend a message to a user using a pre-configured notification template. Optionally pass data and routing.
channelsarraydataobjectmethodstringall · singledefault: alltemplatestringuser_idstringsend_message_to_listSend a message to all subscribers of a list using inline title and body content.6 paramsSend a message to all subscribers of a list using inline title and body content.
bodystringchannelsarraydataobjectlist_idstringmethodstringall · singledefault: alltitlestringsend_message_to_list_templateSend a message to all subscribers of a list using a notification template.5 paramsSend a message to all subscribers of a list using a notification template.
channelsarraydataobjectlist_idstringmethodstringall · singledefault: alltemplatestringget_tenantGet a tenant by its ID.1 paramsGet a tenant by its ID.
tenant_idstringcreate_or_update_tenantCreate or replace a tenant. Tenants represent organizations or groups that users belong to.7 paramsCreate or replace a tenant. Tenants represent organizations or groups that users belong to.
brand_idstringdefault_preferencesvaluenamestringparent_tenant_idstringpropertiesobjecttenant_idstringuser_profileobjectlist_tenantsList all tenants in the workspace.2 paramsList all tenants in the workspace.
cursorstringlimitnumberdelete_tenantDelete a tenant by its ID.1 paramsDelete a tenant by its ID.
tenant_idstringget_translationGet a translation for a specific locale (e.g. "en_US", "fr_FR").2 paramsGet a translation for a specific locale (e.g. "en_US", "fr_FR").
domainstringlocalestringupdate_translationCreate or update a translation for a specific locale.3 paramsCreate or update a translation for a specific locale.
bodystringdomainstringlocalestringlist_user_push_tokensList all push/device tokens for a user.1 paramsList all push/device tokens for a user.
user_idstringget_user_push_tokenGet a specific push/device token for a user.2 paramsGet a specific push/device token for a user.
tokenstringuser_idstringcreate_or_replace_user_push_tokenCreate or replace a push/device token for a user.4 paramsCreate or replace a push/device token for a user.
deviceobjectprovider_keystringfirebase-fcm · apn · expo · onesignaltokenstringuser_idstringget_user_preferencesGet a user's notification preferences (subscriptions, opt-outs, channel preferences).2 paramsGet a user's notification preferences (subscriptions, opt-outs, channel preferences).
tenant_idstringuser_idstringupdate_user_preference_topicUpdate a user's preference for a specific subscription topic (opt in, opt out, or set channel preferences).5 paramsUpdate a user's preference for a specific subscription topic (opt in, opt out, or set channel preferences).
custom_routingarrayhas_custom_routingbooleanstatusstringOPTED_IN · OPTED_OUT · REQUIREDtopic_idstringuser_idstringlist_user_tenantsList all tenants a user belongs to.3 paramsList all tenants a user belongs to.
cursorstringlimitnumberuser_idstringadd_user_to_tenantAdd a user to a tenant.3 paramsAdd a user to a tenant.
profileobjecttenant_idstringuser_idstringremove_user_from_tenantRemove a user from a tenant.2 paramsRemove a user from a tenant.
tenant_idstringuser_idstring