Microsoft Teams Integration
Collaborate in Teams channels and chats using Microsoft Graph — teams, channels, messages, and profile.
The Microsoft Teams integration provides access to collaborate in Teams channels and chats using Microsoft Graph — teams, channels, messages, and profile. through the Integrate MCP server.
Installation
The Microsoft Teams integration is included with the SDK:
import { teamsIntegration } from "integrate-sdk/server";Setup
1. Create a Microsoft Teams OAuth App
- Go to Azure Portal — App Registrations
- Create a new OAuth application
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Microsoft Teams integration to your server configuration. The integration automatically reads TEAMS_CLIENT_ID and TEAMS_CLIENT_SECRET from your environment variables:
import { createMCPServer, teamsIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
teamsIntegration({
scopes: ["offline_access", "User.Read", "Team.ReadBasic.All", "Channel.ReadBasic.All", "ChannelMessage.Read.All", "ChannelMessage.Send", "Chat.Read", "Chat.ReadWrite"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
teamsIntegration({
clientId: process.env.CUSTOM_TEAMS_ID,
clientSecret: process.env.CUSTOM_TEAMS_SECRET,
scopes: ["offline_access", "User.Read", "Team.ReadBasic.All", "Channel.ReadBasic.All", "ChannelMessage.Read.All", "ChannelMessage.Send", "Chat.Read", "Chat.ReadWrite"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("teams");
const result = await client.teams.getChannel({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, teamsIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [teamsIntegration()],
});Configuration Options
Prop
Type
Default Scopes
These defaults are applied unless you override scopes in the integration config:
offline_accessUser.ReadTeam.ReadBasic.AllChannel.ReadBasic.AllChannelMessage.Read.AllChannelMessage.SendChat.ReadChat.ReadWrite
Tools
teams_get_channel
Get channel
Prop
Type
teams_get_chat
Get chat
Prop
Type
teams_get_profile
Get profile
Prop
Type
teams_get_team
Get team
Prop
Type
teams_list_channel_messages
List channel messages
Prop
Type
teams_list_channels
List channels
Prop
Type
teams_list_chat_messages
List chat messages
Prop
Type
teams_list_chats
List chats
Prop
Type
teams_list_teams
List teams
Prop
Type
teams_reply_channel_message
Reply channel message
Prop
Type
teams_send_channel_message
Send channel message
Prop
Type
teams_send_chat_message
Send chat message
Prop
Type
Notes
- Category: Communication
- Authentication mode: OAuth