Skip to main content

Microsoft 365 connector security guide

The Microsoft 365 connector is an Anthropic-hosted integration that enables Claude to securely access Microsoft 365 services (Outlook, SharePoint, OneDrive, Teams) through user-delegated permissions. Anthropic has completed Microsoft's publisher verification process, associating our verified Microsoft Partner Network account with this application to confirm our organizational identity.

The Microsoft 365 connector is available on all Claude plans: Free, Pro, Max, Team, and Enterprise.

The connector operates as a secure proxy, and your Microsoft 365 documents, emails, and files remain in your tenant. The connector only retrieves data on-demand during active queries and doesn’t cache file content. Credentials are encrypted and managed by Anthropic's backend infrastructure. The MCP server itself doesn’t store or manage these credentials. Microsoft's Azure SDK handles the On-Behalf-Of token exchange and caching on a per-user basis for accessing the Graph API.

Access restriction

Access can be fully restricted

The connector provides multiple layers of access control to address your security requirements. For detailed information on administration of the Microsoft 365 connector, see Set up the Microsoft 365 connector.

1. Microsoft Entra tenant requirement

All people using the connector—regardless of Claude plan—must authenticate with a Microsoft 365 account tied to a Microsoft Entra tenant. Personal Microsoft accounts (@outlook.com, @hotmail.com) can't be used. A Microsoft Entra Global Administrator must complete a one-time consent process before anyone in the tenant can connect.

2. Organization-level gating (Team and Enterprise plans)

On Team and Enterprise plans, access to the connector requires a two-step approval process. First, Owners must explicitly enable the Microsoft 365 connector in Claude organization settings by navigating to Organization settings > Connectors > Browse connectors > Add "Microsoft 365." Until this approval is granted, team members have no access.

Second, after the Owner enables the connector, a Microsoft Entra Global Administrator must complete individual authentication and grant consent on behalf of the whole organization before any team members can connect.

3. Granular permission revocation

You can selectively disable specific capabilities via Microsoft Entra Admin Center. For example:

To restrict

Action

Effect

All access

Disable connector in Claude organization settings

Complete shutdown

SharePoint only

Revoke Sites.Read.All permission in Entra

Blocks SharePoint

Email access

Revoke Mail.Read permission in Entra

Blocks Outlook

Teams chat

Revoke Chat.Read permission in Entra

Blocks Teams

Teams messaging (write)

Revoke ChatMessage.Send, ChannelMessage.Send, and Chat.Create in Entra

Blocks Claude from sending Teams messages

OneDrive files

Revoke Files.Read and/or Files.Read.All

Blocks reading files from OneDrive

Changes take effect immediately for all people in your organization. People can also choose to disable capabilities during a chat by selectively toggling off the connector's tools.

4. Microsoft Conditional Access

Your Conditional Access policies apply to the connector, but not always in the way they apply to a user working directly in Microsoft 365. When a user connects, Entra evaluates your policies against their sign-in. Every later request is made by Claude's servers. In our testing, Entra evaluates those requests as coming from Anthropic's IP range (160.79.104.0/21), identifying the member and carrying the device recorded when they connected, rather than the member's current device or network. What that means for each kind of policy:

  • Group-based access: Supported. Scope your policy to specific security groups, or set Assignment required on both Claude applications as described in Set up the Microsoft 365 connector.

  • Multi-factor authentication (MFA): Supported. MFA is enforced when the member signs in to connect. If your MFA policy doesn't apply to the connector sign-in, for example because it targets specific applications, or has conditions that can skip MFA there, create a separate policy with no conditions that requires MFA for the two Claude applications.

  • Device compliance: Supported, with a difference in when it's checked. In our testing, the policy is evaluated against the device the member connects from. A device that doesn't meet the policy isn't stopped at the connect screen; its requests fail from the first tool call afterwards. The connection then carries that device record, and ongoing access is checked against the record rather than the device currently in use, until the member next reconnects. Each member's most recent connection is the one that counts. The record is only created if the member's browser can prove the device to Entra, so a compliant device used with a browser profile that isn't signed in to your organization is treated as not compliant. Members who are blocked (AADSTS53000) fix it by reconnecting from a device that meets the policy, in a browser signed in to your organization. Keep the policy assigned to the Claude applications; excluding them removes the check.

  • Location and network restrictions: Not supported. In our testing, the server-side requests always appear to come from Anthropic's IP range, wherever the member is, so a policy that limits sign-ins to your network or VPN blocks the connector for every member. The same applies to sign-in frequency policies. Learn how to exclude Anthropic's IP range in Set up the Microsoft 365 connector.

Warning: Don't change a device policy to require a compliant device or multi-factor authentication as a workaround. In our testing the MFA proof carries through the stored connection in the same way, so the policy can end up satisfied for every member and the device requirement stops doing anything reliable.

To stop members from connecting a work Microsoft 365 account to a Claude account outside your organization, turn on Restrict verified-domain connectors to your enterprise.

