Microsoft Teams for Claude — read any chat or channel and its unread messages; send and react
To add microsoft-teams-mcp to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 18 environment variables, listed below.
Install
npx -y @chrischall/microsoft-teams-mcp@0.7.0Environment variables
TEAMS_WS_PORTSet in your MCP configFETCHPROXY_WS_HOSTSet in your MCP configFETCHPROXY_IDENTITY_DIRSet in your MCP configTEAMS_ACCESS_TOKENSet in your MCP configTEAMS_DISABLE_FETCHPROXYSet in your MCP configTEAMS_CHATSVC_REGIONSet in your MCP configTEAMS_CHATSVC_BASESet in your MCP configTEAMS_CAPTURE_TIMEOUTSet in your MCP configTEAMS_TOKEN_CACHESet in your MCP configTEAMS_TOKEN_FILESet in your MCP configTEAMS_SUBSTRATE_TOKEN_FILESet in your MCP configTEAMS_SHAREPOINT_TOKEN_FILESet in your MCP configTEAMS_TIME_ZONESet in your MCP configTEAMS_OUTPUT_DIRSet in your MCP configMCP_CONFIRM_MODESet in your MCP configMCP_CONFIRM_ELICITATIONSet in your MCP configMCP_CONFIRM_TTL_SECONDSSet in your MCP configMCP_CONFIRM_SECRETSet in your MCP configInstall with your client
claude mcp add microsoft-teams --env TEAMS_WS_PORT=<YOUR_TEAMS_WS_PORT> --env FETCHPROXY_WS_HOST=<YOUR_FETCHPROXY_WS_HOST> --env FETCHPROXY_IDENTITY_DIR=<YOUR_FETCHPROXY_IDENTITY_DIR> --env TEAMS_ACCESS_TOKEN=<YOUR_TEAMS_ACCESS_TOKEN> --env TEAMS_DISABLE_FETCHPROXY=<YOUR_TEAMS_DISABLE_FETCHPROXY> --env TEAMS_CHATSVC_REGION=<YOUR_TEAMS_CHATSVC_REGION> --env TEAMS_CHATSVC_BASE=<YOUR_TEAMS_CHATSVC_BASE> --env TEAMS_CAPTURE_TIMEOUT=<YOUR_TEAMS_CAPTURE_TIMEOUT> --env TEAMS_TOKEN_CACHE=<YOUR_TEAMS_TOKEN_CACHE> --env TEAMS_TOKEN_FILE=<YOUR_TEAMS_TOKEN_FILE> --env TEAMS_SUBSTRATE_TOKEN_FILE=<YOUR_TEAMS_SUBSTRATE_TOKEN_FILE> --env TEAMS_SHAREPOINT_TOKEN_FILE=<YOUR_TEAMS_SHAREPOINT_TOKEN_FILE> --env TEAMS_TIME_ZONE=<YOUR_TEAMS_TIME_ZONE> --env TEAMS_OUTPUT_DIR=<YOUR_TEAMS_OUTPUT_DIR> --env MCP_CONFIRM_MODE=<YOUR_MCP_CONFIRM_MODE> --env MCP_CONFIRM_ELICITATION=<YOUR_MCP_CONFIRM_ELICITATION> --env MCP_CONFIRM_TTL_SECONDS=<YOUR_MCP_CONFIRM_TTL_SECONDS> --env MCP_CONFIRM_SECRET=<YOUR_MCP_CONFIRM_SECRET> -- npx -y @chrischall/microsoft-teams-mcp@0.7.0
Run this in a terminal to add the server to Claude Code.
What this does
microsoft-teams-mcp exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.
Requirements
This server needs the following environment variables to be set before it can run:
TEAMS_WS_PORT FETCHPROXY_WS_HOST FETCHPROXY_IDENTITY_DIR TEAMS_ACCESS_TOKEN TEAMS_DISABLE_FETCHPROXY TEAMS_CHATSVC_REGION TEAMS_CHATSVC_BASE TEAMS_CAPTURE_TIMEOUT TEAMS_TOKEN_CACHE TEAMS_TOKEN_FILE TEAMS_SUBSTRATE_TOKEN_FILE TEAMS_SHAREPOINT_TOKEN_FILE TEAMS_TIME_ZONE TEAMS_OUTPUT_DIR MCP_CONFIRM_MODE MCP_CONFIRM_ELICITATION MCP_CONFIRM_TTL_SECONDS MCP_CONFIRM_SECRET
Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).
Frequently asked questions
How do I install microsoft-teams-mcp?
Run the Claude Code command in the install section to add microsoft-teams-mcp to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.
Which clients work with microsoft-teams-mcp?
This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to microsoft-teams-mcp as well.
Does microsoft-teams-mcp need an API key?
Yes. Before it can run, set these environment variables: TEAMS_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR, TEAMS_ACCESS_TOKEN, TEAMS_DISABLE_FETCHPROXY, TEAMS_CHATSVC_REGION, TEAMS_CHATSVC_BASE, TEAMS_CAPTURE_TIMEOUT, TEAMS_TOKEN_CACHE, TEAMS_TOKEN_FILE, TEAMS_SUBSTRATE_TOKEN_FILE, TEAMS_SHAREPOINT_TOKEN_FILE, TEAMS_TIME_ZONE, TEAMS_OUTPUT_DIR, MCP_CONFIRM_MODE, MCP_CONFIRM_ELICITATION, MCP_CONFIRM_TTL_SECONDS, MCP_CONFIRM_SECRET. They go in the env block of your MCP config.
Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.
Is this your MCP server?
Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.
Add this badge to your README
Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.
[](https://clauderules.net/mcp/io-github-chrischall-microsoft-teams-mcp)<a href="https://clauderules.net/mcp/io-github-chrischall-microsoft-teams-mcp" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-chrischall-microsoft-teams-mcp" alt="Listed on clauderules.net" /></a>More AI MCP servers
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
Figma-Context-MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
