Outlook

Integrates with
Microsoft Outlook

Claude Outlook MCP Tool

This is a Model Context Protocol (MCP) tool that allows Claude to interact with Microsoft Outlook for macOS.

Features

  • Mail:
    • Read unread and regular emails
    • Search emails by keywords
    • Send emails with to, cc, and bcc recipients
    • Send HTML-formatted emails
    • Attach files to emails
    • List mail folders
  • Calendar:
    • View today's events
    • View upcoming events
    • Search for events
    • Create new calendar events
  • Contacts:
    • List contacts
    • Search contacts by name

Prerequisites

Installation

  1. Clone this repository:
git clone https://github.com/syedazharmbnr1/claude-outlook-mcp.git
cd claude-outlook-mcp
  1. Install dependencies:
bun install
  1. Make sure the script is executable:
chmod +x index.ts
  1. Update your Claude Desktop configuration:

Edit your claude_desktop_config.json file (located at ~/Library/Application Support/Claude/claude_desktop_config.json) to include this tool:

{
  "mcpServers": {
    "outlook-mcp": {
      "command": "/Users/YOURUSERNAME/.bun/bin/bun",
      "args": ["run", "/path/to/claude-outlook-mcp/index.ts"]
    }
  }
}

Make sure to replace YOURUSERNAME with your actual macOS username and adjust the path to where you cloned this repository.

  1. Restart Claude Desktop app

  2. Grant permissions:

    • Go to System Preferences > Privacy & Security > Privacy
    • Give Terminal (or your preferred terminal app) access to Accessibility features
    • You may see permission prompts when the tool is first used

Usage

Once installed, you can use the Outlook tool directly from Claude by asking questions like:

  • "Can you check my unread emails in Outlook?"
  • "Search my Outlook emails for the quarterly report"
  • "Send an email to john@example.com with the subject 'Meeting Tomorrow'"
  • "What's on my calendar today?"
  • "Create a meeting for tomorrow at 2pm"
  • "Find the contact information for Jane Smith"

Examples

Email Operations

Check my unread emails in Outlook
Send an email to alex@example.com with subject "Project Update" and the following body: Here's the latest update on our project. We've completed phase 1 and are moving on to phase 2.
Send an HTML email to team@example.com with subject "Weekly Report" and attach the quarterly_results.pdf file
Search my emails for "budget meeting"

Calendar Operations

What events do I have today?
Create a calendar event for a team meeting tomorrow from 2pm to 3pm
Show me my upcoming events for the next 2 weeks

Contact Operations

List all my Outlook contacts
Search for contact information for Jane Smith

Advanced Features

HTML Email Support

You can send rich HTML-formatted emails by setting the isHtml parameter to true:

Send an HTML email to john@example.com with the subject "Project Update" and body "<h1>Project Update</h1><p>We've made <b>significant progress</b> on the project.</p>"

File Attachments

You can attach files to your emails by providing the file paths in the attachments parameter:

Send an email to jane@example.com with subject "Monthly Report" and attach the reports/march_2025.pdf file

For best results with attachments:

  • Use absolute file paths when possible
  • Make sure the files are accessible to the process running the MCP tool
  • Attachments will automatically be handled with robust error detection

Troubleshooting

If you encounter issues with attachments:

  • Check if the file exists and is readable
  • Use absolute file paths instead of relative paths
  • Make sure the user running the process has permission to read the file

If you encounter the error Cannot find module '@modelcontextprotocol/sdk/server/index.js':

  1. Make sure you've run bun install to install all dependencies
  2. Try installing the MCP SDK explicitly:
    bun add @modelcontextprotocol/sdk@^1.5.0
    
  3. Check if the module exists in your node_modules directory:
    ls -la node_modules/@modelcontextprotocol/sdk/server/
    

If the error persists, try creating a new project with Bun:

mkdir -p ~/yourpath/claude-outlook-mcp
cd ~/yourpath/claude-outlook-mcp
bun init -y

Then copy the package.json and index.ts files to the new directory and run:

bun install
bun run index.ts

Update your claude_desktop_config.json to point to the new location.

License

MIT