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
38 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.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.ListChannels List the channels owned by a Microsoft Teams team (standard, private, and shared
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 information about the current user and their Microsoft Teams environment.
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "find the right Teams channel for this project and summarize the latest discussion." Arcade helps it use the right Microsoft Teams actions without guessing team, channel, message, or user IDs.
Up to 100x fewer tokens
Microsoft Teams searches return focused conversation and metadata results, with full message details and transcripts retrieved only when needed. The agent can find the right discussion without loading every chat or channel into context.
Complete the workflow end to end
Find the team, locate the channel, search the conversation, read the replies, and send an approved response through one toolkit designed around the complete collaboration 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 capabilities as structured tools an AI agent can call through the Model Context Protocol. After a user authorizes their account, the agent can search conversations, read messages, work with meetings, and send permitted updates.
Microsoft Teams does not provide a first-party MCP server here. Arcade provides the runtime around Teams access, including per-user OAuth, agent-optimized actions, approval workflows, redaction, and scope controls across clients and frameworks.
Arcade agents can search teams, channels, chats, people, and messages; read conversations and replies; inspect members and meeting transcripts; send, reply to, edit, delete, and react to messages; create chats and meetings; update chat membership; and cancel meetings.
Arcade requests the Microsoft Graph delegated permissions required by the actions you enable. Reading teams, channels, chats, users, meetings, and transcripts needs read permissions; sending, editing, deleting, scheduling, canceling, or changing membership needs the corresponding write permissions. Grant only the permissions your workflow requires.
Yes. Each user authorizes their own Microsoft Teams account through OAuth. Actions run under that user's authorization, so the agent can access only the Teams data and permissions that user has approved.
Yes. Contextual Access policies can require human approval before consequential actions such as sending or deleting messages, changing chat membership, scheduling or canceling a meeting, or sending a reply. The call proceeds only after the policy's conditions are 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, calls stop until the user reconnects their account.
Microsoft Graph throttling, tenant limits, and service quotas still apply to Teams actions through Arcade. Microsoft may return throttling responses such as 429, so workflows should handle retry guidance and avoid sending or scanning at excessive rates.