mcpserver.lol
registry/trycourier-courier
Connection check verified live · 26h ago

trycourier-courier

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

Tools 144
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 26h ago

Tools & capabilities

144 tools

Read from the running server on 26h ago.

add_bulk_users users*job_id*
Add users to an existing bulk job.
add_subscribers_to_list list_id*recipients*
Append subscribers to a list without removing existing subscribers.
add_user_to_tenant profileuser_id*tenant_id*
Add a user to a tenant.
archive_journey can modify data journey_id*
Archive a journey. Archived journeys cannot be invoked but existing runs continue to completion.
archive_journey_template can modify data journey_id*notification_id*
Archive a journey-scoped notification template. Archived templates cannot be sent.
archive_notification can modify data notification_id*
Archive a notification template by ID.
archive_preference_section can modify data section_id*
Archive a preference section. The section must be empty: delete its topics first, otherwise the request fails with 409.
archive_preference_topic can modify data topic_id*section_id*
Archive a topic within a section.
archive_request can modify data request_id*
Archive a send request and all its associated messages by request ID.
archive_routing_strategy can modify data routing_strategy_id*
Archive a routing strategy. The strategy must not have associated notification templates; unlink all templates before archiving.
bulk_add_user_tenants tenants*user_id*
Add a user to multiple tenants at once. A custom profile can be supplied per tenant.
bulk_add_user_tokens tokens*user_id*
Add multiple push/device tokens for a user in one request. Overwrites matching existing tokens.
bulk_replace_user_preferences can modify data topics*user_id*tenant_id
Replace a user's complete set of preference overrides in one request. The topics in the body become the recipient's entire override set: listed topics are created or updated, and e…
bulk_subscribe_to_list can modify data list_id*recipients*
Replace all subscribers on a list with the given recipients.
bulk_update_user_preferences topics*user_id*tenant_id
Additively create or update a user's preferences for one or more topics in a single request. Only the topics in the body are touched; existing overrides for other topics are left u…
cancel_automation cancelation_token*
Cancel a running automation by its cancelation_token. This invokes a second ad-hoc automation with a single cancel step. The token must match the cancelation_token set when the ori…
cancel_journey can modify data run_idcancelation_token
Cancel journey runs. Supply EXACTLY ONE of cancelation_token (cancels every run associated with the token) or run_id (cancels a single run). Cancelation is idempotent: a run that a…
cancel_message can modify data message_id*
Cancel a message that is currently being delivered. Returns the message details with updated status.
cancel_notification_submission can modify data submission_id*notification_id*
Cancel a notification template submission.
courier_installation_guide read-only user_idplatform*
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.
create_brand idname*settingssnippets
Create a new brand. The API requires settings — omitting it returns a 400. If you do not have specific brand colors, omit settings and a safe default will be used automatically (bl…
create_bulk_job message*
Create a new bulk job for sending messages to multiple recipients. Workflow: create_bulk_job → add_bulk_users → run_bulk_job.
create_journey name*nodes*stateenabled
Create a new journey. Always created as a draft; making it live is a separate step this tool cannot perform. Send two nodes: the trigger, and an exit node last. Both are required —…
create_journey_template statechannel*journey_id*notification*provider_key
Create a notification template scoped to a journey. Always created as a draft; making it live is a separate step this tool cannot perform. The template can then be referenced in jo…
create_list name*list_id*
Create or update a list by list ID.
create_notification statenotification*
Create a V2 notification template. name is required. Content may be provided inline or set separately afterwards. A newly created template is a draft and cannot be sent until it is…
create_or_merge_user profileuser_id*
Create a new user profile or merge supplied values into an existing profile (POST). Existing fields not included are preserved.
create_or_replace_user_push_token token*deviceuser_id*provider_key*
Create or replace a push/device token for a user.
create_or_update_tenant name*brand_idtenant_id*propertiesuser_profileparent_tenant_id +1
Create or replace a tenant. Tenants represent organizations or groups that users belong to.
create_preference_section name*routing_optionshas_custom_routing
Create a preference section in your workspace. The section id is generated and returned. Add topics afterwards with create_preference_topic.
create_preference_topic name*section_id*topic_datadefault_status*routing_optionsallowed_preferences +1
Create a subscription preference topic inside a section. The topic id is generated and returned. Fails with 404 if the section does not exist.
create_provider aliastitleprovider*settings
Create a new provider (integration) configuration. Once routing strategies or notification templates reference this config, credential or settings mistakes can affect live sends—co…
create_routing_strategy name*tagsrouting*channelsprovidersdescription
Create a routing strategy defining how notifications are delivered across channels and providers.
delete_audience can modify data audience_id*
Delete an audience by its ID.
delete_brand can modify data brand_id*
Delete a brand by its ID.
delete_list can modify data list_id*
Delete a list by its ID.
delete_profile can modify data user_id*
Delete a user profile permanently.
delete_provider can modify data provider_id*
Delete a provider configuration. Returns 409 if the provider is still referenced by routing or notifications.
delete_tenant can modify data tenant_id*
Delete a tenant by its ID.
delete_tenant_preference can modify data topic_id*tenant_id*
Remove default notification preference for a topic from a tenant.
delete_tenant_template can modify data tenant_id*template_id*
Delete a tenant notification template. Returns 204 on success, 404 if the template does not exist for this tenant.
delete_user_list_subscriptions can modify data user_id*
Delete all list subscriptions for a user.
delete_user_preference_topic can modify data user_id*topic_id*
Delete a user's preference for a specific subscription topic, reverting it to the topic's default status.
delete_user_token can modify data token*user_id*
Delete a specific push token for a user.
generate_jwt_for_user scopesuser_id*expires_in
Generate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).
get_audience read-only audience_id*
Get an audience by its ID, including its filter definition.
get_audit_event read-only audit_event_id*
Get a specific audit event by its ID.
get_brand read-only brand_id*
Get a brand by its ID.
get_bulk_job read-only job_id*
Get the status of a bulk job.
get_journey read-only versionjourney_id*
Get a journey by ID. Pass version=draft to retrieve the working draft, or version=vN for a historical version. Defaults to published.
get_journey_template read-only versionjourney_id*notification_id*
Get a journey-scoped notification template by notification ID. Pass version=draft to retrieve the working draft (required before the template has been published). Defaults to publi…
get_journey_template_content read-only versionjourney_id*notification_id*
Fetch the elemental content of a journey-scoped notification template. Pass version=draft for the working draft, or vN for a historical version. Defaults to published.
get_list read-only list_id*
Get a list by its ID.
get_list_subscribers read-only cursorlist_id*
Get all subscribers of a list.
get_message read-only message_id*
Get the full details and status of a single message by its ID.
get_message_content read-only message_id*
Get the rendered content (HTML, text, subject) of a previously sent message.
get_message_history read-only typemessage_id*
Get the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).
get_notification read-only versionnotification_id*
Retrieve a notification template by ID. Optionally request draft, published, or a version such as v001.
get_notification_content read-only notification_id*
Get the published content blocks of a notification template.
get_notification_draft_content read-only notification_id*
Get the draft (unpublished) content blocks of a notification template.
get_preference_section read-only section_id*
Retrieve a preference section by id, including its topics.
get_preference_topic read-only topic_id*section_id*
Retrieve a topic within a section. Returns 404 if the section or topic does not exist, or the topic belongs to a different section.
get_provider read-only provider_id*
Fetch a single provider configuration by ID.
get_routing_strategy read-only routing_strategy_id*
Retrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers.
get_tenant read-only tenant_id*
Get a tenant by its ID.
get_tenant_template read-only tenant_id*template_id*
Get a tenant notification template association by template ID.
get_tenant_template_version read-only version*tenant_id*template_id*
Get a specific version of a tenant notification template (e.g. latest, published, or v1).
get_translation read-only domainlocale*
Get a translation for a specific locale (e.g. "en_US", "fr_FR").
get_user_list_subscriptions read-only cursoruser_id*
Get all list subscriptions for a user.
get_user_preferences read-only user_id*tenant_id
Get a user's notification preferences (subscriptions, opt-outs, channel preferences).
get_user_preference_topic read-only user_id*topic_id*tenant_id
Get a user's preference for a specific subscription topic.
get_user_profile_by_id read-only user_id*
Get a user profile by their ID. Returns profile data including email, phone, and custom properties.
get_user_push_token read-only token*user_id*
Get a specific push/device token for a user.
invoke_ad_hoc_automation databrandprofiletemplaterecipientautomation*
Invoke an ad-hoc automation with inline steps. Valid step actions: send, send-list, delay, cancel, update-profile, invoke, fetch-data. To cancel a previously started automation, us…
invoke_automation_template databrandprofiletemplaterecipient*template_id*
Invoke an automation run from an existing automation template. template_id refers to an existing automation template in the workspace. Example: { template_id: "auto-onboarding", re…
invoke_journey dataprofileuser_idtemplate_id*
Invoke a journey run from a journey template. template_id refers to an existing journey template in the workspace. Example: { template_id: "j-onboarding", user_id: "user-123", data…
list_audience_members read-only cursoraudience_id*
List all members of an audience.
list_audiences read-only cursor
List all audiences in the workspace.
list_audit_events read-only cursor
List audit events in the workspace. Useful for tracking API usage and changes.
list_automations read-only cursorversion
List automation templates in the workspace, returning each template_id and its version state. Optionally filter by version.
list_brands read-only cursor
List all brands in the workspace.
list_bulk_users read-only cursorjob_id*
List the users in a bulk job.
list_digest_instances read-only limitcursorschedule_id*
List the digest instances for a schedule. Each instance represents the events accumulated for a single user against the schedule, useful for monitoring accumulation before a digest…
list_journeys read-only cursorversion
List journey templates in the workspace, returning the journey IDs and version state of each. Optionally filter by version (published or draft).
list_journey_templates read-only limitcursorjourney_id*
List notification templates scoped to a journey. Journey-scoped templates can only be used by send nodes within the same journey. Call this to discover template IDs before wiring s…
list_journey_template_versions read-only journey_id*notification_id*
List published versions of a journey-scoped notification template, ordered most recent first.
list_journey_versions read-only journey_id*
List published versions of a journey, ordered most recent first.
list_lists read-only cursorpattern
Get all lists. Optionally filter by pattern (e.g. 'example.list.*').
list_messages read-only taglisttagseventcursorstatus +8
List messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.
list_notification_checks read-only submission_id*notification_id*
List checks for a notification submission.
list_notifications read-only cursor
List notification templates. Optionally filter by cursor.
list_notification_versions read-only limitcursornotification_id*
List version history for a notification template.
list_preference_sections read-only
List the workspace's preference sections. Each section embeds its topics.
list_preference_topics read-only section_id*
List the topics in a preference section.
list_provider_catalog read-only keysnamechannel
List available provider types from the catalog with their configuration schemas.
list_providers read-only cursor
List configured provider integrations for the workspace.
list_routing_strategies read-only limitcursor
List routing strategies in the workspace. Returns metadata only; use get for full details.
list_routing_strategy_notifications read-only limitcursorrouting_strategy_id*
List notification templates associated with a routing strategy. Useful for checking linked templates before archiving.
list_tenants read-only limitcursor
List all tenants in the workspace.
list_tenant_templates read-only limitcursortenant_id*
List notification templates configured for a tenant.
list_tenant_users read-only limitcursortenant_id*
List users associated with a tenant.
list_user_push_tokens read-only user_id*
List all push/device tokens for a user.
list_user_tenants read-only limitcursoruser_id*
List all tenants a user belongs to.
patch_profile patch*user_id*
Partially update a user profile via JSON Patch (RFC 6902). Use add/replace/remove operations on specific profile paths.
patch_user_token patch*token*user_id*
Apply a JSON Patch (RFC 6902) to a specific push token.
publish_journey versionjourney_id*
Publish the current draft of a journey, making it live and invokable. Pass version to roll back to a prior published version instead of publishing the draft. Returns 404 if there i…
publish_journey_template versionjourney_id*notification_id*
Publish the current draft of a journey-scoped notification template. Optionally pass version to roll back to a prior version.
publish_notification versionnotification_id*
Publish a notification template, making it available for sending. Must be called before send_message_template unless the template was created with state: 'PUBLISHED'. Publishes the…
publish_preferences
Publish the workspace's preferences page. Takes a snapshot of every section with its topics under a new published version, making the current state visible on the hosted preference…
publish_tenant_template versiontenant_id*template_id*
Publish a version of a tenant notification template.
put_journey_template_content can modify data stateversionelements*journey_id*notification_id*
Replace the elemental content of a journey-scoped notification template. Overwrites all elements. The template stays a draft; making it live is a separate step this tool cannot per…
put_journey_template_locale stateelements*locale_id*journey_id*notification_id*
Set locale-specific content overrides for a journey-scoped notification template. Each element override must reference an existing element by its id.
put_notification_content stateversionelements*notification_id*
Replace the elemental content of a V2 notification template. Overwrites all elements. Use channel elements to target specific channels. Multi-channel example: elements: [{ type: "c…
put_notification_element ifrefdatalooptype*state +3
Update a single element within a V2 notification template.
put_notification_locale stateelements*locale_id*notification_id*
Set locale-specific content overrides for a V2 notification template. Each element override must reference an existing element by its id. Example for Spanish locale: { notification…
release_digest schedule_id*
Release a digest schedule early — send what users have collected so far now instead of waiting for the scheduled time. A 204 is also returned when the schedule has no in-progress i…
remove_all_user_tenants can modify data user_id*
Remove a user from all tenants.
remove_user_from_tenant can modify data user_id*tenant_id*
Remove a user from a tenant.
replace_journey can modify data name*nodes*stateenabledjourney_id*
Replace (update) a journey draft. Full document replacement — include all nodes and properties in the body, the trigger included; anything omitted is deleted. The journey stays a d…
replace_journey_template statejourney_id*notification*notification_id*
Replace the draft of a journey-scoped notification template. Full document replacement. Call publish_journey_template afterwards to make it live.
replace_notification statenotification*notification_id*
Replace a notification template entirely (full document PUT).
replace_preference_section name*section_id*routing_optionshas_custom_routing
Replace a preference section. Full document replacement; missing optional fields are cleared. Topics attached to the section are unaffected.
replace_preference_topic name*topic_id*section_id*topic_datadefault_status*routing_options +2
Replace a topic within a section. Full document replacement; missing optional fields are cleared.
replace_profile can modify data profile*user_id*
Fully replace a user profile (PUT). All existing data is overwritten; include every field you want to keep.
replace_routing_strategy name*tagsrouting*channelsprovidersdescription +1
Replace a routing strategy. Full document replacement; missing optional fields are cleared.
replace_tenant_template titlecontent*routingchannelsproviderspublished +2
Create or replace a tenant notification template (draft unless published is true).
resend_message message_id*
Resend a previously sent message. Loads the original send request and enqueues a brand-new send to the same recipient with the same content, producing a new messageId; the original…
restore_list list_id*
Restore a previously deleted list.
run_bulk_job job_id*
Run a bulk job, triggering delivery to all added users.
send_message body*datatitle*methoduser_id*channels
Send a message to a user using inline title and body content (no template). Optionally specify routing channels. API reference: https://www.courier.com/docs/api-reference/send/send…
send_message_template datamethoduser_id*channelstemplate*
Send a message to a user using a published notification template. Only published templates can be sent; publishing a draft is a separate operation. Example: { user_id: "user-123",…
send_message_to_list body*datatitle*methodlist_id*channels
Send a message to all subscribers of a list using inline title and body content. API reference: https://www.courier.com/docs/api-reference/send/send-a-message.
send_message_to_list_template datamethodlist_id*channelstemplate*
Send a message to all subscribers of a list using a notification template.
subscribe_user_to_list list_id*user_id*preferences
Subscribe a user to a list. Creates the list if it doesn't exist.
subscribe_user_to_lists lists*user_id*
Subscribe a user to one or more lists. Creates lists that do not exist.
track_inbound_event event*userIdmessageId*properties*
Track an inbound event that can trigger automations. Requires event name, messageId (for deduplication), and properties.
unsubscribe_user_from_list can modify data list_id*user_id*
Unsubscribe a user from a list.
update_audience namefilteraudience_id*description
Create or update an audience with a filter definition.
update_brand name*brand_id*settingssnippets
Replace an existing brand with new values.
update_notification_checks checks*submission_id*notification_id*
Update check statuses for a notification submission.
update_provider can modify data aliastitleprovider*settingsprovider_id*
Replace an existing provider configuration. Full replacement — retrieve current config with get_provider first; omitted optional fields are cleared. Changing API keys or settings a…
update_tenant_preference status*topic_id*tenant_id*custom_routinghas_custom_routing
Set the default notification preference for a subscription topic on a tenant. This controls tenant-level defaults — it does NOT set per-user preferences (use the user preferences A…
update_translation body*domainlocale*
Create or update a translation for a specific locale. API reference: https://www.courier.com/docs/api-reference/translations/update-translations-by-locale.
update_user_preference_topic status*user_id*topic_id*custom_routinghas_custom_routing
Update a user's preference for a specific subscription topic (opt in, opt out, or set channel preferences).