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
| Service | What It Enables |
|---|---|
| SharePoint | Discover sites, search and list files, get file links and metadata |
| Outlook | List, search, and read emails |
| Microsoft Teams | List, 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
- Go to the Microsoft Entra admin center and sign in with an admin account.
- Navigate to Identity > Applications > App registrations.
- Click New registration.
- Enter a name (for example, "Devs AI MCP") and click Register.
- On the app overview page, copy the Application (client) ID and Directory (tenant) ID.
Step 2: Create a Client Secret
- In your app registration, go to Certificates & secrets.
- Click New client secret.
- Enter a description and select an expiration period.
- Click Add and copy the secret value immediately — it is only shown once.
Step 3: Add API Permissions
- Go to API permissions > Add a permission > Microsoft Graph.
- Add the permissions needed for the services you want to use:
SharePoint:
| Permission | Type | Description |
|---|---|---|
Sites.Read.All | Application | Discover sites and read site metadata |
Files.Read.All | Application | Read file metadata and links in document libraries |
Outlook:
| Permission | Type | Description |
|---|---|---|
Mail.Read.All | Application | Read mail in all user mailboxes |
Microsoft Teams:
For read and search operations (app-only mode):
| Permission | Type | Description |
|---|---|---|
ChannelMessage.Read.All | Application | Read messages in Teams channels |
Chat.Read.All | Application | Read messages in private chats |
User.Read.All | Application | Resolve user names to chat IDs |
Group.Read.All | Application | Resolve team names to team IDs |
Channel.ReadBasic.All | Application | Resolve channel names to channel IDs |
For sending messages (requires delegated permissions):
| Permission | Type | Description |
|---|---|---|
ChannelMessage.Send | Delegated | Send messages to Teams channels |
ChatMessage.Send | Delegated | Send messages in private chats |
- 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
- In your app registration, go to Authentication.
- Click Add a platform > Web.
- Enter the redirect URL provided by your Devs.ai platform administrator.
- Click Configure.
Step 5: Configure in Devs.ai
- Navigate to Organization > Connectors in Devs.ai.
- Find the Microsoft service template (SharePoint, Outlook, or Teams) and click Enable.
- Select OAuth as the authentication type.
- Enter your Client ID and Client Secret from the steps above.
- Select the tools you want to make available.
- Click Save.
You can reuse the same Client ID and Client Secret across all Microsoft services.
OAuth Configuration Reference
| Field | Value |
|---|---|
| Authorization URL | https://login.microsoftonline.com/common/oauth2/v2.0/authorize |
| Token URL | https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token |
| Scopes Parameter Name | scope |
📝 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 tocommonto 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
| Tool | What It Does |
|---|---|
| List sites | Discover SharePoint sites accessible to the current user |
| Search files | Search for files by name across one or many sites |
| List files | Browse files in a specific site folder |
| Get file link | Retrieve a file's SharePoint link and metadata by file ID or path |
Required Permissions
| Permission | Description |
|---|---|
Sites.Read.All | Discover sites and read site-level metadata |
Files.Read.All | Read file metadata and links in document libraries |
Multi-Site Search
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
| Tool | What It Does |
|---|---|
| List messages | List recent messages in a user's mailbox or a specific folder |
| Search messages | Search messages by keyword across subject, body, and sender |
| Get message | Retrieve the full content of a specific email by ID |
Required Permissions
| Permission | Description |
|---|---|
Mail.Read.All | Read 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
| Tool | What It Does |
|---|---|
| List channel messages | List recent messages in a Teams channel |
| Search channel messages | Search messages in a Teams channel by keyword |
| Send channel message | Post a message to a Teams channel |
| List chat messages | List recent messages in a private chat |
| Search chat messages | Search messages in a private chat by keyword |
| Send chat message | Send 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.AllChat.Read.All
For sending messages (requires delegated permissions):
ChannelMessage.SendChatMessage.Send
For name-based resolution (recommended):
User.Read.AllGroup.Read.AllChannel.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.