Skip to Content
ReferencesAuth ProvidersMicrosoftPermissions and scopes

Microsoft MCP servers: permissions and scopes

This page provides a per-tool reference of every Microsoft Graph API scope required by Arcade’s Microsoft servers, along with the API endpoints each calls. For auth configuration, see the Microsoft auth provider overview.

All four servers use the Microsoft Graph API  with base URL https://graph.microsoft.com/v1.0, via the Microsoft Graph SDK for Python (msgraph-sdk).

Outlook Calendar

ToolScopes requiredAPI endpointsDescription
who_am_iUser.Read, Calendars.ReadBasic/me, /me/mailboxSettingsGet user profile and calendar info
create_eventMailboxSettings.Read, Calendars.ReadWrite/me/events (POST), /me/mailboxSettingsCreate a calendar event
get_eventMailboxSettings.Read, Calendars.ReadBasic/me/events/{id} (GET), /me/mailboxSettingsGet a specific event
list_events_in_time_rangeMailboxSettings.Read, Calendars.ReadBasic/me/calendar/calendarView (GET), /me/mailboxSettingsList events in a time range

All unique scopes: User.Read, Calendars.ReadBasic, Calendars.ReadWrite, MailboxSettings.Read

Outlook Mail

ToolScopes requiredAPI endpointsDescription
list_emailsMail.Read/me/messages (GET)List emails from mailbox
list_emails_by_propertyMail.Read/me/messages (GET with filters)List emails filtered by property
list_emails_in_folderMail.Read/me/mailFolders/{id}/messages (GET)List emails in a specific folder
create_draft_emailMail.ReadWrite/me/messages (POST)Create a draft email
update_draft_emailMail.ReadWrite/me/messages/{id} (PATCH)Update an existing draft
create_and_send_emailMail.Send/me/sendMail (POST)Create and send an email
send_draft_emailMail.Send/me/messages/{id}/send (POST)Send a draft email
reply_to_emailMail.Send/me/messages/{id}/reply (POST)Reply to an email

All unique scopes: Mail.Read, Mail.ReadWrite, Mail.Send

Microsoft Teams

ToolScopes requiredAPI endpointsDescription
who_am_iUser.Read/meGet user profile information
get_signed_in_userUser.Read/me (GET)Get signed-in user details
list_usersUser.Read/users (GET)List users in tenant
search_usersUser.Read/users (GET with search)Search for users
list_teamsTeam.ReadBasic.All/me/joinedTeams (GET)List teams user is member of
search_teamsTeam.ReadBasic.All/teams (GET with filters)Search for teams
get_teamTeam.ReadBasic.All/teams/{id} (GET)Get team details
list_team_membersTeamMember.Read.All/teams/{id}/members (GET)List members of a team
search_team_membersTeamMember.Read.All/teams/{id}/members (GET with search)Search team members
get_channel_metadataChannel.ReadBasic.All, Team.ReadBasic.All/teams/{id}/channels/{id} (GET)Get channel metadata
list_channelsChannel.ReadBasic.All, Team.ReadBasic.All/teams/{id}/channels (GET)List channels in a team
search_channelsChannel.ReadBasic.All, Team.ReadBasic.All/teams/{id}/channels (GET with filters)Search channels
get_channel_messagesChannelMessage.Read.All, Team.ReadBasic.All/teams/{id}/channels/{id}/messages (GET)Get messages from a channel
get_channel_message_repliesChannelMessage.Read.All, Team.ReadBasic.All/teams/{id}/channels/{id}/messages/{id}/replies (GET)Get replies to a channel message
send_message_to_channelChannelMessage.Send, Team.ReadBasic.All/teams/{id}/channels/{id}/messages (POST)Send message to channel
reply_to_channel_messageChannelMessage.Send, Team.ReadBasic.All/teams/{id}/channels/{id}/messages/{id}/replies (POST)Reply to channel message
get_chat_message_by_idChat.Read/me/chats/{id}/messages/{id} (GET)Get a chat message
create_or_get_chat_by_usersChat.Read, Chat.Create/me/chats (GET/POST)Create or get chat by users
list_chatsChat.Read/me/chats (GET)List user’s chats
get_chat_metadataChat.Read/me/chats/{id} (GET)Get chat metadata
send_message_to_chatChatMessage.Send/me/chats/{id}/messages (POST)Send message to chat
reply_to_chat_messageChatMessage.Send/me/chats/{id}/messages/{id}/replies (POST)Reply to chat message
create_chatChat.Create/chats (POST)Create a new chat
search_messagesChat.Read, ChatMessage.Read, ChannelMessage.Read.All/search/query (POST)Search messages across Teams
search_peoplePeople.Read/me/people (GET)Search for people

All unique scopes: User.Read, Team.ReadBasic.All, TeamMember.Read.All, Channel.ReadBasic.All, ChannelMessage.Read.All, ChannelMessage.Send, Chat.Read, Chat.Create, ChatMessage.Read, ChatMessage.Send, People.Read

SharePoint

ToolScopes requiredAPI endpointsDescription
who_am_iUser.Read/meGet user profile information
get_siteSites.Read.All/sites/{id} (GET)Get SharePoint site details
list_sitesSites.Read.All/sites (GET)List SharePoint sites
search_sitesSites.Read.All/sites?search={query} (GET)Search for sites
get_pageSites.Read.All/sites/{id}/pages/{id} (GET)Get a SharePoint page
list_pagesSites.Read.All/sites/{id}/pages (GET)List pages from a site
get_lists_from_siteSites.Read.All/sites/{id}/lists (GET)Get lists from a site
get_items_from_listSites.Read.All/sites/{id}/lists/{id}/items (GET)Get items from a list
get_drives_from_siteSites.Read.All/sites/{id}/drives (GET)Get drives from a site
list_root_items_in_driveSites.Read.All/sites/{id}/drives/{id}/root/children (GET)List root items in drive
list_items_in_folderSites.Read.All/sites/{id}/drives/{id}/items/{id}/children (GET)List items in folder
search_drive_itemsSites.Read.All/sites/{id}/drives/{id}/root/search(q='{query}') (GET)Search drive items

All unique scopes: User.Read, Sites.Read.All

Scopes summary

ScopeUsed inPurpose
User.ReadAll Microsoft MCP serversRead user profile information
Calendars.ReadBasicOutlook CalendarRead basic calendar information
Calendars.ReadWriteOutlook CalendarRead and write calendar events
MailboxSettings.ReadOutlook CalendarRead mailbox settings (timezone)
Mail.ReadOutlook MailRead email messages
Mail.ReadWriteOutlook MailRead and write email drafts
Mail.SendOutlook MailSend email messages
Team.ReadBasic.AllMicrosoft TeamsRead basic team information
TeamMember.Read.AllMicrosoft TeamsRead team members
Channel.ReadBasic.AllMicrosoft TeamsRead basic channel information
ChannelMessage.Read.AllMicrosoft TeamsRead channel messages
ChannelMessage.SendMicrosoft TeamsSend channel messages
Chat.ReadMicrosoft TeamsRead chat messages
Chat.CreateMicrosoft TeamsCreate chats
ChatMessage.ReadMicrosoft TeamsRead chat messages
ChatMessage.SendMicrosoft TeamsSend chat messages
People.ReadMicrosoft TeamsRead people information
Sites.Read.AllSharePointRead all site collections

All Microsoft servers use the default scope https://graph.microsoft.com/.default. When running locally or with custom deployments, update the base URL to your custom Microsoft Graph endpoint. API endpoints remain consistent across deployments.

Last updated on