World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
Send notifications, manage templates, and configure integrations with Courier.
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
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Courierhttps://mcp.courier.comClick 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
+ConnectorsCourier
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
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Courierhttps://mcp.courier.comStart a new chat and pick Courier from your plugins before typing
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
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http --scope user courier https://mcp.courier.comYou should see Courier listed as connected
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
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
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.
Address for apps that connect over the web
https://mcp.courier.comJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http --scope user courier https://mcp.courier.comCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"courier": {
"url": "https://mcp.courier.com"
}
}
}VS Code (mcp.json)
{
"servers": {
"courier": {
"type": "http",
"url": "https://mcp.courier.com"
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
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
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_messagesList messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.
get_messageGet the full details and status of a single message by its ID.
get_message_contentGet the rendered content (HTML, text, subject) of a previously sent message.
get_message_historyGet the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).
list_notificationsList notification templates, newest first. Pass tags to return only templates carrying ALL of the given tags. Page through the rest with cursor.
get_notification_contentGet the published content blocks of a notification template.
get_notification_draft_contentGet the draft (unpublished) content blocks of a notification template.
create_notificationCreate 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_notificationRetrieve a notification template by ID. Optionally request draft, published, or a version such as v001.
replace_notificationReplace 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_contentReplace 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_elementUpdate 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_localeSet 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_versionsList 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_checksList 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_providersList configured provider integrations for the workspace.
get_providerFetch a single provider configuration by ID.
list_provider_catalogList 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_strategyRetrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers.
list_routing_strategiesList 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_sectionsList 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_sectionGet 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_topicsList 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_topicGet 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_journeyCreate 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_journeyGet a journey by ID. Pass version=draft to retrieve the working draft, or version=vN for a historical version. Defaults to published.
replace_journeyReplace (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_templateCreate 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_contentReplace 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_localeSet 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_journeysList journey templates in the workspace, returning the journey IDs and version state of each. Optionally filter by version (published or draft).
list_journey_templatesList 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_templateGet 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_contentFetch 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 AIDelivery 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_tenantGet a tenant by its ID.
list_tenantsList 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_usersList 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_idGet a user profile by their ID. Returns profile data including email, phone, and custom properties.
get_user_list_subscriptionsList 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_preferencesGet a user's notification preferences (subscriptions, opt-outs, channel preferences).
get_user_preference_topicGet 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_tenantsList 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_brandsList 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_brandGet 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_guideGet 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_automationsList 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_audiencesList 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_audienceGet 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_membersList 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_listsList 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_listGet one list by its ID, including its name and current state.
get_list_subscribersList 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_instancesList 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_audienceCreate or update an audience with a filter definition.
delete_audienceDelete an audience by its ID.
get_audit_eventGet a specific audit event by its ID.
list_audit_eventsList audit events in the workspace. Useful for tracking API usage and changes.
generate_jwt_for_userGenerate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).
invoke_automation_templateInvoke 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" } }.
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
The registry name was verified with the GitHub account trycourier, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 750 ms (HTTP 200)
No sign-in needed
2 tool descriptions contain text that looks like instructions to the AI. Read them below before installing
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.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: api_key
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.
The GitHub repo last changed –, and the latest version (1.3.7) reached the registry 5 months ago.
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).
In the same category: World Monitor, Claude Flow, Windmill
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
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
No README found in the repo