# How to integrate Microsoft teams MCP with Antigravity

```json
{
  "title": "How to integrate Microsoft teams MCP with Antigravity",
  "toolkit": "Microsoft teams",
  "toolkit_slug": "microsoft_teams",
  "framework": "Antigravity",
  "framework_slug": "antigravity",
  "url": "https://composio.dev/toolkits/microsoft_teams/framework/antigravity",
  "markdown_url": "https://composio.dev/toolkits/microsoft_teams/framework/antigravity.md",
  "updated_at": "2026-05-12T10:19:01.578Z"
}
```

## Introduction

### How to integrate Microsoft teams MCP with Antigravity
Antigravity IDE is Google's agentic IDE, built on a VS Code-style editor and powered by models like Gemini 3.5 Flash, Gemini 3.1 Pro, Opus 4.6, and more. It treats the AI agent as a first-class teammate, planning, coding, and validating work through an Agent Manager dashboard with deep browser connectivity.
In this guide, I will explain the easiest and most secure way to connect your Microsoft teams account to Antigravity IDE via Composio Connect, so it can add new member to project team, schedule an online meeting for sales, list all chats I’m part of, and more without ever putting your account credentials at risk.

## Also integrate Microsoft teams with

- [ChatGPT](https://composio.dev/toolkits/microsoft_teams/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/microsoft_teams/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/microsoft_teams/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/microsoft_teams/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/microsoft_teams/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/microsoft_teams/framework/codex)
- [Cursor](https://composio.dev/toolkits/microsoft_teams/framework/cursor)
- [VS Code](https://composio.dev/toolkits/microsoft_teams/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/microsoft_teams/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/microsoft_teams/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/microsoft_teams/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/microsoft_teams/framework/cli)
- [Google ADK](https://composio.dev/toolkits/microsoft_teams/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/microsoft_teams/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/microsoft_teams/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/microsoft_teams/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/microsoft_teams/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/microsoft_teams/framework/crew-ai)

## TL;DR

### Why use Composio?
Composio provides:
- Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
- Programmatic tool calling. Allows LLMs to write code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
- Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

## Connect Microsoft teams to Antigravity

### Connect Microsoft teams to Antigravity
Antigravity does not ship with one-click custom MCP install links yet, so configuration goes through the IDE's raw config file. The process takes under a minute.
### 1. Open the MCP Config
Go to Antigravity Settings, open the Customizations tab, then click Open MCP Config to open mcp_config.json in the editor.
### 2. Get your API key
Go to the [Composio Dashboard](https://dashboard.composio.dev/~/org/connect/clients/) and copy your API key.
### 3. Add Composio to mcp_config.json
Paste the following configuration into the file:

```bash
{
  "mcpServers": {
    "remote-composio": {
      "serverUrl": "https://connect.composio.dev/mcp",
      "headers": {
        "x-consumer-api-key": "your-composio-api-key"
      }
    }
  }
}
```

## What is the Microsoft teams MCP server, and what's possible with it?

The Microsoft Teams MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Microsoft Teams account. It provides structured and secure access to your Teams workspace, so your agent can perform actions like managing chats, sending messages, creating meetings, and organizing teams on your behalf.
- Automated chat and message management: Let your agent retrieve, read, and summarize messages from any Teams chat, or fetch all chats you’re part of for quick updates.
- Team and channel organization: Easily create new teams, add members, get channel details, or archive and delete teams to keep your workspace organized.
- Scheduling online meetings: Have your agent schedule standalone Teams meetings instantly, making it simple to coordinate with colleagues or clients without manual setup.
- Granular access to team and chat details: Fetch full information about specific teams, channels, or even individual messages with precision, enabling rich contextual workflows.
- Seamless membership and collaboration management: Add or update members in teams with a prompt, ensuring the right people always have access to the conversations and resources they need.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MICROSOFT_TEAMS_ADD_CHAT_MEMBER` | Add chat member | Tool to add a conversationMember to a Microsoft Teams chat. Use when adding a user to an existing chat conversation. |
| `MICROSOFT_TEAMS_ADD_TAB` | Add tab to channel | Tool to add a new tab to a Microsoft Teams channel. Use when you need to pin an app or website as a tab in a channel. |
| `MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM` | Add member to team | Tool to add a user to a Microsoft Teams team. Use when granting or updating membership for a user. |
| `MICROSOFT_TEAMS_ADD_TEAM_MEMBERS_BULK` | Add team members (bulk) | Tool to add multiple members to a Microsoft Teams team in a single operation. Use when adding several users at once to improve efficiency. |
| `MICROSOFT_TEAMS_ARCHIVE_CHANNEL` | Archive channel | Tool to archive a channel in a Microsoft Teams team. Use when you need to archive a specific channel within a team. |
| `MICROSOFT_TEAMS_ARCHIVE_GROUP_TEAM_CHANNEL` | Archive team channel | Tool to archive a channel in a Microsoft Teams team using the group ID. Use when you need to archive a specific channel within a team. |
| `MICROSOFT_TEAMS_ARCHIVE_TEAM` | Archive Teams team | Tool to archive a Microsoft Teams team. Use after confirming the team ID; returns 202 if accepted. |
| `MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS` | Get all chats | Retrieves all Microsoft Teams chats a specified user is part of, supporting filtering, property selection, and pagination. |
| `MICROSOFT_TEAMS_CLEAR_AUTOMATIC_LOCATION` | Clear Automatic Location | Tool to clear the automatic location from a user's presence in Microsoft Teams. Use when you need to remove automatically-set location information from presence status. |
| `MICROSOFT_TEAMS_CLEAR_ME_PRESENCE_USER_PREFERRED` | Clear User Preferred Presence | Tool to clear a user's preferred presence setting in Microsoft Teams. Use when you need to remove the user's manually set presence status and allow the system to automatically determine their presence based on activity. Supports both delegated (user) and application (S2S) authentication. |
| `MICROSOFT_TEAMS_CLEAR_PRESENCE` | Clear Presence | Tool to clear the presence information for a user's application presence session in Microsoft Teams. Use when you need to remove presence information set by an application for the authenticated user. Note: This action can only clear presence for the authenticated user, not for other users. |
| `MICROSOFT_TEAMS_CLEAR_PRESENCE_LOCATION` | Clear Presence Location | Tool to clear the authenticated user's presence location. Use when you need to remove location information from the user's current presence status. |
| `MICROSOFT_TEAMS_CLONE_TEAM` | Clone Team | Tool to clone a Microsoft Teams team using the team ID. Use when you need to create a copy of an existing team including its structure, channels, and tabs. This is an asynchronous operation; poll the returned location URL to monitor progress. |
| `MICROSOFT_TEAMS_CREATE_CALL_OPERATION` | Create Call Operation | Tool to create a new operation for a communications call. Use when you need to initiate a new operation on an active call. |
| `MICROSOFT_TEAMS_CREATE_CHANNEL` | Create a channel | Tool to create a new standard, private, or shared channel within a Microsoft Teams team. Use when you need to create a new channel for team collaboration. |
| `MICROSOFT_TEAMS_CREATE_CONTENT_SHARING_SESSION` | Create Content Sharing Session | Tool to create a content sharing session in a Microsoft Teams call. Use when you need to initiate content sharing during an active call. |
| `MICROSOFT_TEAMS_CREATE_GROUP_TEAM_CHANNEL` | Create channel in group team | Tool to create a new channel in a group's associated team. Use when you have a group ID and need to create a channel in its team. |
| `MICROSOFT_TEAMS_CREATE_MEETING` | Create online meeting | Use to schedule a new standalone Microsoft Teams online meeting, i.e., one not linked to any calendar event. |
| `MICROSOFT_TEAMS_CREATE_OFFER_SHIFT_REQUEST` | Create user offer shift request | Tool to create a new offer shift request in a user's joined team schedule. Use when a team member wants to offer their shift to another team member. |
| `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT` | Create open shifts | Tool to create a new open shift in a Microsoft Teams team schedule. Use when you need to publish available shifts that team members can claim. |
| `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT_CHANGE_REQUEST` | Create open shift change request | Tool to create a new open shift change request in a team schedule. Use when a team member wants to claim an available open shift. |
| `MICROSOFT_TEAMS_CREATE_OR_GET_ONLINE_MEETING` | Create or get online meeting | Tool to create a new Microsoft Teams online meeting or retrieve an existing one based on externalId. Use when you need an idempotent meeting creation operation that returns an existing meeting if the externalId matches. |
| `MICROSOFT_TEAMS_CREATE_OR_UPDATE_SCHEDULE` | Create or update schedule | Tool to create or replace a schedule object for a Microsoft Teams team. Use when you need to enable or configure scheduling features for a team. |
| `MICROSOFT_TEAMS_CREATE_SCHEDULE_DAY_NOTE` | Create schedule day note | Tool to create a new day note in a team's schedule. Use when you need to add notes or reminders for a specific date in the team schedule. Day notes help communicate important information to team members for a particular day. |
| `MICROSOFT_TEAMS_CREATE_SCHEDULING_GROUP` | Create scheduling group | Tool to create a new scheduling group in a team's schedule. Use when you need to organize team members into groups for shift scheduling and management. This action uses 'team_id' parameter naming which aligns with the Microsoft Graph API endpoint (/teams/{id}/schedule/schedulingGroups). |
| `MICROSOFT_TEAMS_CREATE_SHIFT` | Create team schedule shift | Tool to create a new shift in a Microsoft Teams team schedule. Use when you need to assign work shifts to team members with specific start/end times and details. |
| `MICROSOFT_TEAMS_CREATE_TEAM` | Create Team | Tool to create a new Microsoft Teams team. Use when you need to provision a team with optional template, channels, and members. |
| `MICROSOFT_TEAMS_CREATE_TEAM_FROM_GROUP` | Create Team From Group | Tool to create a new team under an existing Microsoft 365 group. Use when you need to add Teams capabilities to an existing group. |
| `MICROSOFT_TEAMS_CREATE_TIME_OFF` | Create time off | Tool to create a new timeOff instance in a team's schedule. Use when you need to create approved time off for a team member (vacation, sick leave, etc.). |
| `MICROSOFT_TEAMS_CREATE_TIME_OFF_REASON` | Create time off reason | Tool to create a new time off reason in a team's schedule. Use when you need to define a new category for time off requests with a custom name and icon. |
| `MICROSOFT_TEAMS_CREATE_TIME_OFF_REQUEST` | Create time off request | Tool to create a new time off request in a team's schedule. Use when a team member needs to request time off for vacation, sick leave, or other absences. |
| `MICROSOFT_TEAMS_CREATE_USER_ONLINE_MEETING` | Create user online meeting | Tool to create a new Microsoft Teams online meeting for a specific user. Use when you need to create an online meeting on behalf of a user. |
| `MICROSOFT_TEAMS_DELETE_CALL_OPERATION` | Delete Call Operation | Tool to delete a navigation property operation for a communications call. Use when you need to remove a specific commsOperation from a call. |
| `MICROSOFT_TEAMS_DELETE_CHANNEL` | Delete team channel | Tool to delete a channel from a Microsoft Teams team. Use when you need to permanently remove a channel. Note that the General channel cannot be deleted. |
| `MICROSOFT_TEAMS_DELETE_DAY_NOTE` | Delete team schedule day note | Tool to delete a day note from a Microsoft Teams schedule. Use when you need to remove a day note from a specific date in the team schedule. The If-Match header with ETag value is required for deletion. |
| `MICROSOFT_TEAMS_DELETE_OPEN_SHIFT` | Delete open shift | Tool to delete an open shift from a Microsoft Teams schedule. Use when you need to remove an unfilled shift from the team schedule. |
| `MICROSOFT_TEAMS_DELETE_SCHEDULING_GROUP` | Delete team scheduling group | Tool to delete a scheduling group from a Microsoft Teams team schedule. Use this when you need to remove a scheduling group from a specific team. |
| `MICROSOFT_TEAMS_DELETE_SHIFT` | Delete team schedule shift | Tool to delete a shift from a Microsoft Teams team schedule. Use when you need to permanently remove a scheduled shift. |
| `MICROSOFT_TEAMS_DELETE_SOFT_MESSAGE` | Soft-delete Teams channel message | Tool to soft-delete a message in a Teams channel. Use when you need to remove a message without permanently deleting it. |
| `MICROSOFT_TEAMS_DELETE_TAB` | Delete channel tab | Tool to delete a tab from a Microsoft Teams channel. Use when you need to permanently remove a tab from a channel. |
| `MICROSOFT_TEAMS_DELETE_TEAM` | Delete Teams team | Tool to delete a Microsoft Teams team. Use after confirming the target team ID. |
| `MICROSOFT_TEAMS_DELETE_TIME_OFF` | Delete time off | Tool to delete a timeOff from a team's schedule. Use when you need to remove a scheduled time off entry from a team member's schedule. |
| `MICROSOFT_TEAMS_DELETE_TIME_OFF_REASON` | Delete time off reason | Tool to delete a time off reason from a team's schedule. Use when you need to remove a time off reason. Note: This operation marks the time off reason as inactive rather than permanently deleting it. |
| `MICROSOFT_TEAMS_DELETE_TIME_OFF_REQUEST` | Delete time off request | Tool to delete a time off request from a Microsoft Teams team schedule. Use when you need to permanently remove a time off request. |
| `MICROSOFT_TEAMS_DELETE_USER_ONLINE_MEETING` | Delete User Online Meeting | Tool to delete an online meeting for a user. Use when you need to permanently remove an online meeting from a user's calendar. |
| `MICROSOFT_TEAMS_GET_CALL_OPERATION` | Get call operation | Tool to get a specific commsOperation for a call. Use to check the status of long-running call operations. |
| `MICROSOFT_TEAMS_GET_CHANNEL` | Get team channel | Tool to get a specific channel in a team. Use after obtaining valid team and channel IDs to fetch channel details. |
| `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE` | Get Teams channel message | Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs. |
| `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE_REPLY` | Get channel message reply | Tool to retrieve a single reply to a message in a channel. Use when you need to get details of a specific reply message. |
| `MICROSOFT_TEAMS_GET_CHAT` | Get chat | Tool to retrieve a single chat by ID. Use when you need to get details about a specific chat. |
| `MICROSOFT_TEAMS_GET_CHAT_MEMBER` | Get chat member | Tool to get a specific conversation member from a Microsoft Teams chat. Use when you need details about a specific chat participant. |
| `MICROSOFT_TEAMS_GET_CHAT_MESSAGE` | Get chat message | Tool to get a specific chat message. Use after confirming chat_id and message_id. |
| `MICROSOFT_TEAMS_GET_DAY_NOTE` | Get day note | Tool to retrieve a specific day note from a team's schedule. Use when you need to view notes for a specific date in a team's schedule. |
| `MICROSOFT_TEAMS_GET_FILES_FOLDER` | Get channel files folder | Tool to get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team. Use when you need to access file storage information for a channel. |
| `MICROSOFT_TEAMS_GET_MY_PROFILE` | Get User Profile | Tool to retrieve a user's profile (id/UPN/mail/displayName). Supports both delegated auth (use user_id='me') and application-only auth (specify user ID/UPN). Use when operations require user identity information (e.g., chat creation). |
| `MICROSOFT_TEAMS_GET_OFFER_SHIFT_REQUEST` | Get offer shift request | Tool to get a specific offer shift request from a Microsoft Teams schedule. Use when you need to retrieve details of a single offer shift request by its ID. |
| `MICROSOFT_TEAMS_GET_ONLINE_MEETING` | Get online meeting | Tool to retrieve details of a specific Microsoft Teams online meeting by its ID. Use when you need to get the properties and relationships of an existing meeting. |
| `MICROSOFT_TEAMS_GET_OPEN_SHIFT` | Get open shift | Tool to get a specific open shift from a Microsoft Teams schedule. Use when you need to retrieve details about a particular unassigned open shift by its ID. |
| `MICROSOFT_TEAMS_GET_OPEN_SHIFT_CHANGE_REQUEST` | Get open shift change request | Tool to retrieve a specific open shift change request from a Microsoft Teams team's schedule. Use when you need to get details about a particular open shift request including its state, sender, and manager actions. |
| `MICROSOFT_TEAMS_GET_PRESENCE` | Get User Presence | Tool to get a specific user's presence information. Use when checking availability status, activity, or work location for a particular user. |
| `MICROSOFT_TEAMS_GET_PRIMARY_CHANNEL` | Get primary channel | Tool to get the default (General) channel of a team. Use when you need to access the primary channel without knowing its channel ID. |
| `MICROSOFT_TEAMS_GET_SCHEDULE` | Get schedule | Tool to retrieve the properties and relationships of a schedule object. Use when you need to get schedule configuration details for a team. |
| `MICROSOFT_TEAMS_GET_SCHEDULING_GROUP` | Get scheduling group | Tool to retrieve a specific scheduling group from a Microsoft Teams team's schedule. Use when you need to get details about a scheduling group including its members, status, and metadata. |
| `MICROSOFT_TEAMS_GET_SHIFT` | Get shift | Tool to retrieve a shift by ID from a Microsoft Teams team schedule. Use when you need to get details of a specific shift assignment. |
| `MICROSOFT_TEAMS_GET_SWAP_SHIFTS_CHANGE_REQUEST` | Get swap shifts change request | Tool to get a specific swap shift change request from a Microsoft Teams schedule. Use when you need to retrieve details of a single swap shift change request by its ID. |
| `MICROSOFT_TEAMS_GET_TAB` | Get channel tab | Tool to get a specific tab in a Microsoft Teams channel. Use when you need to retrieve details of a particular tab. |
| `MICROSOFT_TEAMS_GET_TEAM_FROM_GROUP` | Get Team | Tool to get a specific team. Use when full details of one team by ID are needed. |
| `MICROSOFT_TEAMS_GET_TEAM_MEMBER` | Get team member | Tool to get a specific conversation member from a team. Use when retrieving details about a team member by their membership ID. |
| `MICROSOFT_TEAMS_GET_TEAM_OPERATION` | Get Team Operation Status | Tool to retrieve the status of a Teams async operation using teamId and operationId. Use when you need to poll and track the progress of long-running operations like team creation or archiving. Microsoft recommends waiting at least 30 seconds between polling requests. |
| `MICROSOFT_TEAMS_GET_TEAMS_APP_DEFINITION` | Get installed app in team | Tool to get an installed app in a Microsoft Teams team. Use when you need to retrieve details of a specific app installation. |
| `MICROSOFT_TEAMS_GET_TIME_OFF` | Get time off by ID | Tool to retrieve a specific time off entry from a Microsoft Teams team's schedule by ID. Use when you need to get details about a particular time off period including its dates, reason, and status. |
| `MICROSOFT_TEAMS_GET_TIME_OFF_REASON` | Get time off reason | Tool to get a specific time off reason from a team's schedule. Use when you need to retrieve details about a time off reason including its display name, icon type, and active status. |
| `MICROSOFT_TEAMS_GET_TIME_OFF_REQUEST` | Get time off request | Tool to retrieve a specific time off request from a team's schedule. Use when you need to check the status or details of a time off request. |
| `MICROSOFT_TEAMS_GET_USER_CHAT` | Get user chat | Tool to retrieve a specific chat for a user. Use when you need to get details about a chat that a specific user is part of. |
| `MICROSOFT_TEAMS_GET_USER_TEAMWORK` | Get User Teamwork | Tool to get userTeamwork settings for a specified user, including Microsoft Teams region and locale. Use when you need to determine user's Teams configuration or regional settings. |
| `MICROSOFT_TEAMS_HIDE_CHAT_FOR_USER` | Hide chat for user | Tool to hide a Microsoft Teams chat for a specific user. Use when you need to hide a chat from a user's chat list. Note: The chat is automatically unhidden if an action such as sending a message is taken at the chat level. |
| `MICROSOFT_TEAMS_LIST_ASSOCIATED_TEAMS` | List user's associated teams | Tool to list teams that a user is associated with in Microsoft Teams. Use when you need to get teams where a user is either a direct member or a member of a shared channel hosted in the team. |
| `MICROSOFT_TEAMS_LIST_CHANNEL_TABS` | List channel tabs | Tool to list tabs from a Microsoft Teams channel. Use when you need to retrieve all tabs configured in a specific channel. Note: The Files tab (native to channels) is not returned by this API. |
| `MICROSOFT_TEAMS_LIST_COMMUNICATIONS_CALLS_OPERATIONS` | List Communications Call Operations | Tool to list operations on a Microsoft Teams call. Use when you need to retrieve the status of long-running operations like adding large gallery views, recording, or playing prompts on an active call. |
| `MICROSOFT_TEAMS_LIST_DELETED_TEAMS` | List deleted teams | Tool to list deleted Microsoft Teams and their properties. Use when you need to retrieve a list of teams that have been deleted. |
| `MICROSOFT_TEAMS_LIST_GROUP_TEAM_OPERATIONS` | List Group Team Operations | Tool to list operations on a group's team. Use when you need to retrieve all async operations (such as team creation, archiving, channel creation) for a specific group's team. |
| `MICROSOFT_TEAMS_LIST_INCOMING_CHANNELS` | List team incoming channels | Tool to list incoming channels shared with a Microsoft Teams team. Use when you need to view channels from other teams that have been shared with this team. |
| `MICROSOFT_TEAMS_LIST_INSTALLED_APPS` | List installed apps in team | Tool to list apps installed in a Microsoft Teams team. Use when you need to retrieve the collection of apps installed in a specific team. |
| `MICROSOFT_TEAMS_LIST_MESSAGE_REPLIES` | List channel message replies | Tool to list all replies to a specific message in a Microsoft Teams channel. Use when you need to retrieve the conversation thread for a particular message. |
| `MICROSOFT_TEAMS_LIST_OFFER_SHIFT_REQUESTS` | List offer shift requests | Tool to list offer shift requests in a Microsoft Teams schedule. Use when you need to retrieve all offer shift requests for a team's schedule. |
| `MICROSOFT_TEAMS_LIST_ONLINE_MEETINGS` | List user online meetings | Look up a Microsoft Teams online meeting for a user by identifier. This is effectively a 'lookup-by-identifier' endpoint, NOT a general-purpose list or search. Microsoft Graph REQUIRES an OData $filter predicate on /me/onlineMeetings and /users/{user_id}/onlineMeetings; without it the API returns HTTP 400 'Filter expression expected'. The only supported filter properties on this endpoint are JoinWebUrl and joinMeetingIdSettings/joinMeetingId (e.g. "JoinWebUrl eq 'https://teams.microsoft.com/l/meetup-join/...'" or "joinMeetingIdSettings/joinMeetingId eq '1234567890'"). subject and VideoTeleconferenceId are NOT supported here. If you already know the meeting id, prefer MICROSOFT_TEAMS_USERS_GET_ONLINE_MEETING. There is no Graph API for free-text searching a user's meetings by title. |
| `MICROSOFT_TEAMS_LIST_OPEN_SHIFT_CHANGE_REQUESTS` | List open shift change requests | Tool to list open shift change requests in a Microsoft Teams schedule. Use when you need to retrieve all open shift requests for a team's schedule. |
| `MICROSOFT_TEAMS_LIST_OPEN_SHIFTS` | List open shifts | Tool to list open shifts in a Microsoft Teams schedule. Use when you need to retrieve all unassigned open shifts for a team's schedule. |
| `MICROSOFT_TEAMS_LIST_PEOPLE` | List People | Retrieves a list of people relevant to a specified user from Microsoft Graph, noting the `search` parameter is only effective if `user_id` is 'me'. |
| `MICROSOFT_TEAMS_LIST_PINNED_MESSAGES` | List pinned messages | Tool to retrieve the list of pinned messages in a Microsoft Teams chat. Use when you need to get all messages that have been pinned in a specific chat conversation. |
| `MICROSOFT_TEAMS_LIST_SCHEDULE_DAY_NOTES` | List team schedule day notes | Tool to list all dayNotes from a team's schedule. Use when you need to retrieve all day notes or search/filter notes for specific dates in a team's schedule. |
| `MICROSOFT_TEAMS_LIST_SCHEDULING_GROUPS` | List scheduling groups | Tool to list scheduling groups in a team's schedule. Use when you need to retrieve all scheduling groups for shift management and organization. |
| `MICROSOFT_TEAMS_LIST_SHIFTS` | List shifts | Tool to list shifts in a Microsoft Teams schedule. Use when you need to retrieve all shifts for a team's schedule. |
| `MICROSOFT_TEAMS_LIST_SWAP_SHIFTS_CHANGE_REQUESTS` | List swap shifts change requests | Tool to list swap shift change requests in a Microsoft Teams schedule. Use when you need to retrieve all swap shift requests for a team's schedule. |
| `MICROSOFT_TEAMS_LIST_TEAM_MEMBERS` | List team members | Tool to list members of a Microsoft Teams team. Use when you need to retrieve the members of a specific team, for auditing or notifications. |
| `MICROSOFT_TEAMS_LIST_TEAM_OPERATIONS` | List Team Operations | Tool to list operations from a team. Use when you need to retrieve all async operations (such as team creation, archiving, channel creation) for a specific team. |
| `MICROSOFT_TEAMS_LIST_TEAM_PERMISSION_GRANTS` | List teams permission grants | Tool to list all resource-specific permission grants for a team with support for filtering, pagination, and sorting. Use when you need to identify which Microsoft Entra apps have access to a team and their corresponding permissions. |
| `MICROSOFT_TEAMS_LIST_TIME_OFF` | List team time off entries | Tool to list time off entries from a Microsoft Teams team's schedule. Use when you need to retrieve all time off periods for a team. |
| `MICROSOFT_TEAMS_LIST_TIME_OFF_REASONS` | List team schedule time off reasons | Tool to get time off reasons from a team's schedule. Use when you need to retrieve the list of available time off reasons for scheduling in Microsoft Teams. |
| `MICROSOFT_TEAMS_LIST_TIME_OFF_REQUESTS` | List time off requests | Tool to retrieve a list of time off requests from a Microsoft Teams team's schedule. Use when you need to view all time off requests including their status (pending, approved, declined), dates, and associated users. |
| `MICROSOFT_TEAMS_LIST_USER_CHAT_MEMBERS` | List user's chat members | Tool to list members of a specific chat for a user in Microsoft Teams. Use when you need to retrieve the members of a specific user's chat, whether it's a one-on-one chat, group chat, or meeting chat. |
| `MICROSOFT_TEAMS_LIST_USER_CHAT_MESSAGES` | List user chat messages | Tool to retrieve messages from a specific chat for a given user. Use when you need to access chat messages through the user context. |
| `MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS` | List user joined teams | Tool to list the Teams that a specified user is a direct member of (joined teams). Use for access/membership audits when enumerating team members is access-restricted. |
| `MICROSOFT_TEAMS_LIST_USERS` | List users | Tool to list all users in the organization. Use when you need to retrieve directory users with filtering, pagination, and field selection. |
| `MICROSOFT_TEAMS_MARK_CHAT_READ_FOR_USER` | Mark chat as read for user | Tool to mark a chat as read for a specific user in Microsoft Teams. Use when you need to update the read status of a chat for a particular user. |
| `MICROSOFT_TEAMS_MARK_CHAT_UNREAD_FOR_USER` | Mark chat as unread for user | Marks a specific chat as unread for a user by setting the last read message timestamp. Use when you need to mark messages after a certain time as unread. |
| `MICROSOFT_TEAMS_PIN_MESSAGE` | Pin message in chat | Tool to pin a message in a Microsoft Teams chat. Use when you need to highlight an important message for quick access. |
| `MICROSOFT_TEAMS_POST_MESSAGE_REPLY` | Reply to Teams channel message | Sends a reply to an existing message, identified by `message_id`, within a specific `channel_id` of a given `team_id` in Microsoft Teams. |
| `MICROSOFT_TEAMS_PROVISION_CHANNEL_EMAIL` | Provision channel email address | Tool to provision an email address for a Microsoft Teams channel. Use when you need to enable email integration for a specific channel. |
| `MICROSOFT_TEAMS_REMOVE_CHANNEL_EMAIL` | Remove channel email address | Tool to remove the email address of a channel in Microsoft Teams. Use when you need to disable email integration for a specific channel. |
| `MICROSOFT_TEAMS_REMOVE_CHAT_MEMBER` | Remove chat member | Tool to remove a member from a Microsoft Teams chat. Use when you need to remove a user from a chat conversation. |
| `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBER` | Remove team member | Tool to remove a member from a Microsoft Teams team. Use when you need to remove a user from a team. |
| `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBERS` | Remove team members | Tool to remove multiple members from a Microsoft Teams team in bulk. Use when you need to remove one or more users from a team. |
| `MICROSOFT_TEAMS_SEARCH_FILES` | Search Teams files | Search files in Microsoft Teams using KQL syntax. Find files by name, type, content, author, and modification date across all Teams and channels. Supports boolean logic and date ranges. Examples: 'filetype:pdf AND lastmodifiedtime>=2024-10-01', 'contract AND budget', 'filename:report AND author:user@example.com' |
| `MICROSOFT_TEAMS_SEARCH_MESSAGES` | Search Teams messages | Search Microsoft Teams messages using powerful KQL syntax. Supports sender (from:), date filters (sent:), attachments, and boolean logic. Works across all Teams chats and channels the user has access to. Examples: 'from:user@example.com AND sent>=2024-10-01', 'punchlist OR termination', 'sent>today-30 AND hasattachment:yes' NOTE: This action requires an organizational Microsoft 365 account (Azure AD/Entra ID). It does NOT work with personal Microsoft accounts (MSA) such as @outlook.com, @hotmail.com, or @live.com. If using a personal Microsoft account, this search will fail. |
| `MICROSOFT_TEAMS_SEND_ACTIVITY_NOTIFICATION` | Send Activity Notification to Recipients | Tool to send activity notifications to specified recipients in Microsoft Teams. Use when you need to send custom notifications to users, team members, or channel members. |
| `MICROSOFT_TEAMS_SET_PRESENCE` | Set Presence | Tool to set the presence information for a user's application presence session. Use when you need to update a user's presence state in Microsoft Teams. Valid combinations: Available/Available, Busy/InACall, Busy/InAConferenceCall, Away/Away, or DoNotDisturb/Presenting. |
| `MICROSOFT_TEAMS_SET_PRESENCE_AUTOMATIC_LOCATION` | Set Presence Automatic Location | Tool to set the automatic presence location (office/remote/timeOff) for a specified user. Use when updating work location status in Microsoft Teams via automatic detection. |
| `MICROSOFT_TEAMS_SET_USER_PREFERRED_PRESENCE` | Set User Preferred Presence | Tool to set the preferred availability and activity status for a user. Use when you need to update a user's presence status in Microsoft Teams. Preferred presence takes effect only when at least one presence session exists for the user. |
| `MICROSOFT_TEAMS_SET_USER_PRESENCE_MANUAL_LOCATION` | Set User Presence Manual Location | Tool to set the manual presence location (office/remote/timeOff) for a specific user. Use when updating work location status for a user in Microsoft Teams. |
| `MICROSOFT_TEAMS_SHARE_TEAM_SCHEDULE` | Share Team Schedule | Tool to share a Microsoft Teams schedule for a specified time range. Use when you need to make a team's schedule visible to members. |
| `MICROSOFT_TEAMS_TEAMS_CREATE_CHAT` | Create Chat | Creates a new chat; if a 'oneOnOne' chat with the specified members already exists, its details are returned, while 'group' chats are always newly created. IMPORTANT: The authenticated user MUST be included as one of the members. |
| `MICROSOFT_TEAMS_TEAMS_LIST` | List Teams | Retrieves Microsoft Teams accessible by the authenticated user, allowing filtering, property selection, and pagination. |
| `MICROSOFT_TEAMS_TEAMS_LIST_CHANNEL_MESSAGES` | List channel messages | Tool to list messages in a Teams channel when team_id and channel_id are known (no chat_id required). Use this to enumerate channel message history and obtain message_id for follow-on operations like listing replies or getting message details. |
| `MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS` | List team channels | Retrieves channels for a specified Microsoft Teams team ID (must be valid and for an existing team), with options to include shared channels, filter results, and select properties. |
| `MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE` | Send Channel Message | Posts a new top-level message to a channel in Microsoft Teams (does NOT reply to an existing message). Despite the file name 'reply_to_channel_chat', this action creates a brand-new message in the channel via POST /teams/{id}/channels/{id}/messages. To reply to an existing message thread, use the dedicated reply action instead. |
| `MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE` | Send message to Teams chat | Sends a non-empty message (text or HTML) to a specified, existing Microsoft Teams chat; content must be valid HTML if `content_type` is 'html'. |
| `MICROSOFT_TEAMS_UNARCHIVE_CHANNEL` | Unarchive channel | Tool to unarchive a channel in a Microsoft Teams team. Use when you need to restore an archived channel to active state. |
| `MICROSOFT_TEAMS_UNARCHIVE_GROUP_TEAM_CHANNEL` | Unarchive group team channel | Tool to unarchive a channel in a Microsoft Teams group's team. Use when you need to restore an archived channel to active state. |
| `MICROSOFT_TEAMS_UNARCHIVE_TEAM` | Unarchive Teams team | Tool to unarchive a Microsoft Teams team. Use when you need to restore an archived team to active state. |
| `MICROSOFT_TEAMS_UNHIDE_CHAT_FOR_USER` | Unhide Chat For User | Tool to unhide a chat for a specific user. Use when you need to make a hidden chat visible again in the user's chat list. |
| `MICROSOFT_TEAMS_UNPIN_MESSAGE` | Unpin chat message | Tool to unpin a message from a Microsoft Teams chat. Use when you need to remove a pinned message. |
| `MICROSOFT_TEAMS_UPDATE_CALL` | Update Call | Tool to update the navigation property calls in Microsoft Teams communications. Use when you need to modify properties of an existing call. |
| `MICROSOFT_TEAMS_UPDATE_CALL_OPERATION` | Update Call Operation | Tool to update the navigation property operations in communications. Use when you need to modify properties of an existing call operation. |
| `MICROSOFT_TEAMS_UPDATE_CALL_PARTICIPANT` | Update Call Participant | Tool to update a participant in a Microsoft Teams call. Use when you need to modify participant properties such as lobby status. |
| `MICROSOFT_TEAMS_UPDATE_CHANNEL` | Update Teams channel | Tool to update channel properties in a Microsoft Teams group. Use when you need to modify channel description, display name, or favorite settings. |
| `MICROSOFT_TEAMS_UPDATE_CHANNEL_MESSAGE` | Update Teams channel message | Tool to update a message in a channel. Use when you need to modify an existing channel message after confirming channel and message IDs. |
| `MICROSOFT_TEAMS_UPDATE_CHAT` | Update Chat | Tool to update the properties of a chat. Use when you need to modify chat settings such as the topic. |
| `MICROSOFT_TEAMS_UPDATE_CHAT_MESSAGE` | Update Teams chat message | Tool to update a specific message in a chat. Use when you need to correct or modify a sent chat message. |
| `MICROSOFT_TEAMS_UPDATE_CONTENT_SHARING_SESSION` | Update Content Sharing Session | Tool to update a content sharing session in a Microsoft Teams call. Use when you need to modify the properties of an existing content sharing session. |
| `MICROSOFT_TEAMS_UPDATE_DAY_NOTE` | Update schedule day note | Tool to update an existing day note in a team's schedule. Use when you need to modify notes or reminders for a specific date in the team schedule. |
| `MICROSOFT_TEAMS_UPDATE_ONLINE_MEETING` | Update online meeting | Tool to update the properties of an existing Microsoft Teams online meeting. Use when you need to modify meeting details such as subject, start time, or end time. |
| `MICROSOFT_TEAMS_UPDATE_OPEN_SHIFT` | Update open shift | Tool to update an existing open shift in a Microsoft Teams team schedule. Use when you need to modify open shift details such as times, theme, notes, or open slot count. |
| `MICROSOFT_TEAMS_UPDATE_SCHEDULING_GROUP` | Update scheduling group | Tool to replace/update a scheduling group in a team's schedule. Use when you need to modify properties of an existing scheduling group such as display name, active status, code, or member list. |
| `MICROSOFT_TEAMS_UPDATE_TAB` | Update Teams channel tab | Tool to update the properties of a tab in a Microsoft Teams channel. Use when you need to modify tab display name, configuration, or web URL. |
| `MICROSOFT_TEAMS_UPDATE_TEAM` | Update Team | Tool to update the properties of a team. Use when you need to modify team settings such as member, messaging, or fun settings. |
| `MICROSOFT_TEAMS_UPDATE_TEAM_MEMBER` | Update team member | Tool to update a team member's roles or properties in Microsoft Teams. Use when you need to change a member's role (e.g., promote to owner or demote to member). |
| `MICROSOFT_TEAMS_UPDATE_TEAM_SCHEDULE_SHIFT` | Update team schedule shift | Tool to update an existing shift in a Microsoft Teams team schedule. Use when you need to modify shift details like times, assigned user, or notes. |
| `MICROSOFT_TEAMS_UPDATE_TIME_OFF` | Update time off | Tool to replace an existing timeOff entry in a team's schedule. Use when you need to update time off details including dates, reason, or status. |
| `MICROSOFT_TEAMS_UPDATE_TIME_OFF_REASON` | Update time off reason | Tool to update a time off reason in a team's schedule. Use when you need to modify the display name, icon, active status, or code of an existing time off reason. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, Antigravity can access the Microsoft teams MCP server via Composio to run actions that you authorize directly from the agent panel.

## Complete Code

None listed.

## Conclusion

### Conclusion
You have successfully connected Microsoft teams to Antigravity using Composio Connect. Your agent can now use Microsoft teams securely without exposing credentials in prompts or local scripts.

## How to build Microsoft teams MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/microsoft_teams/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/microsoft_teams/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/microsoft_teams/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/microsoft_teams/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/microsoft_teams/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/microsoft_teams/framework/codex)
- [Cursor](https://composio.dev/toolkits/microsoft_teams/framework/cursor)
- [VS Code](https://composio.dev/toolkits/microsoft_teams/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/microsoft_teams/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/microsoft_teams/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/microsoft_teams/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/microsoft_teams/framework/cli)
- [Google ADK](https://composio.dev/toolkits/microsoft_teams/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/microsoft_teams/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/microsoft_teams/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/microsoft_teams/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/microsoft_teams/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/microsoft_teams/framework/crew-ai)

## Related Toolkits

- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Outlook](https://composio.dev/toolkits/outlook) - Outlook is Microsoft's email and calendaring platform for unified communications and scheduling. It helps users stay organized with powerful email, contacts, and calendar management.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Gong](https://composio.dev/toolkits/gong) - Gong is a platform for video meetings, call recording, and team collaboration. It helps teams capture conversations, analyze calls, and turn insights into action.
- [Slackbot](https://composio.dev/toolkits/slackbot) - Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
- [2chat](https://composio.dev/toolkits/_2chat) - 2chat is an API platform for WhatsApp and multichannel text messaging. It streamlines chat automation, group management, and real-time messaging for developers.
- [Agent mail](https://composio.dev/toolkits/agent_mail) - Agent mail provides AI agents with dedicated email inboxes for sending, receiving, and managing emails. It empowers agents to communicate autonomously with people, services, and other agents—no human intervention needed.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Chatwork](https://composio.dev/toolkits/chatwork) - Chatwork is a team communication platform with group chats, file sharing, and task management. It helps businesses boost collaboration and streamline productivity.
- [Clickmeeting](https://composio.dev/toolkits/clickmeeting) - ClickMeeting is a cloud-based platform for running online meetings and webinars. It helps businesses and individuals host, manage, and engage virtual audiences with ease.
- [Confluence](https://composio.dev/toolkits/confluence) - Confluence is Atlassian's team collaboration and knowledge management platform. It helps your team organize, share, and update documents and project content in one secure workspace.
- [Dailybot](https://composio.dev/toolkits/dailybot) - DailyBot streamlines team collaboration with chat-based standups, reminders, and polls. It keeps work flowing smoothly in your favorite messaging platforms.
- [Dialmycalls](https://composio.dev/toolkits/dialmycalls) - Dialmycalls is a mass notification service for sending voice and text messages to contacts. It helps teams and organizations quickly broadcast urgent alerts and updates.
- [Dialpad](https://composio.dev/toolkits/dialpad) - Dialpad is a cloud-based business phone and contact center system for teams. It unifies voice, video, messaging, and meetings across your devices.
- [Discord](https://composio.dev/toolkits/discord) - Discord is a real-time messaging and VoIP platform for communities and teams. It lets users chat, share media, and collaborate across public and private channels.
- [Discordbot](https://composio.dev/toolkits/discordbot) - Discordbot is an automation tool for Discord servers that handles moderation, messaging, and user engagement. It helps communities run smoothly by automating routine and complex tasks.
- [Echtpost](https://composio.dev/toolkits/echtpost) - Echtpost is a secure digital communication platform for encrypted document and message exchange. It ensures confidential data stays private and protected during transmission.
- [Egnyte](https://composio.dev/toolkits/egnyte) - Egnyte is a cloud-based platform for secure file sharing, storage, and governance. It helps teams collaborate efficiently while maintaining data compliance and security.
- [Google Meet](https://composio.dev/toolkits/googlemeet) - Google Meet is a secure video conferencing platform for virtual meetings, chat, and screen sharing. It helps teams connect, collaborate, and communicate seamlessly from anywhere.
- [Heartbeat](https://composio.dev/toolkits/heartbeat) - Heartbeat is a plug-and-play platform for building and managing online communities. It helps you organize users, channels, events, and discussions in one place.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Microsoft teams MCP?

With a standalone Microsoft teams MCP server, the agents and LLMs can only access a fixed set of Microsoft teams tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Microsoft teams and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Antigravity?

Yes, you can. Antigravity fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Microsoft teams tools.

### Can I manage the permissions and scopes for Microsoft teams while using Tool Router?

Yes, absolutely. You can configure which Microsoft teams scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Microsoft teams data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
