# Courier MCP

Send and orchestrate cross-channel notifications with templates or custom messages. Manage audiences, lists, brands, user profiles, subscriptions, and push tokens, and trigger automations. Track deli…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add mike/courier

# Browse available tools
npx -y @smithery/cli@latest tool list mike/courier

# Get full schema for a tool
npx -y @smithery/cli@latest tool get mike/courier get_audience

# Call a tool
npx -y @smithery/cli@latest tool call mike/courier get_audience '{}'
```

## Direct MCP Connection

Endpoint: `https://courier--mike.run.tools`

## Tools (33)

- `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
- `generate_jwt_for_user` — Generate a JWT authentication token for a 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.
- `courier_installation_guide` — Courier SDK and Platform Installation Guide
- `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 (note: if the List does not exist, it will be automatically created).
- `unsubscribe_user_from_list` — Delete a subscription to a list by list ID and user ID.
- `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. Optionally filter by cursor, limit, or draft status.
- `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_user_profile_by_id` — Get a user profile by their ID
- `create_or_merge_user` — Create or merge a user profile by user ID. Merges supplied values with an existing profile or creates a new one.
- `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. If the list does not exist, it will be created.
- `delete_user_list_subscriptions` — Delete all list subscriptions for a user by their ID.
- `send_message` — Send a message to a user with Courier using title and body (no template)
- `send_message_template` — Send a message to a user with Courier using a 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
- `list_user_push_tokens` — List all push tokens for a given user.
- `get_user_push_token` — Get a specific push token for a given user.
- `create_or_replace_user_push_token` — Create or replace a specific push token for a given user.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get mike/courier <tool-name>
```
