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.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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.
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>