Several Outlook mailboxes reaching a Cursor agent through a single Carly MCP server

How to Connect Multiple Outlook Accounts to Cursor

Cursor has no Outlook plugin. Not a one-account plugin, not a limited one: the marketplace carries no Outlook, Exchange, or Microsoft 365 mail connector at all, so the account limit is zero rather than one. The Model Context Protocol is the route, and one Carly server is the version of it that holds every mailbox at once. Your Gmail accounts and every calendar on both sides ride along on the same connection.

What one Cursor session can do afterwards

  • Search two employers’ Microsoft 365 mailboxes in the same prompt.
  • Compare a thread in a client tenant against one in your own.
  • Pull every message about a failed deploy across all connected mailboxes.
  • Draft or send from the exact address you choose.
  • Flag, move, or file in the correct mailbox.
  • Read a client mailbox while writing only to your own.

Nothing is merged into a pooled inbox. Each mailbox keeps its own credentials, and every result names the account it came from.

Why the Microsoft side is a harder gap than it looks

Cursor shipped Google Workspace plugins on Aug 3, 2026, adding first-party Gmail, Google Drive, and Google Calendar connectors. That announcement is the reason people assume the Microsoft equivalents exist too. They do not. The marketplace is curated and every plugin is manually reviewed, and the Microsoft entries in it are Azure and Dataverse: infrastructure and data, not mail or calendar.

This is a sharper limit than the one-account ceiling most assistants have. With ChatGPT or Claude you can at least reach one Microsoft mailbox and then argue about the second. In Cursor the plugin route reaches none of them, so the question is not how many mailboxes but whether mail on Microsoft is reachable at all.

It is, through MCP. The question is which server you point at.

Why one server beats one per mailbox

The usual answer is a third-party or self-hosted Outlook MCP server. That works for one mailbox and gets awkward fast. Three mailboxes across two employers means three server entries in mcp.json, three Microsoft app registrations you create and rotate yourself, three consent flows to chase through unrelated IT departments, and no shared vocabulary for telling the agent which mailbox you mean.

Carly holds each Microsoft identity as its own authorized connection and exposes all of them through a single server that addresses any account by email address. A fourth tenant later is a Carly setting rather than a config edit, and there is no app registration on your side at any point.

Where Cursor Automations stop

Cursor is further along than most coding agents here, so it is worth being precise. Automations run cloud agents in the background and genuinely fire on events rather than only on a clock: GitHub, GitLab, Slack, webhooks, and Linear are documented triggers, and an automation can call MCP tools when it runs.

Mail is not among them. Nothing starts because a message arrived, a meeting moved, or a client replied, so mailbox work still begins with a person opening a session.

MCP servers wait to be asked. The protocol has no scheduler and no event mechanism — its maintainers acknowledge that change detection today means polling — so an MCP connection can answer a question but cannot notice something on its own.

Carly sits on the other side of that line. It can watch a mailbox and act when something lands, which is where recurring triage belongs, running with Cursor closed.

1. Give each Outlook account a role

For example, all fictional:

AddressRole
fictional.tomas.eberhardt@outlook.comPersonal
fictional.tomas.eberhardt@cloudflare.comMain Company
fictional.tomas.eberhardt@snowflake.comClient

Use the role in ordinary queries and the full address before anything that changes a mailbox.

2. Connect every Outlook account to Carly

  1. Sign in at carlyassistant.com.
  2. Open carlyassistant.com/integrations.
  3. Find Outlook and click Connect.
  4. Sign in to the first Microsoft identity and approve access.
  5. Confirm the connected address in Carly.

Repeat for every additional mailbox. Use a private window if Microsoft preselects the previous login, and verify the full address after each authorization before adding the next.

Carly accepts personal Outlook.com addresses and Microsoft 365 work accounts alike. Each tenant approves independently, so one company’s administrator declining does not block the others. If a tenant requires admin consent, ask that administrator to approve the connection and then finish authorization.

3. Add Carly as an MCP server in Cursor

Cursor reads MCP servers from ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside a single repository if you would rather scope it there:

