The Microsoft MCP server is a powerful AI assistant toolkit for managing Microsoft services through the Microsoft Graph API, enabling interactions with:
Email Management: Read, send, reply to emails, manage attachments, organize folders, mark emails as read/unread, and search emails
Calendar Management: Create, update, delete, and respond to events, check availability, and search calendar events
OneDrive Management: Browse, upload, download, delete, and search files and folders
Contact Management: List, create, update, delete, and search contacts
Multi-Account Support: Manage multiple Microsoft accounts (personal, work, school) via the
account_id
parameterUnified Search: Search across emails, files, events, and contacts with a single query
AI Assistant Capabilities: Smart email management and intelligent scheduling
Allows cloning the Microsoft MCP server repository for installation and setup purposes.
Provides access to the Microsoft MCP repository for installation and configuration of the server.
Provides testing capabilities for the Microsoft MCP server development.
Used for running the Microsoft MCP server implementation and authentication scripts.
Enables code formatting and linting for the Microsoft MCP server codebase.
Microsoft MCP
Powerful MCP server for Microsoft Graph API - a complete AI assistant toolkit for Outlook, Calendar, OneDrive, and Contacts.
Features
Email Management: Read, send, reply, manage attachments, organize folders
Calendar Intelligence: Create, update, check availability, respond to invitations
OneDrive Files: Upload, download, browse with pagination
Contacts: Search and list contacts from your address book
Multi-Account: Support for multiple Microsoft accounts (personal, work, school)
Unified Search: Search across emails, files, events, and people
Quick Start with Claude Desktop
Usage Examples
Available Tools
Email Tools
list_emails
- List emails with optional body contentget_email
- Get specific email with attachmentscreate_email_draft
- Create email draft with attachments supportsend_email
- Send email immediately with CC/BCC and attachmentsreply_to_email
- Reply maintaining thread contextreply_all_email
- Reply to all recipients in threadupdate_email
- Mark emails as read/unreadmove_email
- Move emails between foldersdelete_email
- Delete emailsget_attachment
- Get email attachment contentsearch_emails
- Search emails by query
Calendar Tools
list_events
- List calendar events with detailsget_event
- Get specific event detailscreate_event
- Create events with location and attendeesupdate_event
- Reschedule or modify eventsdelete_event
- Cancel eventsrespond_event
- Accept/decline/tentative response to invitationscheck_availability
- Check free/busy times for schedulingsearch_events
- Search calendar events
Contact Tools
list_contacts
- List all contactsget_contact
- Get specific contact detailscreate_contact
- Create new contactupdate_contact
- Update contact informationdelete_contact
- Delete contactsearch_contacts
- Search contacts by query
File Tools
list_files
- Browse OneDrive files and foldersget_file
- Download file contentcreate_file
- Upload files to OneDriveupdate_file
- Update existing file contentdelete_file
- Delete files or folderssearch_files
- Search files in OneDrive
Utility Tools
unified_search
- Search across emails, events, and fileslist_accounts
- Show authenticated Microsoft accountsauthenticate_account
- Start authentication for a new Microsoft accountcomplete_authentication
- Complete the authentication process after entering device code
Manual Setup
1. Azure App Registration
Go to Azure Portal → Microsoft Entra ID → App registrations
New registration → Name:
microsoft-mcp
Supported account types: Personal + Work/School
Authentication → Allow public client flows: Yes
API permissions → Add these delegated permissions:
Mail.ReadWrite
Calendars.ReadWrite
Files.ReadWrite
Contacts.Read
People.Read
User.Read
Copy Application ID
2. Installation
3. Authentication
4. Claude Desktop Configuration
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Or for local development:
Multi-Account Support
All tools require an account_id
parameter as the first argument:
Development
Example: AI Assistant Scenarios
Smart Email Management
Intelligent Scheduling
Security Notes
Tokens are cached locally in
~/.microsoft_mcp_token_cache.json
Use app-specific passwords if you have 2FA enabled
Only request permissions your app actually needs
Consider using a dedicated app registration for production
Troubleshooting
Authentication fails: Check your CLIENT_ID is correct
"Need admin approval": Use
MICROSOFT_MCP_TENANT_ID=consumers
for personal accountsMissing permissions: Ensure all required API permissions are granted in Azure
Token errors: Delete
~/.microsoft_mcp_token_cache.json
and re-authenticate
License
MIT
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A powerful MCP server that enables AI assistants to interact with Microsoft Graph API for managing Outlook emails, Calendar events, OneDrive files, and Contacts through natural language commands.
Related MCP Servers
- AsecurityAlicenseAqualityProvides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.Last updated -26MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables interaction with Microsoft 365 services (Excel, Calendar, Mail, OneDrive, Teams, etc.) through the Graph API, allowing AI assistants to manage Microsoft 365 resources via natural language.Last updated -2,782266MIT License
- -securityFlicense-qualityAn MCP server that enables interaction with the MailScript API, allowing management of email workflows and automation through natural language commands.Last updated -
- AsecurityAlicenseAqualityAn MCP server that enables AI tools to interact with ActiveCampaign API, allowing contact management and tracking event analysis through natural language queries.Last updated -5MIT License