- Home
- MCP servers
- Outlook
Outlook
- javascript
17
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
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.