Index / MCP servers / Courier

Courier MCP server

Connect Courier and your agent gets 145 tools, among them add_bulk_users, add_subscribers_to_list, add_user_to_tenant. It answers at https://mcp.courier.com over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.

Status
Answering
Tools
145
Reliability
6 of 6 checks
Response time
493 ms
Transport
streamable HTTP
Last checked
24 October 2026

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

Description as the publisher wrote it.

The 145 tools Courier offers

ToolWhat it does
add_bulk_usersAdd users to an existing bulk job.
Inputs: job_id, users
add_subscribers_to_listAppend subscribers to a list without removing existing subscribers.
Inputs: list_id, recipients
add_user_to_tenantAdd a user to a tenant.
Inputs: user_id, tenant_id, profile
archive_journeyArchive a journey. Archived journeys cannot be invoked but existing runs continue to completion.
Inputs: journey_id
archive_journey_templateArchive a journey-scoped notification template. Archived templates cannot be sent.
Inputs: notification_id, journey_id
archive_notificationArchive a notification template by ID.
Inputs: notification_id
archive_preference_sectionArchive a preference section. The section must be empty: delete its topics first, otherwise the request fails with 409.
Inputs: section_id
archive_preference_topicArchive a topic within a section.
Inputs: section_id, topic_id
archive_requestArchive a send request and all its associated messages by request ID.
Inputs: request_id
archive_routing_strategyArchive a routing strategy. The strategy must not have associated notification templates; unlink all templates before archiving.
Inputs: routing_strategy_id
bulk_add_user_tenantsAdd a user to multiple tenants at once. A custom profile can be supplied per tenant.
Inputs: user_id, tenants
bulk_add_user_tokensAdd multiple push/device tokens for a user in one request. Overwrites matching existing tokens.
Inputs: user_id, tokens
bulk_replace_user_preferencesReplace 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 every existing override not included is reset to its topic de
Inputs: user_id, topics, tenant_id
bulk_subscribe_to_listReplace all subscribers on a list with the given recipients.
Inputs: list_id, recipients
bulk_update_user_preferencesAdditively 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 untouched. Partial-success: valid topics are written and retu
Inputs: user_id, topics, tenant_id
cancel_automationCancel 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 original automation was started. Note: spelling is "cancelation
Inputs: cancelation_token
cancel_journeyCancel 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 already finished or was already canceled is left unchanged.
Inputs: cancelation_token, run_id
cancel_messageCancel a message that is currently being delivered. Returns the message details with updated status.
Inputs: message_id
cancel_notification_submissionCancel a notification template submission.
Inputs: notification_id, submission_id
courier_installation_guideGet the Courier SDK installation guide for a specific platform. For client-side SDKs (React, iOS, Android, Flutter, React Native), also generates a sample JWT.
Inputs: platform, user_id
create_brandCreate 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 (black primary, white secondary). Example: { name: "Acme", sett
Inputs: name, id, settings, snippets
create_bulk_jobCreate a new bulk job for sending messages to multiple recipients. Workflow: create_bulk_job → add_bulk_users → run_bulk_job.
Inputs: message
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
Inputs: name, nodes, enabled, state
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 chan
Inputs: journey_id, channel, notification, provider_key, state
create_listCreate or update a list by list ID.
Inputs: list_id, name
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 n
Inputs: notification, state
create_or_merge_userCreate a new user profile or merge supplied values into an existing profile (POST). Existing fields not included are preserved.
Inputs: user_id, profile
create_or_replace_user_push_tokenCreate or replace a push/device token for a user.
Inputs: user_id, token, provider_key, device
create_or_update_tenantCreate or replace a tenant. Tenants represent organizations or groups that users belong to.
Inputs: tenant_id, name, parent_tenant_id, default_preferences, properties, user_profile
create_preference_sectionCreate a preference section in your workspace. The section id is generated and returned. Add topics afterwards with create_preference_topic.
Inputs: name, routing_options, has_custom_routing
create_preference_topicCreate a subscription preference topic inside a section. The topic id is generated and returned. Fails with 404 if the section does not exist.
Inputs: section_id, name, default_status, routing_options, allowed_preferences, include_unsubscribe_header
create_providerCreate a new provider (integration) configuration. Once routing strategies or notification templates reference this config, credential or settings mistakes can affect live sends—confirm provider key and settings against list_provider_catalo
Inputs: provider, title, alias, settings
create_routing_strategyCreate a routing strategy defining how notifications are delivered across channels and providers.
Inputs: name, routing, channels, providers, description, tags
delete_audienceDelete an audience by its ID.
Inputs: audience_id
delete_brandDelete a brand by its ID.
Inputs: brand_id
delete_listDelete a list by its ID.
Inputs: list_id
delete_profileDelete a user profile permanently.
Inputs: user_id
delete_providerDelete a provider configuration. Returns 409 if the provider is still referenced by routing or notifications.
Inputs: provider_id
delete_tenantDelete a tenant by its ID.
Inputs: tenant_id
delete_tenant_preferenceRemove default notification preference for a topic from a tenant.
Inputs: tenant_id, topic_id
105 more tools

delete_tenant_template, delete_user_list_subscriptions, delete_user_preference_topic, delete_user_token, generate_jwt_for_user, get_audience, get_audit_event, get_brand, get_bulk_job, get_journey, get_journey_template, get_journey_template_content, get_list, get_list_subscribers, get_message, get_message_content, get_message_history, get_notification, get_notification_content, get_notification_draft_content, get_notification_metrics, get_preference_section, get_preference_topic, get_provider, get_routing_strategy, get_tenant, get_tenant_template, get_tenant_template_version, get_translation, get_user_list_subscriptions, get_user_preference_topic, get_user_preferences, get_user_profile_by_id, get_user_push_token, invoke_ad_hoc_automation, invoke_automation_template, invoke_journey, list_audience_members, list_audiences, list_audit_events, list_automations, list_brands, list_bulk_users, list_digest_instances, list_journey_template_versions, list_journey_templates, list_journey_versions, list_journeys, list_lists, list_messages, list_notification_checks, list_notification_versions, list_notifications, list_preference_sections, list_preference_topics, list_provider_catalog, list_providers, list_routing_strategies, list_routing_strategy_notifications, list_tenant_templates, list_tenant_users, list_tenants, list_user_push_tokens, list_user_tenants, patch_profile, patch_user_token, publish_journey, publish_journey_template, publish_notification, publish_preferences, publish_tenant_template, put_journey_template_content, put_journey_template_locale, put_notification_content, put_notification_element, put_notification_locale, release_digest, remove_all_user_tenants, remove_user_from_tenant, replace_journey, replace_journey_template, replace_notification, replace_preference_section, replace_preference_topic, replace_profile, replace_routing_strategy, replace_tenant_template, resend_message, restore_list, run_bulk_job, send_message, send_message_template, send_message_to_list, send_message_to_list_template, subscribe_user_to_list, subscribe_user_to_lists, track_inbound_event, unsubscribe_user_from_list, update_audience, update_brand, update_notification_checks, update_provider, update_tenant_preference, update_translation, update_user_preference_topic

Add Courier to your AI client

Every block below points at https://mcp.courier.com. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http courier https://mcp.courier.com
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "courier": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.courier.com"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "courier": {
      "url": "https://mcp.courier.com"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "courier": {
      "type": "http",
      "url": "https://mcp.courier.com"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "courier": {
      "url": "https://mcp.courier.com"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "courier": {
      "serverUrl": "https://mcp.courier.com"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "courier": {
      "url": "https://mcp.courier.com"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Courier
version: 0.0.1
schema: v1
mcpServers:
  - name: Courier
    type: streamable-http
    url: https://mcp.courier.com
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "courier": {
      "httpUrl": "https://mcp.courier.com"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "courier": {
      "type": "http",
      "url": "https://mcp.courier.com"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "courier": {
      "url": "https://mcp.courier.com"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.courier.com&type=streamable_http&id=courier&name=Courier

Is Courier up right now?

It answered our last check on 24 October 2026 in 493 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Courier

Questions about Courier

How many tools does Courier have?

145, as returned by the server's own tools/list on 22 September 2026: add_bulk_users, add_subscribers_to_list, add_user_to_tenant, archive_journey, archive_journey_template, archive_notification, archive_preference_section, archive_preference_topic, and 137 more.

Is Courier down?

It answered our last check on 24 October 2026 in 493 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Courier to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.courier.com. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Courier need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.trycourier. Endpoint host: mcp.courier.com. ARD identifier: urn:air:io.github.trycourier:mcp:courier. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.