IntegrateIntegrate
Integrations

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

  1. Go to Azure Portal — App Registrations
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. 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_access
  • User.Read
  • Team.ReadBasic.All
  • Channel.ReadBasic.All
  • ChannelMessage.Read.All
  • ChannelMessage.Send
  • Chat.Read
  • Chat.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

On this page