Skip to main content
Glama
edgar-kessler

outlook-mcp

outlook-mcp

Let Cursor, Claude Desktop, or OpenCode read and send your Outlook mail — locally on Windows.

This is a small MCP server. It talks to the Outlook app already on your PC (COM/MAPI).
It does not use Microsoft Graph, Azure, or cloud APIs.

Windows + Outlook Desktop only. macOS/Linux are not supported.


What you get

After setup, your AI can:

  • list mailboxes and folders

  • summarize the inbox (unread + recent)

  • search, open, reply, forward, and send mail

  • mark, move, delete messages

  • save attachments to disk

Typical flow the model should use:

  1. list_mailboxes — see accounts

  2. inbox_summary — quick overview

  3. get_mail / search_mail — details

  4. reply_mail or send_mail — act


Related MCP server: MCP Outlook

Requirements

Need

Notes

Windows

Required

Outlook Desktop

Signed in with your mailbox

Node.js 18+

nodejs.org

Outlook may show a security prompt the first time another app accesses mail — allow it.


Install

git clone https://github.com/YOUR_USER/outlook-mcp.git
cd outlook-mcp
npm install
npm run build

Optional: set a default mailbox (otherwise Outlook’s default account is used):

$env:OUTLOOK_MAILBOX = "you@example.com"

Quick check (Outlook only, no AI)

powershell -NoProfile -STA -ExecutionPolicy Bypass `
  -File .\powershell\Invoke-Outlook.ps1 `
  -Action list_mailboxes

If you see JSON with "ok": true and your accounts, the bridge works.


Connect an AI client

  1. Build the project (npm run build).

  2. Copy an example from examples/.

  3. Replace C:\\ABS\\PATH\\TO\\outlook-mcp with your real folder path.

  4. Restart the client.

Use the full path to node.exe and dist\\server.js (recommended on Windows).

Cursor

Settings → MCP, or project file .cursor/mcp.json — see examples/cursor.mcp.json.

Claude Desktop

Edit claude_desktop_config.json:

  • Often: %APPDATA%\Claude\claude_desktop_config.json

  • MSIX/Store installs may instead use:
    %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

Template: examples/claude_desktop_config.json.
Fully quit Claude Desktop (tray icon too), then start it again.

OpenCode CLI

Project or global opencode.json — see examples/opencode.json.

opencode mcp list

You want outlook-mcp = connected.


Tools (cheat sheet)

Tool

When to use it

list_mailboxes

First call — which accounts exist?

list_folders

Where can mail go?

inbox_summary

Fast unread + recent overview

read_folder / read_inbox

List messages with filters

search_mail

Find by text / from / to / subject / date

get_mail

Full body of one message (entryId)

list_conversation

Same thread

send_mail

New email

create_draft

Save without sending

reply_mail

Reply (optional replyAll, or draft with send: false)

forward_mail

Forward

mark_mail

Read / unread / categories

move_mail

Move to a folder

delete_mail

Delete

save_attachments

Write attachments to a folder

list_actions

Debug: which bridge actions are loaded


How it works

AI client  →  outlook-mcp (Node, stdio)  →  PowerShell  →  Outlook COM/MAPI  →  mailbox

Nothing is sent to Azure for mail access. The AI host only starts this local process.

Project layout

src/                  Node MCP server
  mcp/tools.ts        ← add new MCP tools here
powershell/
  Invoke-Outlook.ps1  loader + shared helpers
  lib/*.ps1           ← add new Outlook actions here
examples/             client config templates

Add your own feature

  1. Create e.g. powershell/lib/60-myfeature.ps1 and register an action.

  2. Add a matching tool in src/mcp/tools.ts.

  3. Run npm run build.

Details: CONTRIBUTING.md.


Troubleshooting

Problem

What to try

Bridge JSON error / Outlook COM unavailable

Start Outlook once, sign in, retry

Wrong mailbox

Set OUTLOOK_MAILBOX or pass mailbox on the tool

Claude MCP not loading

Edit the MSIX config path above; restart completely

node not found

Use C:\Program Files\nodejs\node.exe in the config

Tools timeout

Increase client timeout (OpenCode example uses 60000)

Empty inbox results

Confirm the account appears in list_mailboxes


Security

  • Local stdio only — do not publish this as an open network server without auth.

  • send_mail, delete_mail, and save_attachments have real side effects.

  • Prefer drafts (create_draft, or send: false on reply/forward) while testing.

More: SECURITY.md.


License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/edgar-kessler/outlook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server