Skip to main content

Microsoft Services MCP Servers

The platform provides MCP server integrations for Microsoft 365 services through Microsoft Graph. SharePoint, Outlook, and Teams all authenticate through Microsoft Entra (formerly Azure Active Directory), so you can configure credentials once and use them across multiple Microsoft services.

Available Microsoft Integrations

ServiceWhat It Enables
SharePointDiscover sites, search and list files, get file links and metadata
OutlookList, search, and read emails
Microsoft TeamsList, search, and send messages in channels and private chats

OAuth Setup (Shared Across Microsoft Services)

All Microsoft MCP servers authenticate using OAuth through Microsoft Entra. You create one app registration and grant the permissions needed for each service.

Step 1: Create an App Registration

  1. Go to the Microsoft Entra admin center and sign in with an admin account.
  2. Navigate to Identity > Applications > App registrations.
  3. Click New registration.
  4. Enter a name (for example, "Devs AI MCP") and click Register.
  5. On the app overview page, copy the Application (client) ID and Directory (tenant) ID.

Step 2: Create a Client Secret

  1. In your app registration, go to Certificates & secrets.
  2. Click New client secret.
  3. Enter a description and select an expiration period.
  4. Click Add and copy the secret value immediately — it is only shown once.

Step 3: Add API Permissions

  1. Go to API permissions > Add a permission > Microsoft Graph.
  2. Add the permissions needed for the services you want to use:

SharePoint:

PermissionTypeDescription
Sites.Read.AllApplicationDiscover sites and read site metadata
Files.Read.AllApplicationRead file metadata and links in document libraries

Outlook:

PermissionTypeDescription
Mail.Read.AllApplicationRead mail in all user mailboxes

Microsoft Teams:

For read and search operations (app-only mode):

PermissionTypeDescription
ChannelMessage.Read.AllApplicationRead messages in Teams channels
Chat.Read.AllApplicationRead messages in private chats
User.Read.AllApplicationResolve user names to chat IDs
Group.Read.AllApplicationResolve team names to team IDs
Channel.ReadBasic.AllApplicationResolve channel names to channel IDs

For sending messages (requires delegated permissions):

PermissionTypeDescription
ChannelMessage.SendDelegatedSend messages to Teams channels
ChatMessage.SendDelegatedSend messages in private chats
  1. Click Grant admin consent for all configured permissions.

📝 Note: You can use a single app registration for all three Microsoft services by adding all the permissions you need. Grant only the permissions required for the services you plan to enable.

Step 4: Configure the Redirect URL

  1. In your app registration, go to Authentication.
  2. Click Add a platform > Web.
  3. Enter the redirect URL provided by your Devs.ai platform administrator.
  4. Click Configure.

Step 5: Configure in Devs.ai

  1. Navigate to Organization > Connectors in Devs.ai.
  2. Find the Microsoft service template (SharePoint, Outlook, or Teams) and click Enable.
  3. Select OAuth as the authentication type.
  4. Enter your Client ID and Client Secret from the steps above.
  5. Select the tools you want to make available.
  6. Click Save.

You can reuse the same Client ID and Client Secret across all Microsoft services.

OAuth Configuration Reference

FieldValue
Authorization URLhttps://login.microsoftonline.com/common/oauth2/v2.0/authorize
Token URLhttps://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
Scopes Parameter Namescope

📝 Note: The {tenantId} in the token URL is automatically resolved from your configuration. If you configure a specific tenant ID, the platform uses it directly. Otherwise, it falls back to common to support multi-tenant scenarios.


SharePoint

SharePoint integration allows agents to discover sites, search for files, and retrieve file metadata and links across your organization's SharePoint document libraries. The current implementation is read-only — it returns file metadata and browser-accessible SharePoint links, not file contents directly.

Capabilities

ToolWhat It Does
List sitesDiscover SharePoint sites accessible to the current user
Search filesSearch for files by name across one or many sites
List filesBrowse files in a specific site folder
Get file linkRetrieve a file's SharePoint link and metadata by file ID or path

Required Permissions

PermissionDescription
Sites.Read.AllDiscover sites and read site-level metadata
Files.Read.AllRead file metadata and links in document libraries

When searching files, the agent can search across multiple SharePoint sites simultaneously. If certain sites restrict access, they are skipped gracefully and the search continues across other accessible sites. The agent reports which sites were searched and which were skipped.


Outlook

Outlook integration allows agents to read and search emails through Microsoft Graph. The current implementation is read-only — agents can list, search, and read messages but cannot send or modify emails.

Capabilities

ToolWhat It Does
List messagesList recent messages in a user's mailbox or a specific folder
Search messagesSearch messages by keyword across subject, body, and sender
Get messageRetrieve the full content of a specific email by ID

Required Permissions

PermissionDescription
Mail.Read.AllRead mail in user mailboxes via application permissions

Microsoft Teams

Microsoft Teams integration allows agents to interact with Teams channels and private chats. Agents can list and search messages, and with the right permissions, send messages to channels and chats.

Capabilities

ToolWhat It Does
List channel messagesList recent messages in a Teams channel
Search channel messagesSearch messages in a Teams channel by keyword
Send channel messagePost a message to a Teams channel
List chat messagesList recent messages in a private chat
Search chat messagesSearch messages in a private chat by keyword
Send chat messageSend a message in a private chat

📝 Note: Teams tools support name-based inputs — you can reference teams, channels, and users by display name instead of raw IDs. This requires additional Graph read permissions (User.Read.All, Group.Read.All, Channel.ReadBasic.All).

Required Permissions

Teams permissions depend on what operations you need:

For reading and searching messages (app-only mode):

  • ChannelMessage.Read.All
  • Chat.Read.All

For sending messages (requires delegated permissions):

  • ChannelMessage.Send
  • ChatMessage.Send

For name-based resolution (recommended):

  • User.Read.All
  • Group.Read.All
  • Channel.ReadBasic.All

📝 Note: Sending messages in Teams requires delegated permissions (a signed-in user token). If your setup uses app-only (client credentials) authentication, read and search operations work, but send operations may return permission errors.


Additional Resources

⌘J