Connect Claude to Microsoft Teams β read/send messages, list channels, search chats.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Microsoft Teams.
teams_list_teamsList all your Teams
teams_list_channelsList channels in a team
teams_read_channel_messagesRead recent channel messages
teams_send_channel_messageSend a message to a channel
teams_reply_to_messageReply in a channel thread
teams_read_message_repliesRead thread replies
The first open-source Microsoft Teams connector for Claude. Any Microsoft 365 user can connect β just sign in with your work account. No setup, no credentials, no self-hosting required.
Read messages, list channels, search across Teams, send messages β all from Claude Code, Claude Desktop, or Claude Cowork.
Built by SurgeEnterpriseAI.
The user connects their own Microsoft 365 account. They see their own teams, their own channels, their own messages. Each user's tokens are isolated. The server is the bridge β it never stores messages, just passes them through.
/connect, sign in with Microsoft, doneIf someone is already hosting this server (e.g., on https://teams-mcp.surgeai.com):
No API keys, no Azure portal, no setup.
Teams MCP Serverhttps://your-server.com/auth/callbackConfigure:
ChannelMessage.Read.All, ChannelMessage.SendChat.Read, Chat.ReadWrite, ChatMessage.SendTeam.ReadBasic.All, Channel.ReadBasic.AllUser.ReadDeploy to Railway, Render, Azure App Service, or any Node.js host:
Once deployed and tested, submit your server URL to Anthropic's MCP connector registry. Users will then see "Microsoft Teams" as a connect option in Claude Cowork β just like Slack and Gmail.
Add to your .mcp.json:
First run will open your browser for Microsoft login. After that, tokens are cached.
| Tool | What it does |
|---|---|
teams_list_teams | List all your Teams |
teams_list_channels | List channels in a team |
teams_read_channel_messages | Read recent channel messages |
teams_send_channel_message | Send a message to a channel |
teams_reply_to_message | Reply in a channel thread |
teams_read_message_replies | Read thread replies |
teams_list_chats | List your DMs and group chats |
teams_read_chat_messages | Read messages from a chat |
teams_send_chat_message | Send a direct/group chat message |
teams_search_messages | Search messages across all Teams |
teams_get_profile | Get your Microsoft 365 profile |
| Variable | Required | Default | Description |
|---|---|---|---|
TEAMS_CLIENT_ID | Yes | β | Azure AD app client ID |
TEAMS_CLIENT_SECRET | Yes | β | Azure AD client secret |
TEAMS_AUTHORITY | No | common | common for multi-tenant, or a specific tenant ID |
TRANSPORT_MODE | No | auto | auto, stdio, or http |
PORT | No | 3000 | HTTP server port |
BASE_URL | No | http://localhost:3000 | Public URL |
REDIRECT_URI | No | {BASE_URL}/auth/callback | OAuth callback URL |
TOKEN_STORE_PATH | No | ./.data/tokens | Token cache directory |
LOG_LEVEL | No | info | Logging level |
MIT β LICENSE
Issues and PRs welcome. Built by SurgeEnterpriseAI.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/microsoft-teams)<a href="https://allmcps.com/mcp/microsoft-teams"><img src="https://allmcps.com/api/badge/microsoft-teams?style=directory" alt="Microsoft Teams on AllMCPs" /></a>