Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Courier

by trycourierversion 1.3.7i★ 0iRuns in the cloud
Registry nameio.github.trycourier/courier

How to install

What it does

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

  • Connects Runs in the cloud
  • Account or key Needs api_key
  • Category Other

Install

Pick the AI app you use, then copy the settings.

Passed 2/3 checks · What you ask goes through the maker’s server (mcp.courier.com) · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  2. Click “Add” → “Custom” → “Web” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameCourier
    Remote MCP server URL · Addresshttps://mcp.courier.com

    Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add

  3. Turn it on in a chat

    +ConnectorsCourier

  4. Try it

    Use Courier and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Courier or shows a Courier tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT, depending on your plan

Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · NameCourier
    Connection · Addresshttps://mcp.courier.com
  3. Pick Courier in a chat

    Start a new chat and pick Courier from your plugins before typing

  4. Try it

    Use Courier and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using Courier or shows a Courier tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    claude mcp add --transport http --scope user courier https://mcp.courier.com
  3. Type /mcp in Claude Code

    You should see Courier listed as connected

  4. Try it

    Use Courier and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Courier or shows a Courier tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use Courier and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Courier or shows a Courier tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use Courier and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Courier or shows a Courier tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://mcp.courier.com

JSON settings are under “For developers” below

Stuck? Ask people who use Courier💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user courier https://mcp.courier.com

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "courier": {
      "url": "https://mcp.courier.com"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "courier": {
      "type": "http",
      "url": "https://mcp.courier.com"
    }
  }
}

Values you fill in

  • api_key secret required HTTP header
    Your Courier API key

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Licencei
No licence stated
Connection
Runs in the cloud
Transport
streamable-http
Latest versioni
1.3.7
Categoryi
Other
Published to registryi
Jun 19, 2026
Code last changedi
–
Maker
trycourier
Repo
–
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

All apps, with pros and cons →

Related guides

What it can do

