MCP server · Email, calendar and chat

Courier MCP server

Courier in any MCP client, through Memtro: Courier does not publish this server. Memtro's Courier connector reads Courier through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

Courier notifications: the message delivery log by status, template or recipient id, one message's delivery detail, notification templates and brands; can send a message to a user, address, list or audience, cancel or resend a message, start or cancel a journey run, create, send, schedule and archive broadcasts, publish or archive a template, update a user's profile or list subscriptions, and create or delete a brand.

Reads

  • courier_messagesCourier's delivery log, newest first: each message's status (sent, delivered, opened, clicked, undeliverable…), the reason or error…
  • courier_messageOne Courier message by id: status, reason or error, times, and the channels and providers it went through.
  • courier_templatesCourier notification templates: title, routing (all or single, and the channels), tags, note and dates.
  • courier_brandsCourier brands (the logo, colours and styling templates render with): name, primary and secondary colour, and dates.

Acts, when you ask

These change something in Courier. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • courier_send_messageSends a message through Courier to one recipient: a user id, an email address, a phone number, a list or an audience…
  • courier_cancel_messageCancels a Courier message that is still in the delivery pipeline; what was already delivered stays delivered.
  • courier_resend_messageResends a Courier message with the same content to the same recipient, as a new message.
  • courier_invoke_journeyStarts a run of a Courier journey for one user, who then receives whatever messages the journey sends.
  • courier_cancel_journey_runsCancels in-flight Courier journey runs: one run by its id, or every run sharing a cancelation token.
  • courier_create_broadcastCreates a draft Courier broadcast for one channel, with its own private template whose content is then written in the Courier app.
  • courier_send_broadcastSends a Courier broadcast now to every member of a list or audience, publishing its template first.
  • courier_schedule_broadcastSchedules a Courier broadcast to send later to every member of a list or audience, publishing its template now.
  • courier_archive_broadcastArchives a Courier broadcast (a soft delete: it leaves the broadcast list; Courier documents no way to restore it).
  • courier_publish_templatePublishes a Courier template's current draft, or an earlier version (v001, v002...).
  • courier_archive_templateArchives a Courier template.
  • courier_update_profileMerges values into a Courier user's profile (creating it if absent): email, phone number, locale or custom fields.
  • courier_subscribe_to_listsSubscribes a Courier user to one or more lists; a list that does not exist yet is created.
  • courier_create_brandCreates a Courier brand with a name and primary and secondary colours; templates can then render with it.
  • courier_delete_brandPermanently deletes a Courier brand.

Connect it

First connect Courier on Dashboard → Connections, then add Memtro to your client once. The Courier tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Courier connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › Why didn't the welcome email arrive for user 42?
  • › Which messages were undeliverable today, and why?
  • › Which providers did the last password reset go through?
  • › Which templates send on every channel?
  • › Resend the welcome email to user 42.

Questions

Is this an official Courier MCP server?
No. It is Memtro's MCP server with Memtro's Courier connector behind it: the connector reads Courier through its API with the credentials you connect on Dashboard → Connections, and Courier publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in Courier?
Only when you ask, and only what it has been granted: send a message to a user, email address, phone number, list or audience (notifies them); cancel a message still being delivered; resend a message to its original recipient (notifies them again); start a journey run for one user (it may message them); cancel journey runs by run id or cancelation token; create a draft broadcast; send a broadcast now to a list or audience (notifies every member); schedule a broadcast for a list or audience; archive a broadcast; publish a template's draft or an earlier version (changes live sends); archive a template (new sends using it fail); merge values into a user's profile; subscribe a user to lists (creates missing lists); create a brand; delete a brand (permanent). Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · Email, calendar and chat

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time