Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Courier

REMOTE · MCP.COURIER.COM · SCANNED AUG 3

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

Available components

+4 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability73
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 10121 tokens (~70/item across 144 items; 144 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.courier.com

# add to Claude Code
claude mcp add --transport http trycourier-courier https://mcp.courier.com/
# ~/.codex/config.toml
[mcp_servers.trycourier-courier]
url = "https://mcp.courier.com/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "trycourier-courier": {
      "type": "remote",
      "url": "https://mcp.courier.com/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add trycourier-courier --url https://mcp.courier.com/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  trycourier-courier:
    url: "https://mcp.courier.com/"
// mcp.json
{
  "mcpServers": {
    "trycourier-courier": {
      "type": "http",
      "url": "https://mcp.courier.com/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 64

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.courier.com

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.courier.com CN=WE1,O=Google Trust Services,C=US 11 Jun 2026 9 Sept 2026 ECDSA 256 ECDSA-SHA256 634e69f13e12e0100ee909f741870a8b
SANs: mcp.courier.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of mcp.courier.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
courier.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=15552000; includeSubDomains
content-security-policy default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy no-referrer
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.courier.com Verified 200
http (plaintext) http://mcp.courier.com HTTPS enforced 301 https://mcp.courier.com/
MCP tools — 144 exposed · ~10,121 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
get_journey_template ~95

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 published.

NameTypeReqDescription
journey_idstringyesThe journey template ID that owns this notification
notification_idstringyesThe notification template ID
versionstringVersion to retrieve: "draft", "published" (default), or "vN"

No output schema declared.

No examples provided.

get_journey_template_content ~100

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.

NameTypeReqDescription
journey_idstringyesThe journey template ID that owns this notification
notification_idstringyesThe notification template ID
versionstringVersion to retrieve: "draft", "published" (default), or a version string like "v001"

No output schema declared.

No examples provided.

get_list ~26

Get a list by its ID.

NameTypeReqDescription
list_idstringyesThe list ID

No output schema declared.

No examples provided.

get_list_subscribers ~37

Get all subscribers of a list.

NameTypeReqDescription
cursorstringPagination cursor
list_idstringyesThe list ID

No output schema declared.

No examples provided.

get_message ~35

Get the full details and status of a single message by its ID.

NameTypeReqDescription
message_idstringyesThe message ID to retrieve

No output schema declared.

No examples provided.

get_message_content ~37

Get the rendered content (HTML, text, subject) of a previously sent message.

NameTypeReqDescription
message_idstringyesThe message ID

No output schema declared.

No examples provided.

get_message_history ~56

Get the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).

NameTypeReqDescription
message_idstringyesThe message ID
typestringFilter by event type

No output schema declared.

No examples provided.

get_notification ~63

Retrieve a notification template by ID. Optionally request draft, published, or a version such as v001.

NameTypeReqDescription
notification_idstringyesThe notification template ID
versionstringVersion to retrieve: draft, published, or a string like v001

No output schema declared.

No examples provided.

get_notification_content ~31

Get the published content blocks of a notification template.

NameTypeReqDescription
notification_idstringyesThe notification template ID

No output schema declared.

No examples provided.

get_notification_draft_content ~37

Get the draft (unpublished) content blocks of a notification template.

NameTypeReqDescription
notification_idstringyesThe notification template ID

No output schema declared.

No examples provided.

get_preference_section ~34

Retrieve a preference section by id, including its topics.

NameTypeReqDescription
section_idstringyesId of the preference section

No output schema declared.

No examples provided.

get_preference_topic ~65

Retrieve a topic within a section. Returns 404 if the section or topic does not exist, or the topic belongs to a different section.

NameTypeReqDescription
section_idstringyesId of the preference section
topic_idstringyesId of the subscription preference topic

No output schema declared.

No examples provided.

get_provider ~28

Fetch a single provider configuration by ID.

NameTypeReqDescription
provider_idstringyesThe provider configuration ID

No output schema declared.

No examples provided.

get_routing_strategy ~46

Retrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers.

NameTypeReqDescription
routing_strategy_idstringyesThe routing strategy ID (rs_ prefix)

No output schema declared.

No examples provided.

get_tenant ~27

Get a tenant by its ID.

NameTypeReqDescription
tenant_idstringyesThe tenant ID

No output schema declared.

No examples provided.

get_tenant_template ~42

Get a tenant notification template association by template ID.

NameTypeReqDescription
template_idstringyesThe template ID
tenant_idstringyesThe tenant ID

No output schema declared.

No examples provided.

get_tenant_template_version ~72

Get a specific version of a tenant notification template (e.g. latest, published, or v1).

NameTypeReqDescription
template_idstringyesThe template ID
tenant_idstringyesThe tenant ID
versionstringyesVersion identifier (latest, published, or v-prefixed)

No output schema declared.

No examples provided.

get_translation ~62

Get a translation for a specific locale (e.g. "en_US", "fr_FR").

NameTypeReqDescription
domainstringTranslation domain (only "default" is supported currently)
localestringyesLocale code (e.g. en_US, fr_FR)

No output schema declared.

No examples provided.

get_user_list_subscriptions ~39

Get all list subscriptions for a user.

NameTypeReqDescription
cursorstringPagination cursor
user_idstringyesThe user ID

No output schema declared.

No examples provided.

get_user_preference_topic ~57

Get a user's preference for a specific subscription topic.

NameTypeReqDescription
tenant_idstringScope to a specific tenant
topic_idstringyesThe subscription topic ID
user_idstringyesThe user ID

No output schema declared.

No examples provided.

get_user_preferences ~48

Get a user's notification preferences (subscriptions, opt-outs, channel preferences).

NameTypeReqDescription
tenant_idstringScope preferences to a specific tenant
user_idstringyesThe user ID

No output schema declared.

No examples provided.

get_user_profile_by_id ~45

Get a user profile by their ID. Returns profile data including email, phone, and custom properties.

NameTypeReqDescription
user_idstringyesThe user ID to look up

No output schema declared.

No examples provided.

get_user_push_token ~41

Get a specific push/device token for a user.

NameTypeReqDescription
tokenstringyesThe token identifier
user_idstringyesThe user ID

No output schema declared.

No examples provided.

invoke_ad_hoc_automation ~106

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, use the cancel_automation tool instead.

NameTypeReqDescription
automationobjectyesThe automation definition with typed steps
brandstring
dataobject
profileobject
recipientstring
templatestring

No output schema declared.

No examples provided.

invoke_automation_template ~128

Invoke an automation run from an existing automation template. Call list_automations first to get the template_id. Example: { template_id: "auto-onboarding", recipient: "user-123", data: { plan: "pro" } }.

NameTypeReqDescription
brandstringBrand ID override
dataobjectData to pass to the automation
profileobjectProfile data for the recipient
recipientstringyesRecipient user ID
templatestringNotification template override
template_idstringyesThe automation template ID

No output schema declared.

No examples provided.

invoke_journey ~129

Invoke a journey run from a journey template. Call list_journeys first to find the template_id. Example: { template_id: "j-onboarding", user_id: "user-123", data: { plan: "pro" } }.

NameTypeReqDescription
dataobjectData payload passed to the journey for conditions and template variables
profileobjectProfile data for the user (email, phone, custom fields)
template_idstringyesThe journey template ID
user_idstringRecipient user ID. Can also be resolved from profile or data.

No output schema declared.

No examples provided.

list_audience_members ~37

List all members of an audience.

NameTypeReqDescription
audience_idstringyesThe audience ID
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_audiences ~26

List all audiences in the workspace.

NameTypeReqDescription
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_audit_events ~34

List audit events in the workspace. Useful for tracking API usage and changes.

NameTypeReqDescription
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_automations ~59

List automation templates in the workspace. Always call this first to discover template_id values before calling invoke_automation_template. Optionally filter by version.

NameTypeReqDescription
cursorstringPagination cursor
versionstringFilter by version state

No output schema declared.

No examples provided.

list_brands ~25

List all brands in the workspace.

NameTypeReqDescription
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_bulk_users ~38

List the users in a bulk job.

NameTypeReqDescription
cursorstringPagination cursor
job_idstringyesThe bulk job ID

No output schema declared.

No examples provided.

list_digest_instances ~93

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 is released.

NameTypeReqDescription
cursorstringPagination cursor from a previous response
limitnumberMax instances to return (default 20, max 100)
schedule_idstringyesThe digest schedule id, in the form "sch/{uuid}"

No output schema declared.

No examples provided.

list_journey_template_versions ~55

List published versions of a journey-scoped notification template, ordered most recent first.

NameTypeReqDescription
journey_idstringyesThe journey template ID that owns this notification
notification_idstringyesThe notification template ID

No output schema declared.

No examples provided.

list_journey_templates ~83

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 send nodes in replace_journey.

NameTypeReqDescription
cursorstringPagination cursor
journey_idstringyesThe journey template ID
limitnumberPage size (1–100)

No output schema declared.

No examples provided.

list_journey_versions ~34

List published versions of a journey, ordered most recent first.

NameTypeReqDescription
journey_idstringyesThe journey template ID

No output schema declared.

No examples provided.

list_journeys ~73

List journey templates in the workspace. Call this first to discover journey IDs before calling invoke_journey, get_journey, or replace_journey. Optionally filter by version (published or draft).

NameTypeReqDescription
cursorstringPagination cursor
versionstringFilter by version state. Defaults to published.

No output schema declared.

No examples provided.

list_lists ~52

Get all lists. Optionally filter by pattern (e.g. 'example.list.*').

NameTypeReqDescription
cursorstringPagination cursor
patternstringFilter pattern (e.g. 'example.list.*')

No output schema declared.

No examples provided.

list_messages ~224

List messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.

NameTypeReqDescription
archivedbooleanInclude archived messages
cursorstringPagination cursor for fetching the next page
enqueued_afterstringISO 8601 timestamp; only return messages enqueued after this time
eventstringFilter by event ID
liststringFilter by list ID
messageIdstringFilter by message ID
notificationstringFilter by notification ID
providerarrayFilter by provider key (e.g. sendgrid, twilio)
recipientstringFilter by recipient user ID
statusarrayFilter by status (e.g. DELIVERED, UNDELIVERABLE)
tagarrayFilter by metadata tags
tagsstringComma-delimited list of tags
tenant_idstringFilter by tenant ID
traceIdstringFilter by trace ID

No output schema declared.

No examples provided.

list_notification_checks ~43

List checks for a notification submission.

NameTypeReqDescription
notification_idstringyesThe notification template ID
submission_idstringyesThe submission ID for the checks resource

No output schema declared.

No examples provided.

list_notification_versions ~61

List version history for a notification template.

NameTypeReqDescription
cursorstringPagination cursor from a previous response
limitnumberMax versions per page (default 10, max 10)
notification_idstringyesThe notification template ID

No output schema declared.

No examples provided.

list_notifications ~27

List notification templates. Optionally filter by cursor.

NameTypeReqDescription
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_preference_sections ~23

List the workspace's preference sections. Each section embeds its topics.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_preference_topics ~31

List the topics in a preference section.

NameTypeReqDescription
section_idstringyesId of the preference section

No output schema declared.

No examples provided.

list_provider_catalog ~68

List available provider types from the catalog with their configuration schemas.

NameTypeReqDescription
channelstringFilter by channel type (email, sms, push, etc.)
keysstringComma-separated provider keys to filter by
namestringSubstring match on provider name

No output schema declared.

No examples provided.

list_providers ~26

List configured provider integrations for the workspace.

NameTypeReqDescription
cursorstringPagination cursor

No output schema declared.

No examples provided.

list_routing_strategies ~57

List routing strategies in the workspace. Returns metadata only; use get for full details.

NameTypeReqDescription
cursorstringPagination cursor
limitnumberMax results per page (default 20, max 100)

No output schema declared.

No examples provided.

list_routing_strategy_notifications ~74

List notification templates associated with a routing strategy. Useful for checking linked templates before archiving.

NameTypeReqDescription
cursorstringPagination cursor
limitnumberMax results per page (default 20, max 100)
routing_strategy_idstringyesThe routing strategy ID (rs_ prefix)

No output schema declared.

No examples provided.

list_tenant_templates ~57

List notification templates configured for a tenant.

NameTypeReqDescription
cursorstringPagination cursor
limitnumberMax results per page (default 20, max 100)
tenant_idstringyesThe tenant ID

No output schema declared.

No examples provided.

list_tenant_users ~56

List users associated with a tenant.

NameTypeReqDescription
cursorstringPagination cursor
limitnumberMax results per page (default 20, max 100)
tenant_idstringyesThe tenant ID

No output schema declared.

No examples provided.