Teams Mcp
@floriscornel
About Teams Mcp
MCP server providing comprehensive Microsoft Teams and Graph API access for AI assistants including messaging, search, and user management.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"teams-mcp": {
"command": "npx",
"args": [
"-y",
"@floriscornel/teams-mcp@latest"
]
}
}
}Tools
30Check the authentication status of the Microsoft Graph connection. Returns whether the user is authenticated and shows their basic profile information.
Get the current authenticated user's profile information including display name, email, job title, and department.
Search for users in the organization by name or email address. Returns matching users with their basic profile information.
Get detailed information about a specific user by their ID or email address. Returns profile information including name, email, job title, and department.
List all Microsoft Teams that the current user is a member of. Returns team names, descriptions, and IDs.
List all channels in a specific Microsoft Team. Returns channel names, descriptions, types, and IDs for the specified team.
Retrieve recent messages from a specific channel in a Microsoft Team. Returns message content, sender information, and timestamps.
Send a message to a specific channel in a Microsoft Team. Supports text and markdown formatting, mentions, and importance levels.
Get all replies to a specific message in a channel. Returns reply content, sender information, and timestamps.
Reply to a specific message in a channel. Supports text and markdown formatting, mentions, and importance levels.
List all members of a specific Microsoft Team. Returns member names, email addresses, roles, and IDs.
Search for users to mention in messages. Returns users with their display names, email addresses, and mention IDs.
Download hosted content (such as images) from a Teams channel message. Returns the content as base64 encoded data along with metadata. Use this to retrieve images or other inline content embedded in messages.
Soft delete a message in a channel. Only the message sender can delete their own messages. The message will be marked as deleted.
Update (edit) a message in a channel that was previously sent. Only the message sender can update their own messages.
Add a reaction to a message in a Teams channel. Supports Unicode emoji characters and named reactions (like, angry, sad, laugh, heart, surprised). Can also react to replies.
Remove a reaction from a message in a Teams channel. Can also remove reactions from replies.
Upload a local file and send it as a message to a Teams channel. Supports any file type (PDF, DOCX, ZIP, images, etc.). The file is uploaded to the channel's SharePoint folder and sent as a reference attachment. If messageId is provided, the file is sent as a reply to that message (thread).
List all recent chats (1:1 conversations and group chats) that the current user participates in. Returns chat topics, types, and participant information.
Retrieve recent messages from a specific chat conversation. Returns message content, sender information, and timestamps.
Download hosted content (such as images) from a chat message. Returns the content as base64 encoded data along with metadata. Use this to retrieve images or other inline content embedded in chat messages.
Send a message to a specific chat conversation. Supports text and markdown formatting, mentions, and importance levels.
Create a new chat conversation. Can be a 1:1 chat (with one other user) or a group chat (with multiple users). Group chats can optionally have a topic.
Update (edit) a chat message that was previously sent. Only the message sender can update their own messages. Supports updating content with text or Markdown formatting, mentions, and importance levels.
Soft delete a chat message that was previously sent. Only the message sender can delete their own messages. The message will be marked as deleted but can still be seen as '[This message has been deleted]'.
Add a reaction to a message in a chat conversation. Supports Unicode emoji characters and named reactions (like, angry, sad, laugh, heart, surprised).
Remove a reaction from a message in a chat conversation.
Upload a local file and send it as a message to a Teams chat. Supports any file type (PDF, DOCX, ZIP, images, etc.). The file is uploaded to OneDrive and sent as a reference attachment.
Search for messages across all Microsoft Teams channels and chats using the Microsoft Search API. The query string supports KQL (Keyword Query Language) syntax for advanced filtering: from:<name> — messages sent by a person (e.g. from:bob) to:<name> — messages sent to a person mentions:<userId> — messages that mention a specific user ID (without dashes) IsMentioned:true — messages that mention the current user hasAttachment:true|false — filter by attachment presence IsRead:true|false — filter by read status sent>=YYYY-MM-DD — messages sent on or after a date sent<=YYYY-MM-DD — messages sent on or before a date Examples: "quarterly report" from:alice sent>=2025-01-01 hasAttachment:true from:bob project update sent>=2025-02-01 Use get_chat_messages or get_channel_messages for browsing a specific conversation.
Find recent messages where the current user was @mentioned across all Teams channels and chats.
Overview
What is Teams MCP?
A Model Context Protocol (MCP) server that integrates with Microsoft Graph APIs, enabling AI assistants to interact with Microsoft Teams, users, chats, files, and organizational data.
How to use Teams MCP?
Install via npx -y @floriscornel/teams-mcp@latest, authenticate using the authenticate CLI command, then start the MCP server. Configuration with AUTH_TOKEN environment variable is also supported.
Key features of Teams MCP?
- OAuth 2.0 device code authentication with Microsoft Graph
- User management: search, profile, directory access
- Teams and channel operations: list, send, edit, delete messages
- Chat and messaging: 1:1/group chats, send, edit, delete
- File upload and hosted content download
- Advanced message search with KQL and filtering
Use cases of Teams MCP?
- AI assistant retrieves recent messages from a
Basic information
More Communication MCP servers

Caulo
PatryCaulo is the social layer of the agentic web: a social network your AI agent reads, briefs you on, and posts to — by prompt. Ad-free, verified humans only, with provenance on every post (human / agent-assisted / agent-au
slack-mcp-server
ubie-ossA Slack MCP server
mcp-email-server
ai-zerolabIMAP and SMTP via MCP Server
Twilio MCP Monorepo
twilio-labsMonorepo providing 1) OpenAPI to MCP Tool generator 2) Exposing all of Twilio's API as MCP Tools
Comments