mcp-microsoft365Integrate Microsoft 365 to manage Outlook email, calendar events, OneDrive files, Tasks, Teams chats, and user profiles via Microsoft Graph and MCP protocol.
Install via ClawdBot CLI:
clawdbot install makhatib/mcp-microsoft365Full Microsoft 365 integration via Model Context Protocol (MCP).
MCP-Microsoft365http://localhost:3000/callbackAdd these Application permissions for Microsoft Graph:
Mail.Read, Mail.Send, Mail.ReadWrite
Calendars.Read, Calendars.ReadWrite
Files.Read.All, Files.ReadWrite.All
Tasks.Read.All, Tasks.ReadWrite.All
Chat.Read.All, Chat.ReadWrite.All
User.Read.All
Important: Click "Grant admin consent"
Save these values:
# Clone/download the skill
cd mcp-microsoft365
# Install dependencies
npm install
# Build
npm run build
mcporter config add m365 --stdio "node /path/to/mcp-microsoft365/dist/index.js"
Edit config/mcporter.json to add environment variables:
{
"mcpServers": {
"m365": {
"command": "node /path/to/dist/index.js",
"env": {
"TENANT_ID": "your-tenant-id",
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret",
"DEFAULT_USER": "user@yourdomain.com"
}
}
}
}
# List recent emails
mcporter call m365.m365_mail_list top:5
# Send email
mcporter call m365.m365_mail_send to:"recipient@email.com" subject:"Hello" body:"<p>Hi!</p>"
# Search
mcporter call m365.m365_mail_search query:"important"
# List events
mcporter call m365.m365_calendar_list top:10
# Create event with Teams meeting
mcporter call m365.m365_calendar_create subject:"Team Sync" start:"2026-01-27T10:00:00" end:"2026-01-27T11:00:00" isOnline:true
# List OneDrive root
mcporter call m365.m365_files_list
# Search files
mcporter call m365.m365_files_search query:"report"
# List task lists
mcporter call m365.m365_tasks_lists
# List chats
mcporter call m365.m365_teams_chats top:10
| Tool | Description |
|------|-------------|
| m365_mail_list | List emails |
| m365_mail_read | Read email by ID |
| m365_mail_send | Send email |
| m365_mail_search | Search emails |
| m365_calendar_list | List events |
| m365_calendar_create | Create event |
| m365_calendar_availability | Check free/busy |
| m365_files_list | List files |
| m365_files_search | Search files |
| m365_files_read | Read file content |
| m365_files_info | Get file metadata |
| m365_tasks_lists | List task lists |
| m365_tasks_list | List tasks |
| m365_tasks_create | Create task |
| m365_teams_chats | List chats |
| m365_teams_messages | Read messages |
| m365_teams_send | Send message |
| m365_users_list | List users |
| m365_user_info | Get user profile |
Mahmoud Alkhatib
MIT
Generated Feb 25, 2026
An executive assistant uses this skill to manage a busy professional's calendar by scheduling meetings, checking availability, and sending email reminders automatically. It integrates with Teams to coordinate virtual meetings and OneDrive to attach relevant documents, streamlining daily administrative tasks.
A project manager leverages this skill to track team tasks via Microsoft To-Do, share files from OneDrive, and communicate updates through Teams chats. It helps in organizing deadlines, assigning tasks, and ensuring all project materials are accessible in one ecosystem.
A sales team employs this skill to automate email campaigns by sending personalized emails, searching for client communications, and managing follow-ups. It integrates with user profiles to target specific contacts and uses calendar features to schedule demos or meetings efficiently.
IT support staff use this skill to monitor user issues by listing and reading emails for tickets, creating tasks in To-Do for resolution tracking, and sending Teams messages for real-time updates. It streamines response times and keeps a centralized log of support activities.
Educational administrators apply this skill to manage faculty calendars for events, distribute materials via OneDrive, and communicate with staff through Teams. It aids in scheduling classes, sharing resources, and coordinating institutional tasks across departments.
Offer this skill as part of a paid subscription service for businesses, providing regular updates, premium support, and advanced features like analytics on usage. Revenue is generated through monthly or annual fees per user or organization.
Provide consulting services to help companies set up and customize the skill, including Azure Entra ID configuration and workflow automation. Revenue comes from one-time project fees or ongoing maintenance contracts.
Release a basic version of the skill for free with limited tools, such as email listing and file browsing, and charge for advanced features like Teams meeting integration or bulk email sending. Revenue is driven by upgrades to premium tiers.
💬 Integration Tip
Ensure proper Azure Entra ID app permissions are granted with admin consent to avoid authentication errors, and test the skill in a development environment before deployment.
Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.
Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.
This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.
Access and manage Google Calendar events with gogcli for cross-calendar agendas, keyword search, and filtered outputs avoiding unwanted calendars like holidays.
Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries