home / mcp / outlook mcp server

Outlook MCP Server

Provides Outlook data access and actions via MCP: emails, calendars, folders, and mail rules through Microsoft Graph

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jibberish69-enhanced-outlook-mcp": {
      "url": "http://localhost:3000"
    }
  }
}

You run an enhanced MCP server that connects Claude with Microsoft Outlook via the Microsoft Graph API. It handles authentication, email and calendar operations, folder management, and mail rules in a modular, test-friendly way, making it easier to build automation and chat-assisted workflows around Outlook data.

How to use

You will connect an MCP client to the Outlook MCP Server to manage emails, calendars, folders, and rules. Start by launching the MCP server, then perform actions through Claude or any MCP client configured to talk to http://localhost:3000. The server provides an authentication flow to securely obtain and refresh tokens for Microsoft Graph access cross multiple users.

Typical end-to-end usage pattern: - Start the MCP server so it is reachable at http://localhost:3000 - Start the authentication server to handle OAuth flows on port 3333 by running the provided command - Configure Claude or your MCP client to use the enhanced-outlook-mcp with no additional auth, pointing to the local MCP URL - Authenticate once to grant access to your Microsoft Outlook data, then perform actions such as listing emails, reading messages, sending mail, creating calendar events, organizing folders, and defining mail processing rules.

Common operations you can perform through the MCP server include: - Email management: list, search, read, send, and attach files to messages - Calendar: create, modify, and track events with attendee support - Folder management: create, list, and move items between folders - Rules: create, list, and delete mail processing rules All actions respect rate limiting and provide enhanced error messages for easier debugging.

How to install

Prerequisites: Node.js is installed on your machine. You should also have a Microsoft App Registration to enable Graph API authentication.

Step 1. Clone the repository and navigate into the project folder - git clone https://github.com/your-username/enhanced-outlook-mcp.git - cd enhanced-outlook-mcp

Step 2. Install dependencies
- npm install

Step 3. Create a configuration file based on the example by supplying your Microsoft App details - MS_CLIENT_ID=your_client_id - MS_CLIENT_SECRET=your_client_secret - Optional: additional configuration options as needed in your environment You typically place these values in a .env file in the project root.

Step 4. Start the MCP server
- npm start
Step 5. Start the authentication server in a separate terminal
- npm run auth-server

Configuration and notes

The server is designed to support multi-environment configurations (development, testing, production). It includes an authentication system with OAuth 2.0 against Microsoft Graph, token refresh, and multi-user support. In test mode, you can simulate responses without real API calls.

Environment and file structure highlights: - Use the .env.example as a template to create your .env with your Microsoft App Registration details - The server exposes an HTTP endpoint at http://localhost:3000 for MCP clients - The authentication flow runs on port 3333 by default

Claude configuration example to connect to the MCP server:
```
{
  "tools": [
    {
      "name": "enhanced-outlook-mcp",
      "url": "http://localhost:3000",
      "auth": {
        "type": "none"
      }
    }
  ]
}

Troubleshooting and tips

If you encounter authentication issues, verify that your Microsoft App Registration details are correct and that the redirect/redirect URI configurations align with the server's expectations. Check logs for OAuth token refresh messages and ensure the authentication server is reachable on its configured port.

If the MCP server cannot be reached from your client, confirm that the server is running and listening on http://localhost:3000. Validate that the authentication server is running if you are performing a full OAuth flow.

Available tools

authenticate

Handles OAuth-based authentication with Microsoft Graph, including token storage and refresh for multi-user access.

listEmails

Retrieves a list of emails with optional search and filtering.

readEmail

Reads the full content and metadata of a specific email.

sendEmail

Sends an email with optional attachments and supports recipient addressing.

listFolders

Lists folders within the mailbox for organizing emails.

createFolder

Creates new mail folders for organizing messages.

moveItem

Moves emails or calendar items between folders or calendars.

listEvents

Lists calendar events with optional filters.

createEvent

Creates calendar events with attendee tracking and reminders.

updateEvent

Updates details of an existing calendar event.

deleteEvent

Deletes a calendar event from the calendar.

createRule

Creates mail processing rules to automate actions on incoming mail.

listRules

Lists active mail processing rules.

deleteRule

Deletes a specified mail processing rule.

graphApiHelper

Utility functions to simplify calls to Microsoft Graph API.

rateLimiter

Enforces API request limits to prevent throttling.

mockData

Provides mock data for test mode to simulate API responses.