Outlook for macOS MCP server

Integrates with Microsoft Outlook for macOS using AppleScript to enable email, calendar, and contact management operations for automated workflows and scheduling assistance.
Back to servers
Provider
Syed Azhar
Release date
Mar 02, 2025
Language
TypeScript
Stats
6 stars

This MCP server enables Claude to interact with Microsoft Outlook for macOS, allowing access to emails, calendar events, and contacts directly through conversational prompts in the Claude desktop app.

Prerequisites

Installation

Step 1: Clone the repository

git clone https://github.com/syedazharmbnr1/claude-outlook-mcp.git
cd claude-outlook-mcp

Step 2: Install dependencies

bun install

Step 3: Make the script executable

chmod +x index.ts

Step 4: Update Claude Desktop configuration

Edit your claude_desktop_config.json file located at:

~/Library/Application Support/Claude/claude_desktop_config.json

Add the following configuration:

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

Note: Replace YOURUSERNAME with your actual macOS username and adjust the path to where you cloned the repository.

Step 5: Restart Claude Desktop app

Step 6: Grant permissions

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

Usage Examples

Once installed, interact with Outlook through Claude by using natural language prompts.

Email Operations

Ask Claude to:

  • Check unread emails:

    Can you check my unread emails in Outlook?
    
  • Send a basic email:

    Send an email to [email protected] 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.
    
  • Search emails:

    Search my emails for "budget meeting"
    

Calendar Operations

Ask Claude to:

  • View today's events:

    What events do I have today?
    
  • Create a calendar event:

    Create a calendar event for a team meeting tomorrow from 2pm to 3pm
    
  • Show upcoming events:

    Show me my upcoming events for the next 2 weeks
    

Contact Operations

Ask Claude to:

  • List contacts:

    List all my Outlook contacts
    
  • Search for a contact:

    Search for contact information for Jane Smith
    

Advanced Features

HTML Email Support

Send rich HTML-formatted emails by specifying HTML content:

Send an HTML email to [email protected] 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

Attach files to emails by specifying file paths:

Send an email to [email protected] with subject "Monthly Report" and attach the reports/march_2025.pdf file

Best practices for attachments:

  • Use absolute file paths when possible
  • Ensure files are accessible to the process running the MCP tool
  • The tool includes robust error detection for attachments

Troubleshooting

Attachment Issues

If you encounter problems with attachments:

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

Module Not Found Error

If you see Cannot find module '@modelcontextprotocol/sdk/server/index.js':

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

If issues persist, try creating a new project:

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.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later