Microsoft 365 MCP Server
MCP server for Microsoft 365 and Microsoft Graph API, supporting mail, calendar, OneDrive, Teams, SharePoint, contacts, tasks, OneNote, Excel, Planner, and more via 304 registered endpoints.
Score Breakdown
Server Info
- Package
- @softeria/ms-365-mcp-server
- Registry
- npm
- Repository
- softeria-eu/ms-365-mcp-server
- Maintainer
- Community
- Category
- Communication
- Tags
- emailcalendarteamssharepoint
- Last Scanned
- 28 May 2026
Findings
4 issuesTool Schema Quality
MEDIUMOnly 1 of 32 schemas have parameter constraints
Most schemas lack maxLength, enum, or pattern constraints on string parameters.
Add constraints to string parameters, especially on write operations.
LLM Safety
MEDIUM2 tool descriptions are too vague
Short or generic descriptions make tool selection unreliable.
Expand descriptions with specific actions, data types, and side effects.
Data Exposure
MEDIUM88 list operations lack pagination
List endpoints pass through Microsoft Graph $top, $skip, $skipToken parameters for pagination; MS365_MCP_MAX_TOP caps maximum page size. Graph $select parameter passed through for field selection. Graph $filter and $orderby supported where applicable. Full Graph response objects returned with no additional server-side filtering. discovery mode (--discovery flag) registers only a single search/discovery tool rather than all 304 tools.
Add limit/offset or cursor-based pagination.
Maintenance & Trust
LOWCommunity-maintained by softeria-eu (community)
No official vendor backing.
Seek vendor verification.
Tools
32 total| Name | Description | Risk |
|---|---|---|
| graph-batch | Execute multiple Microsoft Graph API requests in a single batch call | admin |
| list-mail-messages | List mail messages from the authenticated user's mailbox | read |
| list-mail-folders | List mail folders for the authenticated user | read |
| create-mail-folder | Create a new mail folder | write |
| delete-mail-folder | Delete a mail folder | write |
| send-mail | Send an email message | write |
| create-draft-mail | Create a draft email message | write |
| list-calendar-events | List calendar events for the authenticated user | read |
| create-calendar-event | Create a new calendar event | write |
| update-calendar-event | Update an existing calendar event | write |
| delete-calendar-event | Delete a calendar event | write |
| list-drive-items | List items in a OneDrive folder | read |
| get-drive-item | Get a specific OneDrive file or folder item | read |
| upload-drive-item | Upload a file to OneDrive | write |
| delete-drive-item | Delete a OneDrive file or folder | write |
| list-teams | List Microsoft Teams that the user belongs to | read |
| list-channels | List channels in a Microsoft Teams team | read |
| list-chat-messages | List messages in a Teams chat | read |
| send-chat-message | Send a message to a Teams chat | write |
| list-contacts | List Outlook contacts for the authenticated user | read |
| create-contact | Create a new Outlook contact | write |
| list-todo-tasks | List Microsoft To Do tasks | read |
| create-todo-task | Create a new Microsoft To Do task | write |
| list-onenote-notebooks | List OneNote notebooks | read |
| search-drive-items | Search for files in OneDrive | read |
| list-sharepoint-sites | List SharePoint sites | read |
| list-planner-tasks | List Planner tasks | read |
| list-excel-worksheets | List worksheets in an Excel workbook | read |
| get-excel-range | Get a range of cells from an Excel worksheet | read |
| update-excel-range | Update values in an Excel worksheet range | write |
| parse-teams-url | Converts any Teams meeting URL format (short /meet/, full /meetup-join/, or recap ?threadId=) into a standard joinWebUrl. Use this before list-online-meetings when the user provides a recap or short URL. | read |
| download-bytes | Download binary content from Microsoft Graph and return it as base64. Single tool for any binary read: drive file content, mail attachment, profile photo, Teams hosted content, meeting recording. | read |
Deploy Microsoft 365 MCP Server securely
CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.
Deploy on CompleteFlow