Tool names and descriptions exactly as the server reported them on Nov 11, 2026. The maker wrote them, not us; we show them as plain text.

  • list_messages

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

  • get_message

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

  • get_message_content

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

  • get_message_history

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

  • list_notifications

    List notification templates, newest first. Pass tags to return only templates carrying ALL of the given tags. Page through the rest with cursor.

  • get_notification_content

    Get the published content blocks of a notification template.

  • get_notification_draft_content

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

  • create_notification

    Create a V2 notification template. name is required. Content may be provided inline or set separately afterwards. A newly created template is a draft; making it live is a separate step this tool cannot perform. Link a routing strategy via notification.routing.strategy_id to contr

  • get_notification

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

  • replace_notification

    Replace a notification template entirely (full document PUT). The template stays a draft; making it live is a separate step this tool cannot perform.

  • put_notification_content

    Replace the elemental content of a V2 notification template. Overwrites all elements. Use channel elements to target specific channels. Multi-channel example: elements: [{ type: "channel", channel: "email", elements: [{ type: "meta", title: "Hello" }, { type: "text", content: "Em

  • put_notification_element

    Update a single element within a V2 notification template. The template stays a draft; making it live is a separate step this tool cannot perform.

  • put_notification_locale

    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_id: "nt_01abc", locale_id: "es", elements: [{ id: "elem_meta_1", title: "Restablecer contraseña" },

  • list_notification_versions

    List the version history of a notification template — each published version with when it was created. Use this to say what changed and when, or to find the version string get_notification accepts.

  • list_notification_checks

    List the checks recorded against one notification submission. Checks are the gates a submission has to clear before it goes out, so a failing check here is the reason a template is stuck rather than live.

  • list_providers

    List configured provider integrations for the workspace.

  • get_provider

    Fetch a single provider configuration by ID.

  • list_provider_catalog

    List the provider integrations Courier supports and the configuration each one expects. This is the catalog of what COULD be connected, not what this workspace has configured — use list_providers for that. Answers "what can I connect Courier to" and "what do I need in order to se

  • get_routing_strategy

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

  • list_routing_strategies

    List the workspace's routing strategies, returning metadata only. A routing strategy decides which channel a notification takes and in what order. Use this to find the rs_-prefixed strategy ID that get_routing_strategy needs for the full definition.

  • list_preference_sections

    List the workspace's preference sections, each with the topics inside it. One call returns the whole opt-in surface: everything a user could subscribe to or opt out of. This is what the workspace DEFINES — use get_user_preferences for what a particular person actually chose.

  • get_preference_section

    Get one preference section by ID, including its topics. Use this when you already know which section you need; list_preference_sections returns every section with its topics in one call.

  • list_preference_topics

    List the subscription topics inside one preference section. A topic is the individual thing a user opts in or out of, and its ID is what get_user_preference_topic takes.

  • get_preference_topic

    Get one subscription topic within a section, including its default opt-in state. Returns 404 if the section or topic does not exist, or if the topic belongs to a different section — so a 404 here can mean the pairing is wrong rather than the topic missing.

  • create_journey

    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 — a create with no exit node is rejected, and the API reports that as "exit node must be the last nod

  • get_journey

    Get a journey by ID. Pass version=draft to retrieve the working draft, or version=vN for a historical version. Defaults to published.

  • replace_journey

    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 draft; making the change live is a separate step this tool cannot perform. This is where send, delay,

  • create_journey_template

    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 journey send nodes. content.elements must be wrapped in a channel block — the API rejects bare element

  • put_journey_template_content

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

  • put_journey_template_locale

    Set locale-specific content overrides for a journey-scoped notification template. Each element override must reference an existing element by its id. The template stays a draft; making it live is a separate step this tool cannot perform.

  • list_journeys

    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

    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.

  • get_journey_template

    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.

  • get_journey_template_content

    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_notification_metrics Looks like an instruction to the AI

    Delivery funnel for ONE notification template over time: sent, delivered, opened, clicked, errors and undeliverable, per provider and channel, in time buckets. Choosing the window — supply EITHER `lookback` OR `start` and `end` together, NEVER both. Supplying both is rejected. Fo

  • get_tenant

    Get a tenant by its ID.

  • list_tenants

    List the workspace's tenants. A tenant is a customer or organisation whose users, branding and preferences are scoped separately; this answers "what tenants do I have" and gives you the tenant IDs get_tenant needs.

  • list_tenant_users

    List the users associated with one tenant. Use this to confirm whether someone actually belongs to the tenant whose branding or preferences you are reasoning about.

  • get_user_profile_by_id

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

  • get_user_list_subscriptions

    List the lists one user is subscribed to. Use this when explaining why a user received something — a subscription here is the reason a list-addressed send reached them, and its absence rules that path out.

  • get_user_preferences

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

  • get_user_preference_topic

    Get one user's choice for a single subscription topic — whether they opted in or out, and per channel. Use this when you already know which topic is in question; get_user_preferences returns all of them at once.

  • list_user_tenants

    List the tenants a user belongs to. Preferences and branding can be scoped per tenant, so this tells you which tenant-scoped settings could apply to this user at all before you go looking for them.

  • list_brands

    List the workspace's brands. A brand is the reusable logo, colors and email styling a notification template renders with; this gives you the brand IDs a template's brand reference points at.

  • get_brand

    Get one brand by ID, including its colors, logo and styling settings. Read this to describe what a template referencing this brand will actually look like.

  • courier_installation_guide

    Get the Courier SDK installation guide for one platform: the install command, a quick-start code sample and the relevant doc links. This is the answer to "how do I integrate Courier" or "how do I get started". Client-side platforms need a JWT to authenticate; each guide says so a

  • list_automations

    List the workspace's automation templates, each with its template ID and whether it has a published or draft version. Answers "what automations already exist here" — this only reads the catalog, it never runs one.

  • list_audiences

    List the workspace's audiences. An audience is a saved filter over user profiles — a dynamic segment — so this answers "who can I target" and gives you the audience IDs that journey audience triggers and send requests refer to.

  • get_audience

    Get one audience by ID, including the filter that defines its membership. Read this to explain why someone is or is not in an audience — the filter is the rule, not a stored member list. Use list_audience_members for who currently matches.

  • list_audience_members

    List the users who currently match an audience's filter. Membership is computed, so this reflects profiles as they are right now — a profile change can move someone in or out without the audience itself being edited.

  • list_lists

    List the workspace's lists. A list is an explicit, subscription-based group of users — someone is on it because they were subscribed, not because they match a rule. Optionally filter by an id pattern such as "example.list.*".

  • get_list

    Get one list by its ID, including its name and current state.

  • get_list_subscribers

    List the users subscribed to a list. Use this to confirm whether someone was actually on a list at all — a subscription here is the reason a list-addressed send reached them.

  • list_digest_instances

    List the digest instances for a digest schedule. Each instance is the events accumulated so far for one user against that schedule, so this shows what is waiting to go out and answers why a digest has not arrived yet — it is still accumulating, or it has nothing in it.

  • update_audience

    Create or update an audience with a filter definition.

  • delete_audience

    Delete an audience by its ID.

  • get_audit_event

    Get a specific audit event by its ID.

  • list_audit_events

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

  • generate_jwt_for_user

    Generate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).

  • invoke_automation_template

    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", recipient: "user-123", data: { plan: "pro" } }.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account trycourier, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 750 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✕ Fail

    No hidden instructions in tool descriptions

    2 tool descriptions contain text that looks like instructions to the AI. Read them below before installing

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Otheri

  • More stars than 0% of the other 19659 servers in this category
  • Published to the registry more recently than 10% of the other 19659 servers in this category
  • Basic checks equal to or better than 44% of the other 19659 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Courier safe?

It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: api_key

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.3.7) reached the registry 5 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).

What can I use instead?

In the same category: World Monitor, Claude Flow, Windmill

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

by koala73Widely used★ 90.6KUpdated today

Runs in the cloud✓ service owner · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

by ruvnetWidely used↓ 13.5K/wk★ 81.6KUpdated 14 months ago

Runs on your computer

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

by windmill-labsWidely used★ 18.6KUpdated yesterday

Runs in the cloud

README from the maker

No README found in the repo