
Microsoft 365 MCP Server: Setup for Claude Code, Cursor and Other Apps
Not the official Microsoft 365 MCP server. This one is built by the community. Microsoft 365 makes its own: Microsoft Work IQ →
Lets Claude, Cursor and other assistants read and send Outlook mail, manage your calendar, files, Excel, To Do and Teams through Microsoft 365.
This is a community server by Softeria, not a Microsoft product. It runs on your computer and signs in to your Microsoft account with a device code. By default it covers personal features such as mail, calendar, OneDrive, Excel, OneNote and To Do. Teams, SharePoint and other work features need the organization flag. It can send mail and delete data, so start with the read-only flag.
Good for
- Anyone who wants Claude to triage email and plan the calendar
- Work and school users who need Teams, SharePoint and meeting transcripts in chat
- IT teams that lock it down with read-only mode, presets and scope allowlists
- Analysts who read and edit Excel workbooks stored in OneDrive
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install ms-365-mcp-server
Claude Code
- 1
Copy this prompt.
Add the ms-365-mcp-server server to Claude Code. Run this command: claude mcp add ms-365 -- npx -y @softeria/ms-365-mcp-server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js, Node.js 20 or newer; sign in with the login tool.
Add --org-mode to the args for work or school accounts. Add --read-only to block writes, or --preset mail (or calendar, files, teams) to load fewer tools. Personal Microsoft accounts should set MS365_MCP_TENANT_ID to consumers. After install, ask the assistant to run the login tool and confirm with verify-login.
Built from the package data we hold. Not yet tested by us.
Tools
Lists emails in your mailbox
Lists messages from your Outlook mailbox so the assistant can find and summarise mail.
Try: “Show my unread emails from today.”
Network ·
list-mail-messagesOpens one email
Returns one email with its content.
Try: “Open the email from Dana about the budget.”
Network ·
get-mail-messageSends an email
Sends a new email from your account.
Try: “Email Sam the meeting notes.”
Write ·
send-mailSaves an email draft
Creates a draft in your mailbox without sending it.
Try: “Draft a reply to Dana and save it.”
Write ·
create-draft-emailReplies to an email
Sends a reply to a message in your mailbox.
Try: “Reply yes to Dana's invite.”
Write ·
reply-mail-messageForwards an email
Forwards a message to people you name.
Try: “Forward this invoice to accounting.”
Write ·
forward-mail-messageMoves an email to a folder
Moves a message to another mail folder.
Try: “Move newsletters to the Reading folder.”
Write ·
move-mail-messageDeletes an email
Deletes a message from your mailbox.
Try: “Delete the spam from this morning.”
Delete ·
delete-mail-messageCreates an inbox rule
Creates a rule that sorts or handles incoming mail.
Try: “Create a rule that files mail from billing@ into Finance.”
Write ·
create-mail-ruleLists your calendar events
Lists events on your calendar.
Try: “What is on my calendar tomorrow?”
Network ·
list-calendar-eventsShows events in a date range
Returns calendar events between two dates, including repeating ones.
Try: “What meetings do I have next week?”
Network ·
get-calendar-viewAdds a calendar event
Creates an event on your calendar, with attendees if you give them.
Try: “Book a 30 minute call with Sam on Friday at 2pm.”
Write ·
create-calendar-eventSuggests times everyone is free
Finds meeting times that work for the attendees you name.
Try: “Find a time next week for me, Sam and Dana.”
Network ·
find-meeting-timesDeletes a calendar event
Deletes an event from your calendar.
Try: “Delete the Friday sync.”
Delete ·
delete-calendar-eventLists files in a OneDrive folder
Lists the files and folders inside a OneDrive folder.
Try: “What is in my Reports folder?”
Network ·
list-folder-filesSearches your OneDrive
Searches OneDrive files by keyword.
Try: “Find my 2026 budget spreadsheet.”
Network ·
search-onedrive-filesUploads a file to OneDrive
Uploads file content to a OneDrive location.
Try: “Save this summary to OneDrive as notes.txt.”
Write ·
upload-file-contentDeletes a OneDrive file
Deletes a file or folder in OneDrive.
Try: “Delete the old draft.docx.”
Delete ·
delete-onedrive-fileCreates a sharing link
Creates a link to share a OneDrive file.
Try: “Make a view-only link for the budget file.”
Write ·
create-drive-item-share-linkReads cells from an Excel workbook
Reads a range of cells from a workbook stored in OneDrive.
Try: “What is in Sheet1 A1 to D20 of budget.xlsx?”
Network ·
get-excel-rangeWrites cells in an Excel workbook
Changes values in a range of cells in an Excel workbook.
Try: “Set B2 to 1200 in the budget workbook.”
Write ·
update-excel-rangeLists your To Do tasks
Lists tasks in a Microsoft To Do list.
Try: “What is on my To Do list today?”
Network ·
list-todo-tasksAdds a To Do task
Creates a task in a To Do list.
Try: “Add "Send invoice" to my To Do list.”
Write ·
create-todo-taskLists your OneNote notebooks
Lists the notebooks you have in OneNote.
Try: “Which OneNote notebooks do I have?”
Network ·
list-onenote-notebooksReads a OneNote page
Returns the content of a OneNote page.
Try: “Read my "Project ideas" page.”
Network ·
get-onenote-page-contentLists your Planner tasks
Lists Planner tasks assigned to you. Work and school accounts only.
Try: “What Planner tasks are assigned to me?”
Network ·
list-planner-tasksLists your Teams chats
Lists your Teams chats. Needs organization mode.
Try: “Which Teams chats were active today?”
Network ·
list-chatsReads messages in a Teams chat
Returns messages from a Teams chat. Needs organization mode.
Try: “Summarise the latest messages in the project chat.”
Network ·
list-chat-messagesSends a Teams chat message
Posts a message in a Teams chat. Needs organization mode.
Try: “Tell the project chat the release is out.”
Write ·
send-chat-messagePosts in a Teams channel
Posts a message to a Teams channel. Needs organization mode.
Try: “Post the standup notes in the Engineering channel.”
Write ·
send-channel-messageLists Teams meeting transcripts
Lists transcripts for online meetings. Needs organization mode.
Try: “Show transcripts from yesterday's meetings.”
Network ·
list-meeting-transcriptsReads items in a SharePoint list
Lists rows in a SharePoint list. Needs organization mode.
Try: “Show the open items in the IT requests list.”
Network ·
list-sharepoint-site-list-itemsAdds an item to a SharePoint list
Creates a row in a SharePoint list. Needs organization mode.
Try: “Add a new request to the IT requests list.”
Write ·
create-sharepoint-list-itemLooks up people in your organization
Lists users and shared mailboxes in your organization. Needs organization mode.
Try: “Find Dana Lee in the directory.”
Network ·
list-usersSearches across Microsoft 365
Runs a Microsoft Search query across your content.
Try: “Search everything for the Q3 roadmap.”
Network ·
search-queryRuns up to 20 requests in one call
Combines up to 20 Microsoft Graph requests into one call, which can include writes and deletes.
Try: “Fetch these 15 messages in one go.”
Delete ·
graph-batchStarts the Microsoft sign-in
Starts a device-code sign-in. You open a link and enter a code, then confirm with the verify tool.
Try: “Sign in to Microsoft 365.”
Network ·
login
From the official docs
Permissions
high risk · 4 things to watch · 2 advisories
High risk
The assistant can read and send your mail, change your calendar and files, and delete items with your Microsoft permissions. Turn on the read-only flag and limit tools with a preset until you trust it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It can send email and delete your data
The assistant can send mail, delete messages, files and events, and post in Teams. Start with the read-only flag and approve each send or delete. github.com
It acts as you across Microsoft 365
Calls run with your account permissions across mail, files and chats. Use presets or the allowed-scopes option to expose only the apps you need. github.com
App mode applies to the whole tenant
App mode uses application permissions with no signed-in user, so one grant such as Mail.Read can reach every mailbox. Do not use it unless an admin approved it. github.com
HTTP mode can expose file tools
The local file tools over HTTP let anyone who reaches the port write files as the server user. The server refuses them unless it is bound to localhost. github.com
Security advisories
2 known advisories, all fixed in a newer version.
- Untrusted Search Path (Code Injection) via MS365_MCP_AUTH_CACHE_COMMAND set from a project-local .env filehigh · Fixed in 0.137.0 · GHSA-9w34-3f56-vwmh
- Path parameters "." and ".." are not rejected and resolve as dot segments, redirecting tools to other Graph endpointslow · Fixed in 0.158.1 · GHSA-42wc-j69p-jppq
Technical details
| Turning on read-only | Start the server with --read-only or set READ_ONLY=true. |
|---|---|
| Talks to | Microsoft Graph and login endpoints (global by default; China 21Vianet and GCC High are supported) |
| Sign-in and keys | Tokens are cached in the OS credential store, with a file fallback. |
| Scopes |
|
Questions
Is this the official Microsoft 365 MCP server?
No. It is a community project by Softeria that uses the Microsoft Graph API. It is not made or supported by Microsoft.
Can I run it read-only?
Yes. Add the read-only flag or set READ_ONLY=true and it turns off write operations. You can also limit tools with a preset such as mail or calendar.
Does it work with work and school accounts?
Yes, but you must start it with the organization mode flag to get Teams, SharePoint, shared mailboxes and similar features. Without it only personal-account features are available.
Do I need to register an Azure app?
Not by default. It uses a built-in app and a device-code sign-in. GCC High has no built-in app, so you register your own and set the client ID.
Why does sign-in keep failing on a personal Microsoft account?
The README says personal accounts should set the tenant to consumers, because since June 2026 the default common authority is rejected at the first token refresh.
Is the tool list complete?
No. The server has more than 300 tools, each mapped to one Microsoft Graph endpoint, and this list shows a sample. Presets or discovery mode load fewer tools to save context.
How do I add it to Claude Desktop?
Use the Claude Desktop tab in the install box above, then ask Claude to run the login tool to sign in.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
@softeria/ms-365-mcp-server- Registry
- npm
- Transport
- stdio, Streamable HTTP
- Auth
- OAuth
- Version
- 0.178.0
- License
- MIT
- Last commit
- Oct 30, 2026
- Open issues
- 8
- Listed in
- Official MCP registry
Other Microsoft 365 MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com