{"versionId":"84cb0ed5-8088-4779-df98-08ded7d87211","articleId":"edc12a74-f057-4ac3-2e32-08deb787de13","title":"M365 Tools MCP server | Admin guide","tags":["connectors","MCP","System admin","All articles"],"content":"<html><head></head><body><main role=\"main\">\n<section>\n<div>\n<div>\n<div>\n<div>\n<div>\n<p>This guide for administrators explains how to set up the M365 Tools&nbsp;MCP server in Theta Assist.</p>\n<p>See also:</p>\n<ul>\n<li><a href=\"https://help.thetaassist.ai/article/connectors-and-mcp\" target=\"_blank\" rel=\"noopener\">Connectors and MCP | Admin guide</a></li>\n<li><a href=\"https://help.thetaassist.ai/article/adding-connectors-to-your-assistant\" target=\"_blank\" rel=\"noopener\">Adding connectors to your assistant</a></li>\n<li><a href=\"https://help.thetaassist.ai/article/connectors-mcp-end-user-guide\" target=\"_blank\" rel=\"noopener\">Guide to connectors for end users</a></li>\n<li><a href=\"https://help.thetaassist.ai/article/planner-mcp-tool-admin-guide\" target=\"_blank\" rel=\"noopener\">Planner MCP tool | Admin guide</a></li>\n</ul>\n<p>The M365 Tools MCP server provides broader Microsoft 365 access than the standard built-in connectors. It gives assistants access to email, calendars, Teams, chats, files, SharePoint, OneDrive, people, recent files, <a href=\"https://help.thetaassist.ai/article/use-microsoft-planner-in-theta-assist\" target=\"_blank\" rel=\"noopener\">Planner</a> and Excel workbook data.</p>\n<div class=\"mce-toc\">\n<h2>In this guide</h2>\n<ul>\n<li><a href=\"#mcetoc_1jp69c7el271\">Overview</a></li>\n<li><a href=\"#mcetoc_1jp69c7el272\">Note: built-in Theta Assist MCP server</a></li>\n<li><a href=\"#mcetoc_1jp69c7el273\">What the M365 Tools MCP server can do</a>\n<ul>\n<li><a href=\"#mcetoc_1jp69c7el274\">Email and mailboxes</a></li>\n<li><a href=\"#mcetoc_1jp69c7el275\">Calendar and meetings</a></li>\n<li><a href=\"#mcetoc_1jp69c7el276\">Files and documents</a></li>\n<li><a href=\"#mcetoc_1jp69c7el277\">Teams and chats</a></li>\n<li><a href=\"#mcetoc_1jp69c7el278\">People and profile data</a></li>\n</ul>\n</li>\n<li><a href=\"#mcetoc_1jp69c7el279\">Available tools</a>\n<ul>\n<li><a href=\"#mcetoc_1jp69c7el27a\">Email</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27b\">Calendar and meetings</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27c\">File search, OneDrive and SharePoint</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27d\">Teams</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27e\">People, profile and productivity</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27f\">Excel</a></li>\n</ul>\n</li>\n<li><a href=\"#mcetoc_1jp69c7el27g\">Admin setup overview</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27h\">App registration permissions</a>\n<ul>\n<li><a href=\"#mcetoc_1jp69c7el27i\">Required permissions</a></li>\n</ul>\n</li>\n<li><a href=\"#mcetoc_1jp69c7el27j\">Important: extra permissions needed if you already use Microsoft 365 connectors</a>\n<ul>\n<li><a href=\"#mcetoc_1jp69c7el27k\">Why these permissions are needed</a></li>\n</ul>\n</li>\n<li><a href=\"#mcetoc_1jp69c7el27l\">Suggested rollout approach</a></li>\n<li><a href=\"#mcetoc_1jp69c7el27m\">Notes</a></li>\n</ul>\n</div>\n<h2 id=\"mcetoc_1jp69c7el271\">Overview</h2>\n<p>The M365 Tools MCP server allows Theta Assist to work with Microsoft Graph data using delegated user access. In most cases, this means the assistant acts only within the permissions of the signed-in user.</p>\n<p>Compared with the standard Microsoft 365 connectors, this MCP server supports a wider range of actions, including:</p>\n<ul>\n<li>reading emails and attachments</li>\n<li>reading calendars and shared calendars</li>\n<li>retrieving Teams meeting transcripts</li>\n<li>searching across OneDrive, SharePoint and Teams files</li>\n<li>reading Teams channel posts and chat messages</li>\n<li>looking up people and directory details</li>\n<li>listing recent and shared files</li>\n<li>reading Excel worksheets and cell ranges</li>\n<li>sending an email to the signed-in user</li>\n<li>drafting a new email or reply to an existing email - ready to review and send in Outlook</li>\n<li>work with Planner tasks (<a href=\"https://help.thetaassist.ai/article/planner-mcp-tool-admin-guide\" target=\"_blank\" rel=\"noopener\">see separate setup guide</a>)</li>\n</ul>\n<h2 id=\"mcetoc_1jp69c7el272\">Note: built-in Theta Assist MCP server</h2>\n<p>The M365 Tools MCP tool is a built-in Theta Assist MCP Server.</p>\n<p>You do not need to manually enter a custom MCP endpoint URL for this integration.</p>\n<p>To add the M365 Tools MCP tool:</p>\n<ol>\n<li>Go to <strong>Admin → Tools → MCP Servers</strong>.</li>\n<li>Click the green <strong>+ Theta Assist MCP Server</strong> button.</li>\n<li>Select the <strong>M365 Tools</strong> option.</li>\n<li>Attach the appropriate Microsoft auth configuration.</li>\n<li>Set the approval policy and save.</li>\n</ol>\n<p><img src=\"https://portal.helpfruit.com/api/images/0d5220bc9ad14992d05108dccd460f35/files/M365%20tool.png?width=1000&amp;height=\"></p>\n<h2 id=\"mcetoc_1jp69c7el273\">What the M365 Tools MCP server can do</h2>\n<h3 id=\"mcetoc_1jp69c7el274\">Email and mailboxes</h3>\n<p>The server can:</p>\n<ul>\n<li>list email messages</li>\n<li>fetch full message content</li>\n<li>download email attachments</li>\n<li>search for shared or delegated mailboxes</li>\n<li>create draft emails</li>\n<li>create draft replies to existing messages</li>\n<li>send an e-mail to self</li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el275\">Calendar and meetings</h3>\n<p>The server can:</p>\n<ul>\n<li>search calendar events</li>\n<li>read calendar attachments</li>\n<li>retrieve Teams meeting transcripts <strong>from meeting join links</strong></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el276\">Files and documents</h3>\n<p>The server can:</p>\n<ul>\n<li>search across Microsoft 365 files</li>\n<li>browse OneDrive and SharePoint folders</li>\n<li>download supported files</li>\n<li>read Excel workbook content by worksheet and cell range</li>\n<li>coming soon: read SharePoint Lists</li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el277\">Teams and chats</h3>\n<p>The server can:</p>\n<ul>\n<li>list joined Teams and channels</li>\n<li>read channel conversations and replies</li>\n<li>list personal and group chats</li>\n<li>search Teams messages</li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el278\">People and profile data</h3>\n<p>The server can:</p>\n<ul>\n<li>return the signed-in user profile</li>\n<li>look up colleagues</li>\n<li>find relevant people and contacts</li>\n<li>list recent, used, and shared files</li>\n</ul>\n<h2 id=\"mcetoc_1jp69c7el279\">Available tools</h2>\n<p>The M365 Tools MCP server includes 34 tools.</p>\n<h3 id=\"mcetoc_1jp69c7el27a\">Email</h3>\n<ul>\n<li><code>ta_m365_list_emails</code></li>\n<li><code>ta_m365_get_email</code></li>\n<li><code>ta_m365_get_email_attachment</code></li>\n<li><code>ta_m365_find_mailbox</code></li>\n<li><code>ta_m365_create_draft_email</code></li>\n<li><code>ta_m365_create_draft_reply</code></li>\n<li><code>ta_m365_send_email_to_self</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27b\">Calendar and meetings</h3>\n<ul>\n<li><code>ta_m365_get_calendar_events</code></li>\n<li><code>ta_m365_get_calendar_attachment</code></li>\n<li><code>ta_m365_get_meeting_transcript</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27c\">File search, OneDrive and SharePoint</h3>\n<ul>\n<li><code>ta_m365_search_files</code></li>\n<li><code>ta_m365_onedrive_search</code></li>\n<li><code>ta_m365_onedrive_list</code></li>\n<li><code>ta_m365_onedrive_download</code></li>\n<li><code>ta_m365_sharepoint_find_site</code></li>\n<li><code>ta_m365_sharepoint_get_drives</code></li>\n<li><code>ta_m365_sharepoint_search</code></li>\n<li><code>ta_m365_sharepoint_list</code></li>\n<li><code>ta_m365_sharepoint_download</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27d\">Teams</h3>\n<ul>\n<li><code>ta_m365_teams_list_joined</code></li>\n<li><code>ta_m365_teams_list_channels</code></li>\n<li><code>ta_m365_teams_channel_files_root</code></li>\n<li><code>ta_m365_teams_group_drive</code></li>\n<li><code>ta_m365_teams_get_channel_messages</code></li>\n<li><code>ta_m365_teams_get_channel_replies</code></li>\n<li><code>ta_m365_teams_list_chats</code></li>\n<li><code>ta_m365_teams_get_chat_messages</code></li>\n<li><code>ta_m365_teams_search_messages</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27e\">People, profile and productivity</h3>\n<ul>\n<li><code>ta_m365_get_user</code></li>\n<li><code>ta_m365_find_people</code></li>\n<li><code>ta_m365_recent_files</code></li>\n<li><code>ta_m365_send_email_to_self</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27f\">Excel</h3>\n<ul>\n<li><code>ta_m365_excel_get_worksheets</code></li>\n<li><code>ta_m365_excel_read_range</code></li>\n</ul>\n<h2 id=\"mcetoc_1jp69c7el27g\">Admin setup overview</h2>\n<p>To set up the M365 MCP server:</p>\n<ol>\n<li>Create or update a Microsoft Entra ID App Registration.</li>\n<li>Add the required Microsoft Graph permissions.</li>\n<li>Grant admin consent where required.</li>\n<li>Reuse or create a Microsoft OAuth Auth Configuration in Theta Assist.</li>\n<li>Go to <strong>Admin → Tools → MCP Servers</strong>.</li>\n<li>Click the green <strong>+ Theta Assist MCP Server</strong> button.</li>\n<li>Select <strong>M365 Tools</strong>.</li>\n<li>Choose the auth configuration.</li>\n<li>Set approval policy and access controls.</li>\n<li>Test with a limited admin or pilot group first.</li>\n</ol>\n<h2 id=\"mcetoc_1jp69c7el27h\">App registration permissions</h2>\n<blockquote>\n<p><strong>Important:</strong> If you already have an app registration for the existing Microsoft 365 connectors, you can usually extend that same app registration by adding the extra permissions - see next section to see what the differences are.</p>\n</blockquote>\n<h3 id=\"mcetoc_1jp69c7el27i\">Required permissions</h3>\n<table>\n<thead>\n<tr>\n<th>Permission</th>\n<th>Type</th>\n<th>Purpose</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Calendars.Read</code></td>\n<td>Delegated</td>\n<td>Read user calendars</td>\n</tr>\n<tr>\n<td><code>Calendars.Read.Shared</code></td>\n<td>Delegated</td>\n<td>Read user and shared calendars</td>\n</tr>\n<tr>\n<td><code>Channel.ReadBasic.All</code></td>\n<td>Delegated</td>\n<td>Read the names and descriptions of channels</td>\n</tr>\n<tr>\n<td><code>ChannelMessage.Read.All</code></td>\n<td>Delegated</td>\n<td>Read user channel messages</td>\n</tr>\n<tr>\n<td><code>ChannelSettings.Read.All</code></td>\n<td>Delegated</td>\n<td>Read the names, descriptions, and settings of channels</td>\n</tr>\n<tr>\n<td><code>Chat.Read</code></td>\n<td>Delegated</td>\n<td>Read user chat messages</td>\n</tr>\n<tr>\n<td><code>Contacts.Read</code></td>\n<td>Delegated</td>\n<td>Read user contacts</td>\n</tr>\n<tr>\n<td><code>Directory.Read.All</code></td>\n<td>Delegated</td>\n<td>Read directory data</td>\n</tr>\n<tr>\n<td><code>Files.Read</code></td>\n<td>Delegated</td>\n<td>Read user files</td>\n</tr>\n<tr>\n<td><code>Files.Read.All</code></td>\n<td>Delegated</td>\n<td>Read all files that user can access</td>\n</tr>\n<tr>\n<td><code>Group.Read.All</code></td>\n<td>Delegated</td>\n<td>Read all groups</td>\n</tr>\n<tr>\n<td><code>Mail.Read</code></td>\n<td>Delegated</td>\n<td>Read user mail</td>\n</tr>\n<tr>\n<td><code>Mail.ReadWrite</code></td>\n<td>Delegated</td>\n<td>Read and write access to user mail</td>\n</tr>\n<tr>\n<td><code>Mail.Send</code></td>\n<td>Delegated</td>\n<td>Send mail as a user</td>\n</tr>\n<tr>\n<td><code>MailboxSettings.Read</code></td>\n<td>Delegated</td>\n<td>Read user mailbox settings</td>\n</tr>\n<tr>\n<td><code>offline_access</code></td>\n<td>Delegated</td>\n<td>Maintain access to data you have given it access to</td>\n</tr>\n<tr>\n<td><code>OnlineMeetingRecording.Read.All</code></td>\n<td>Delegated</td>\n<td>Read all recordings of online meetings</td>\n</tr>\n<tr>\n<td><code>OnlineMeetings.Read</code></td>\n<td>Delegated</td>\n<td>Read user's online meetings</td>\n</tr>\n<tr>\n<td><code>OnlineMeetingTranscript.Read.All</code></td>\n<td>Delegated</td>\n<td>Read all transcripts of online meetings</td>\n</tr>\n<tr>\n<td><code>openid</code></td>\n<td>Delegated</td>\n<td>Sign users in</td>\n</tr>\n<tr>\n<td><code>People.Read.All</code></td>\n<td>Delegated</td>\n<td>Read all users' relevant people lists</td>\n</tr>\n<tr>\n<td><code>Presence.Read.All</code></td>\n<td>Delegated</td>\n<td>Read presence information of all users in your organisation</td>\n</tr>\n<tr>\n<td><code>profile</code></td>\n<td>Delegated</td>\n<td>View users' basic profile</td>\n</tr>\n<tr>\n<td><code>Sites.Read.All</code></td>\n<td>Delegated</td>\n<td>Read items in all site collections</td>\n</tr>\n<tr>\n<td><code>Tasks.Read</code></td>\n<td>Delegated</td>\n<td>Read user's tasks and task lists</td>\n</tr>\n<tr>\n<td><code>Team.ReadBasic.All</code></td>\n<td>Delegated</td>\n<td>Read the names and descriptions of teams</td>\n</tr>\n<tr>\n<td><code>User.Read</code></td>\n<td>Delegated</td>\n<td>Sign in and read user profile</td>\n</tr>\n<tr>\n<td><code>User.ReadBasic.All</code></td>\n<td>Delegated</td>\n<td>Read all users' basic profiles</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"mcetoc_1jp69c7el27j\">Important: extra permissions needed if you already use Microsoft 365 connectors</h2>\n<p>If your organisation already uses the standard Microsoft 365 connectors described in the existing help article, the following are the main additional permissions typically needed for the M365 Tools MCP server:</p>\n<ul>\n<li><code>Calendars.Read.Shared</code></li>\n<li><code>ChannelSettings.Read.All</code></li>\n<li><code>Directory.Read.All</code></li>\n<li><code>Files.Read.All</code></li>\n<li><code>Group.Read.All</code></li>\n<li><code>Mail.ReadWrite</code></li>\n<li><code>Mail.Send</code></li>\n<li><code>MailboxSettings.Read</code></li>\n<li><code>OnlineMeetingRecording.Read.All</code></li>\n<li><code>OnlineMeetings.Read</code></li>\n<li><code>OnlineMeetingTranscript.Read.All</code></li>\n<li><code>People.Read.All</code></li>\n<li><code>Presence.Read.All</code></li>\n<li><code>Tasks.Read</code></li>\n<li><code>User.ReadBasic.All</code></li>\n</ul>\n<h3 id=\"mcetoc_1jp69c7el27k\">Why these permissions are needed</h3>\n<p>These additional permissions enable broader MCP functionality such as:</p>\n<ul>\n<li>shared calendar access</li>\n<li>Teams transcript access</li>\n<li>wider file discovery across Microsoft 365</li>\n<li>people and directory lookups</li>\n<li>sending mail to self</li>\n<li>richer Teams and organisational context</li>\n<li>for Planner permissions and further details, see <a href=\"https://help.thetaassist.ai/article/planner-mcp-tool-admin-guide\" target=\"_blank\" rel=\"noopener\">Planner MCP tool | Admin guide</a></li>\n</ul>\n<h2 id=\"mcetoc_1jp69c7el27l\">Suggested rollout approach</h2>\n<p>For initial rollout, we recommend:</p>\n<ul>\n<li>Extend your existing Microsoft app registration rather than creating a duplicate one.</li>\n<li>Grant the additional permissions listed above.</li>\n<li>Create a separate Theta Assist Auth Configuration for the M365 MCP server if you want to keep it separate from the built-in connectors.</li>\n<li>Optionally set the MCP server approval policy to <strong>Always require approval</strong> during the test.</li>\n<li>Restrict access using Access Profiles - this restricts who can add the MCP to their assistants.</li>\n<li>Add a new assistant with the tool and then validate the following scenarios:\n<ul>\n<li>email listing and attachment access</li>\n<li>calendar search and transcript retrieval</li>\n<li>OneDrive and SharePoint file search</li>\n<li>Teams channel and chat retrieval</li>\n<li>Excel worksheet and range reading</li>\n<li>send-email-to-self flow</li>\n<li>draft email creation</li>\n<li>draft reply creation</li>\n</ul>\n</li>\n<li>Enable an 'Office Assistant\" for general use with the tool enabled for all staff</li>\n</ul>\n<h2 id=\"mcetoc_1jp69c7el27m\">Notes</h2>\n<ul>\n<li>All access is based on delegated permissions, so the assistant can only act on data the signed-in user already has access to.</li>\n<li>The permission set for this MCP server is broader than the standard connector setup and should be reviewed by your Microsoft 365 administrator and security team.</li>\n<li>If you already use Microsoft connectors in Theta Assist, this is typically an extension of your existing setup, not a full rebuild.</li>\n</ul>\n</div>\n</div>\n</div>\n</div>\n</div>\n</section>\n</main></body></html>","description":"Set up the M365 Tools MCP server in Theta Assist to give assistants secure access to Microsoft 365 data such as email, calendars, Teams, SharePoint, OneDrive and Excel workbooks.","isMarkdown":false,"publishedOnUtc":"2026-07-02T01:27:22.4118424","modifiedOnUtc":"2026-05-21T22:25:30.6830162"}