{
  "mcpServers": {
    "carly": {
      "url": "https://carlyassistant.com/mcp/"
    }
  }
}

Then open Cursor Settings, find the Carly server, and complete the OAuth flow in the browser. Cursor supports OAuth against remote MCP servers directly, so there is no client secret in the file and no Microsoft app registration of your own. Sign in to the Carly workspace holding the mailboxes.

Confirm the server shows as connected and its tools are listed. If they do not appear, reload the window.

4. Test every mailbox read-only first

One account per prompt to start:

In fictional.tomas.eberhardt@cloudflare.com, list the sender and subject of the five newest unread messages. Do not change anything.

In fictional.tomas.eberhardt@snowflake.com, find the newest thread containing “renewal.” State the source mailbox and do not draft.

Then a cross-account query:

Search the Cloudflare and Snowflake example mailboxes for “SOC 2” from the last 30 days. Include the full source address in every row.

Every row should name the mailbox it came from. If one does not, require attribution in the prompt and re-run before letting it write anything.

5. Reuse this routing prompt

Treat fictional.tomas.eberhardt@outlook.com as Personal, fictional.tomas.eberhardt@cloudflare.com as Main Company, and fictional.tomas.eberhardt@snowflake.com as Client. Always state the target address before changing data. Ask before sends, moves, deletes, or flags.

Then name the target on each action:

Draft the reply from fictional.tomas.eberhardt@cloudflare.com. Do not send yet.

Move that thread to the Renewals folder in fictional.tomas.eberhardt@snowflake.com only.

Send the approved reply from the mailbox that received the original thread.

Keep approvals on while testing. Client tenants are exactly where a misrouted send is expensive.

Per-mailbox MCP servers versus Carly in Cursor

NeedOne MCP server per mailboxCarly MCP server
Reach one Outlook mailboxYesYes
Reach several mailboxesOne server entry eachOne server, all mailboxes
Register a Microsoft app yourselfUsually requiredNo
Address a specific mailbox in a promptNo shared conventionYes, by email address
Mix Outlook and Gmail on one connectionNoYes
Add a fourth tenant laterNew server entry and new consentNo config change
Keep the work running with Cursor closedNoYes

Carly gives Cursor one account-aware mail toolset covering both providers. Carly offers free Zapier-style workflows; AI agents start at $35/month.

Quick fixes when a mailbox does not appear

ProblemFix
Carly’s tools do not show upReload the Cursor window after adding the server
The server sits unauthenticatedOpen Cursor Settings and complete the OAuth flow, then reload
Microsoft signed in the same identity twiceReconnect from a private window and confirm the address in Carly
A tenant blocks authorizationAsk that tenant’s administrator to approve Carly, then reauthorize
Cursor queries the wrong mailboxUse the full address and require source attribution in the prompt
A shared mailbox is missingConnect the identity that has delegated access to it

Frequently asked questions

Does Cursor have an Outlook plugin?

No. Cursor’s marketplace is curated and manually reviewed, and it lists no Outlook, Exchange, or Microsoft 365 mail plugin. The Microsoft plugins that do exist are Azure and Dataverse. Mail on the Microsoft side reaches Cursor through an MCP server rather than a plugin.

How many Outlook mailboxes can this reach?

As many as you authorize in Carly, mixing personal Outlook.com addresses and Microsoft 365 work accounts. Cursor connects to one server, so the count is a Carly setting rather than a Cursor one.

Can the same setup cover Gmail?

Yes, on the same server and in the same prompt. See multiple Gmail accounts in Cursor and every email account in Cursor.

Should I use Cursor for inbox work?

For mail tasks alongside code, it is a reasonable place to do them. Recurring triage, drafting, and follow-up belong in a Carly workflow that runs without a session open and can start when mail actually arrives.


Related: Every email account in Cursor · Multiple Gmail accounts in Cursor · Best AI assistants for multiple Microsoft accounts · Cursor alternatives · What is MCP · Carly’s Outlook integration

Ready to automate your busywork?

Carly schedules, researches, and briefs you—so you can focus on what matters.

See what people say

"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.

Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.

On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."

Gus Ibrahim, Founder & Director, IHR