5. User-level permissions

  • The Microsoft 365 Connector uses delegated permissions.

  • Users can only access Microsoft 365 data they already have permission for

  • SharePoint search requires Sites.Read.All permission. Site-specific permissioning (using *.Selected permissions) is not supported because the underlying search is tenant-wide.

  • Users cannot bypass SharePoint sharing settings or folder permissions.

  • Users can't access other users' private files or emails. Users can search shared mailboxes they've been granted delegate access to in Microsoft 365, including full access and folder-level delegation. Shared mailbox access remains read-only, via the Mail.Read.Shared permission. Email search doesn't reach a user's separate Online Archive (In-Place Archive) mailbox.

  • Delegated permissions inherently respect Microsoft 365 data loss prevention (DLP) policies.

6. Token management

  • Refresh tokens expire after 90 days of inactivity by default, requiring re-authentication. This can be customized in Microsoft Entra ID using a token lifetime policy.

  • Access tokens typically expire within 60-90 minutes per Microsoft Entra ID defaults and are automatically refreshed.

  • Admins or users can revoke access anytime via Microsoft Entra ID.

  • The Microsoft 365 Connector never sees or stores passwords.

Security architecture summary

Authentication flow

  • OAuth 2.0 On-Behalf-Of (OBO): Industry-standard delegated authentication

  • PKCE protection: Public client uses Proof Key for Code Exchange to prevent authorization code interception

  • Two-stage token exchange: User authenticates to obtain access token for MCP server, then MCP server exchanges it for Graph API access using OBO flow with confidential client credentials. In this flow, not even the user or their Claude client has access to the OBO tokens. Only the MCP server can access and use tokens with access to the user’s data via the Microsoft Graph API.

  • No credential storage: Users never share Microsoft passwords with Anthropic

  • Encrypted token storage: Access and refresh tokens are encrypted while cached by the Claude backend

Data flow

  • Documents and other content are retrieved only during active queries

  • Tool call results from the connector that are part of stored chats are retained

  • The user who requested the Claude chat can see the tool call results and Claude’s response incorporating the data

  • Other users shared on the chat can only see Claude’s response incorporating the result of the tool call

  • Each request creates a fresh data flow which is cleaned up after the response is returned

Multi-tenant isolation

  • Microsoft Entra tenants are cryptographically separated from each other using a common-scoped multi-tenant configuration

  • Multi-tenant isolation is cryptographically enforced through digitally signed access tokens that bind each user to their organization’s tenant

Available capabilities

Read and search tools

The connector provides read-only access to:

Tool

Description

Required permission

sharepoint_search

Search SharePoint documents and pages

Sites.Read.All

sharepoint_folder_search

Find SharePoint folders by name

Sites.Read.All

outlook_email_search

Search email with sender/date filters

Mail.Read

outlook_calendar_search

Search calendar events

Calendars.Read

find_meeting_availability

Find available meeting times

Calendars.Read

chat_message_search

Search Teams chat messages

Chat.Read

read_resource

Read files, emails, or chat by URI

Varies by resource type

Write tools

Tool

Description

Required permission

outlook_send_mail

Send an email as the user

Mail.Send

outlook_forward_mail

Forward an existing message

Mail.Send

outlook_send_draft

Send an existing draft

Mail.Send

outlook_trash_thread

Move a conversation to Deleted Items

Mail.ReadWrite

outlook_untrash_thread

Restore a conversation from Deleted Items

Mail.ReadWrite

outlook_batch_delete_messages

Move multiple messages to Deleted Items

Mail.ReadWrite

outlook_create_draft

Create a draft email

Mail.ReadWrite

outlook_create_reply_draft

Create a reply draft on a message

Mail.ReadWrite

outlook_create_reply_all_draft

Create a reply-all draft on a message

Mail.ReadWrite

outlook_update_draft

Update an existing draft

Mail.ReadWrite

outlook_delete_draft

Move a draft to Deleted Items

Mail.ReadWrite

outlook_create_label

Create a category in the master list

MailboxSettings.ReadWrite

outlook_update_label

Rename or recolor a category

MailboxSettings.ReadWrite

outlook_delete_label

Remove a category from the master list

MailboxSettings.ReadWrite

outlook_modify_labels

Add/remove categories on one message

Mail.ReadWrite

outlook_modify_thread_labels

Add/remove categories across a thread

Mail.ReadWrite

outlook_batch_modify_labels

Add/remove categories on multiple messages

Mail.ReadWrite

outlook_create_event

Create a calendar event

Calendars.ReadWrite

outlook_update_event

Update an existing event

Calendars.ReadWrite

outlook_delete_event

Delete a calendar event

Calendars.ReadWrite

outlook_respond_to_event

Accept, decline, or tentatively accept an invitation

Calendars.ReadWrite

outlook_set_vacation

Set the automatic-reply (out-of-office) message

MailboxSettings.ReadWrite

outlook_create_filter

Create an inbox rule

MailboxSettings.ReadWrite

outlook_delete_filter

Delete an inbox rule

MailboxSettings.ReadWrite

sharepoint_upload_file

Create a new file in a library or folder

Files.ReadWrite.All

sharepoint_update_file

Replace an existing file's content

Files.ReadWrite.All

sharepoint_create_folder

Create a new folder

Files.ReadWrite.All

sharepoint_rename_item