Microsoft Teams MCP Tools for AI Agents
Let an agent search chats and channels, read meeting transcripts, schedule meetings, and send or reply to Teams messages.
Available Tools
42 tools available in this integration
MicrosoftTeams.CancelMeeting Cancel a Microsoft Teams meeting the signed-in user organizes, notifying attendees.
MicrosoftTeams.CreateChat Create a Microsoft Teams chat.
MicrosoftTeams.CreateMeeting Schedule a new Microsoft Teams online meeting on the signed-in user's calendar.
MicrosoftTeams.DeleteChannelMessage Delete a previously sent Microsoft Teams channel message.
MicrosoftTeams.DeleteChatMessage Delete a previously sent Microsoft Teams chat message.
MicrosoftTeams.GetChannelMessageReplies Retrieve the replies to a Microsoft Teams channel message.
MicrosoftTeams.GetChannelMessages Retrieve the messages in a Microsoft Teams channel, newest first.
MicrosoftTeams.GetChannelMetadata Retrieve metadata about a Microsoft Teams channel and its members.
MicrosoftTeams.GetChatMessage Retrieve a Microsoft Teams chat message.
MicrosoftTeams.GetChatMessageById Retrieve a Microsoft Teams chat message.
MicrosoftTeams.GetChatMessages Retrieve messages from a Microsoft Teams chat (individual, group, or meeting).
MicrosoftTeams.GetChatMetadata Retrieve metadata about a Microsoft Teams chat.
MicrosoftTeams.GetMeeting Retrieve a Microsoft Teams meeting scheduled on the signed-in user's calendar.
MicrosoftTeams.GetMeetingTranscript Fetch the text content of a Teams meeting transcript.
MicrosoftTeams.GetSignedInUser Get the current user's full profile (name, job title, employment, contacts, location).
MicrosoftTeams.GetTeam Retrieve metadata about a team in Microsoft Teams.
MicrosoftTeams.ListChannelMessageReplies Retrieve the replies to a Microsoft Teams channel message.
MicrosoftTeams.ListChannelMessages Retrieve the messages in a Microsoft Teams channel, newest first.
MicrosoftTeams.ListChannels List the channels owned by a Microsoft Teams team (standard, private, and shared
MicrosoftTeams.ListChatMessages Retrieve messages from a Microsoft Teams chat (individual, group, or meeting).
MicrosoftTeams.ListChats List the Microsoft Teams chats to which the current user is a member of.
MicrosoftTeams.ListMeetingTranscripts List the transcripts Microsoft Graph has generated for a Teams meeting, most recent
MicrosoftTeams.ListMeetings List Microsoft Teams online meetings on the signed-in user's calendar within a date
MicrosoftTeams.ListTeamMembers List the members of a team in Microsoft Teams.
MicrosoftTeams.ListTeams List the teams the current user is associated with in Microsoft Teams.
MicrosoftTeams.ListUsers List the users in the Microsoft Teams tenant.
MicrosoftTeams.ReactToChannelMessage Add or remove an emoji reaction on a Microsoft Teams channel message.
MicrosoftTeams.ReactToChatMessage Add or remove an emoji reaction on a Microsoft Teams chat message.
MicrosoftTeams.ReplyToChannelMessage Send a reply to a Microsoft Teams channel message.
MicrosoftTeams.ReplyToChatMessage Send a reply to a Microsoft Teams chat message.
MicrosoftTeams.SearchChannels Search for channels owned by a given Microsoft Teams team (standard, private, and
MicrosoftTeams.SearchMessages Search for messages across Microsoft Teams chats and channels.
MicrosoftTeams.SearchPeople Search for people the user has interacted with in Microsoft Teams and other 365 products.
MicrosoftTeams.SearchTeamMembers Search for members of a team in Microsoft Teams.
MicrosoftTeams.SearchTeams Search for teams by name prefix across the Microsoft Teams organization.
MicrosoftTeams.SearchUsers Search for users in the Microsoft Teams tenant.
MicrosoftTeams.SendMessageToChannel Send a message to a Microsoft Teams channel.
MicrosoftTeams.SendMessageToChat Send a message to a Microsoft Teams chat.
MicrosoftTeams.UpdateChannelMessage Edit the text content of a previously sent Microsoft Teams channel message.
MicrosoftTeams.UpdateChatMembers Add members to, or remove members from, the roster of an existing Microsoft Teams
MicrosoftTeams.UpdateChatMessage Edit the text content of a previously sent Microsoft Teams chat message.
MicrosoftTeams.WhoAmI Get the signed-in user's identity, profile and Microsoft Teams tenant context.
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "find the unanswered questions in our launch channel and draft a reply for each." Arcade picks the right Teams actions without guessing team, channel, chat, or message IDs.
Up to 100x fewer tokens
Teams searches and list operations return the messages, members, and meeting records needed to choose the next step, while full replies and transcripts are fetched only when requested.
Complete the workflow end to end
Search a channel, read the relevant replies, draft an update, request approval, and post it through one toolkit designed around the complete Teams communication task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Microsoft Teams
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Microsoft Teams, you can implement some of these policies:
- Hide MicrosoftTeams.CancelMeeting from agents unless the roles your IDP marks as meeting owners are active, so an agent cannot cancel a meeting another organizer is relying on.
- Restrict MicrosoftTeams.UpdateChatMembers to agents operating under your team-owner role, so unapproved automation cannot add outsiders to a chat or remove its members.
- Deny MicrosoftTeams.DeleteChannelMessage to agents outside the roles your IDP marks as channel moderators, so an agent cannot erase an incident record or approved announcement.
- Require human approval before MicrosoftTeams.SendMessageToChannel runs, so an agent cannot publish an unreviewed announcement to a channel.
- Block MicrosoftTeams.CreateMeeting when any invitee is outside your approved email domains, so an agent cannot schedule a meeting with an unintended external recipient.
- Require human approval before MicrosoftTeams.DeleteChatMessage runs, so an agent cannot remove a message that may be needed for an investigation or audit.
- Redact the message bodies MicrosoftTeams.GetChatMessages returns, stripping email addresses, phone numbers, and customer account numbers before they reach the model.
- Strip credentials, access tokens, and customer identifiers from the transcript MicrosoftTeams.GetMeetingTranscript returns before the model sees the meeting content.
- Redact personal contact details, location, and employment fields from MicrosoftTeams.GetSignedInUser results, so the model receives identity context without unnecessary profile data.
How to use Microsoft Teams with your agent
Connect Microsoft Teams to your MCP client by following the setup steps below. Then authorize each user and try the example prompts.
Your questions, answered
A Microsoft Teams MCP server exposes Teams actions as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their account, the agent can search and read chats and channels, inspect meetings and transcripts, send messages, schedule meetings, and perform other permitted actions.
Microsoft Teams does not provide the MCP endpoint used here. Arcade hosts the integration and adds per-user OAuth, agent-optimized actions, approval workflows, response redaction, and tool-level access controls across MCP clients and agent frameworks.
Arcade agents can search and read chats, channels, replies, teams, people, meetings, and meeting transcripts; send, edit, reply to, and react to messages; create chats and meetings; manage chat members; and cancel meetings or delete messages. They can also list teams, channels, chats, members, users, and the signed-in user's profile.
Arcade requests the Microsoft Graph permissions required by the Teams actions you enable. Read-only workflows need permission to read the user's Teams data, while sending messages, creating meetings or chats, editing content, deleting messages, managing chat members, or canceling meetings require corresponding write or delete permissions; grant the narrowest set that supports your workflow.
Yes. Each user authorizes their own Microsoft Teams account through OAuth. Actions run with that user's Microsoft Graph permissions, so an agent can access only the Teams data and operations that person has approved.
Yes. Contextual Access policies can require human approval before consequential Teams actions such as sending or editing messages, deleting content, changing chat membership, creating or canceling meetings, or reacting to messages. The call proceeds only after the policy's conditions have been satisfied.
Arcade proxies Microsoft Teams API calls and does not persist your content as part of normal tool execution. Credentials are brokered and stored encrypted at rest, and the model never receives them.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes access while the user's Microsoft Teams authorization remains valid. If it is revoked, rotated, or can no longer be refreshed, Teams actions stop until the user reconnects their account.
Microsoft Graph and Microsoft Teams service limits still apply to actions performed through Arcade. The available details do not specify separate Arcade quotas or per-action limits, so high-volume searches, message reads, and writes should be designed to handle Graph throttling and retries.