Microsoft Teams MCP Server
Rank #6,496io.github.chrischall/microsoft-teams-mcp
Microsoft Teams for Claude — read any chat or channel and its unread messages; send and react
What you can do with Microsoft Teams MCP Server
Microsoft Teams MCP Server is a Model Context Protocol (MCP) server published by chrischall. It ranks #6,496 of 164,500 active servers on MCP Toplist. Microsoft Teams MCP Server is listed on Official MCP, with 17 tracked versions. It was first listed on Sep 21, 2026 and most recently updated on Oct 20, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What Microsoft Teams MCP Server can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using Microsoft Teams MCP Server
The registry listing declares no required environment variables or authentication. This is declared metadata, not a verified install — the repository README is the authority.
Declared by the Official MCP Registry, last synced Oct 31, 2026. Not independently verified by MCP Toplist.
- TEAMS_WS_PORT · optional
- FETCHPROXY_WS_HOST · optional
- FETCHPROXY_IDENTITY_DIR · optional
- TEAMS_ACCESS_TOKEN · optional
- TEAMS_DISABLE_FETCHPROXY · optional
- TEAMS_CHATSVC_REGION · optional
- TEAMS_CHATSVC_BASE · optional
- TEAMS_CAPTURE_TIMEOUT · optional
- TEAMS_TOKEN_CACHE · optional
- TEAMS_TOKEN_FILE · optional
- TEAMS_SUBSTRATE_TOKEN_FILE · optional
- TEAMS_SHAREPOINT_TOKEN_FILE · optional
- TEAMS_TIME_ZONE · optional
- TEAMS_OUTPUT_DIR · optional
- MCP_CONFIRM_MODE · optional
- MCP_CONFIRM_ELICITATION · optional
- MCP_CONFIRM_TTL_SECONDS · optional
- MCP_CONFIRM_SECRET · optional
Connect Microsoft Teams MCP Server and confirm it works
claude mcp add microsoft-teams-mcp -e "TEAMS_WS_PORT=<your TEAMS_WS_PORT>" -e "FETCHPROXY_WS_HOST=<your FETCHPROXY_WS_HOST>" -e "FETCHPROXY_IDENTITY_DIR=<your FETCHPROXY_IDENTITY_DIR>" -e "TEAMS_ACCESS_TOKEN=<your TEAMS_ACCESS_TOKEN>" -e "TEAMS_DISABLE_FETCHPROXY=<your TEAMS_DISABLE_FETCHPROXY>" -e "TEAMS_CHATSVC_REGION=<your TEAMS_CHATSVC_REGION>" -e "TEAMS_CHATSVC_BASE=<your TEAMS_CHATSVC_BASE>" -e "TEAMS_CAPTURE_TIMEOUT=<your TEAMS_CAPTURE_TIMEOUT>" -e "TEAMS_TOKEN_CACHE=<your TEAMS_TOKEN_CACHE>" -e "TEAMS_TOKEN_FILE=<your TEAMS_TOKEN_FILE>" -e "TEAMS_SUBSTRATE_TOKEN_FILE=<your TEAMS_SUBSTRATE_TOKEN_FILE>" -e "TEAMS_SHAREPOINT_TOKEN_FILE=<your TEAMS_SHAREPOINT_TOKEN_FILE>" -e "TEAMS_TIME_ZONE=<your TEAMS_TIME_ZONE>" -e "TEAMS_OUTPUT_DIR=<your TEAMS_OUTPUT_DIR>" -e "MCP_CONFIRM_MODE=<your MCP_CONFIRM_MODE>" -e "MCP_CONFIRM_ELICITATION=<your MCP_CONFIRM_ELICITATION>" -e "MCP_CONFIRM_TTL_SECONDS=<your MCP_CONFIRM_TTL_SECONDS>" -e "MCP_CONFIRM_SECRET=<your MCP_CONFIRM_SECRET>" -- npx -y @chrischall/microsoft-teams-mcpReplace each placeholder with your own value before saving.
[mcp_servers.microsoft-teams-mcp]
command = "npx"
args = ["-y", "@chrischall/microsoft-teams-mcp"]
[mcp_servers.microsoft-teams-mcp.env]
TEAMS_WS_PORT = "<your TEAMS_WS_PORT>"
FETCHPROXY_WS_HOST = "<your FETCHPROXY_WS_HOST>"
FETCHPROXY_IDENTITY_DIR = "<your FETCHPROXY_IDENTITY_DIR>"
TEAMS_ACCESS_TOKEN = "<your TEAMS_ACCESS_TOKEN>"
TEAMS_DISABLE_FETCHPROXY = "<your TEAMS_DISABLE_FETCHPROXY>"
TEAMS_CHATSVC_REGION = "<your TEAMS_CHATSVC_REGION>"
TEAMS_CHATSVC_BASE = "<your TEAMS_CHATSVC_BASE>"
TEAMS_CAPTURE_TIMEOUT = "<your TEAMS_CAPTURE_TIMEOUT>"
TEAMS_TOKEN_CACHE = "<your TEAMS_TOKEN_CACHE>"
TEAMS_TOKEN_FILE = "<your TEAMS_TOKEN_FILE>"
TEAMS_SUBSTRATE_TOKEN_FILE = "<your TEAMS_SUBSTRATE_TOKEN_FILE>"
TEAMS_SHAREPOINT_TOKEN_FILE = "<your TEAMS_SHAREPOINT_TOKEN_FILE>"
TEAMS_TIME_ZONE = "<your TEAMS_TIME_ZONE>"
TEAMS_OUTPUT_DIR = "<your TEAMS_OUTPUT_DIR>"
MCP_CONFIRM_MODE = "<your MCP_CONFIRM_MODE>"
MCP_CONFIRM_ELICITATION = "<your MCP_CONFIRM_ELICITATION>"
MCP_CONFIRM_TTL_SECONDS = "<your MCP_CONFIRM_TTL_SECONDS>"
MCP_CONFIRM_SECRET = "<your MCP_CONFIRM_SECRET>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"microsoft-teams-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/microsoft-teams-mcp"
],
"env": {
"TEAMS_WS_PORT": "<your TEAMS_WS_PORT>",
"FETCHPROXY_WS_HOST": "<your FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<your FETCHPROXY_IDENTITY_DIR>",
"TEAMS_ACCESS_TOKEN": "<your TEAMS_ACCESS_TOKEN>",
"TEAMS_DISABLE_FETCHPROXY": "<your TEAMS_DISABLE_FETCHPROXY>",
"TEAMS_CHATSVC_REGION": "<your TEAMS_CHATSVC_REGION>",
"TEAMS_CHATSVC_BASE": "<your TEAMS_CHATSVC_BASE>",
"TEAMS_CAPTURE_TIMEOUT": "<your TEAMS_CAPTURE_TIMEOUT>",
"TEAMS_TOKEN_CACHE": "<your TEAMS_TOKEN_CACHE>",
"TEAMS_TOKEN_FILE": "<your TEAMS_TOKEN_FILE>",
"TEAMS_SUBSTRATE_TOKEN_FILE": "<your TEAMS_SUBSTRATE_TOKEN_FILE>",
"TEAMS_SHAREPOINT_TOKEN_FILE": "<your TEAMS_SHAREPOINT_TOKEN_FILE>",
"TEAMS_TIME_ZONE": "<your TEAMS_TIME_ZONE>",
"TEAMS_OUTPUT_DIR": "<your TEAMS_OUTPUT_DIR>",
"MCP_CONFIRM_MODE": "<your MCP_CONFIRM_MODE>",
"MCP_CONFIRM_ELICITATION": "<your MCP_CONFIRM_ELICITATION>",
"MCP_CONFIRM_TTL_SECONDS": "<your MCP_CONFIRM_TTL_SECONDS>",
"MCP_CONFIRM_SECRET": "<your MCP_CONFIRM_SECRET>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"microsoft-teams-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/microsoft-teams-mcp"
],
"env": {
"TEAMS_WS_PORT": "<your TEAMS_WS_PORT>",
"FETCHPROXY_WS_HOST": "<your FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<your FETCHPROXY_IDENTITY_DIR>",
"TEAMS_ACCESS_TOKEN": "<your TEAMS_ACCESS_TOKEN>",
"TEAMS_DISABLE_FETCHPROXY": "<your TEAMS_DISABLE_FETCHPROXY>",
"TEAMS_CHATSVC_REGION": "<your TEAMS_CHATSVC_REGION>",
"TEAMS_CHATSVC_BASE": "<your TEAMS_CHATSVC_BASE>",
"TEAMS_CAPTURE_TIMEOUT": "<your TEAMS_CAPTURE_TIMEOUT>",
"TEAMS_TOKEN_CACHE": "<your TEAMS_TOKEN_CACHE>",
"TEAMS_TOKEN_FILE": "<your TEAMS_TOKEN_FILE>",
"TEAMS_SUBSTRATE_TOKEN_FILE": "<your TEAMS_SUBSTRATE_TOKEN_FILE>",
"TEAMS_SHAREPOINT_TOKEN_FILE": "<your TEAMS_SHAREPOINT_TOKEN_FILE>",
"TEAMS_TIME_ZONE": "<your TEAMS_TIME_ZONE>",
"TEAMS_OUTPUT_DIR": "<your TEAMS_OUTPUT_DIR>",
"MCP_CONFIRM_MODE": "<your MCP_CONFIRM_MODE>",
"MCP_CONFIRM_ELICITATION": "<your MCP_CONFIRM_ELICITATION>",
"MCP_CONFIRM_TTL_SECONDS": "<your MCP_CONFIRM_TTL_SECONDS>",
"MCP_CONFIRM_SECRET": "<your MCP_CONFIRM_SECRET>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"microsoft-teams-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@chrischall/microsoft-teams-mcp"
],
"env": {
"TEAMS_WS_PORT": "<your TEAMS_WS_PORT>",
"FETCHPROXY_WS_HOST": "<your FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<your FETCHPROXY_IDENTITY_DIR>",
"TEAMS_ACCESS_TOKEN": "<your TEAMS_ACCESS_TOKEN>",
"TEAMS_DISABLE_FETCHPROXY": "<your TEAMS_DISABLE_FETCHPROXY>",
"TEAMS_CHATSVC_REGION": "<your TEAMS_CHATSVC_REGION>",
"TEAMS_CHATSVC_BASE": "<your TEAMS_CHATSVC_BASE>",
"TEAMS_CAPTURE_TIMEOUT": "<your TEAMS_CAPTURE_TIMEOUT>",
"TEAMS_TOKEN_CACHE": "<your TEAMS_TOKEN_CACHE>",
"TEAMS_TOKEN_FILE": "<your TEAMS_TOKEN_FILE>",
"TEAMS_SUBSTRATE_TOKEN_FILE": "<your TEAMS_SUBSTRATE_TOKEN_FILE>",
"TEAMS_SHAREPOINT_TOKEN_FILE": "<your TEAMS_SHAREPOINT_TOKEN_FILE>",
"TEAMS_TIME_ZONE": "<your TEAMS_TIME_ZONE>",
"TEAMS_OUTPUT_DIR": "<your TEAMS_OUTPUT_DIR>",
"MCP_CONFIRM_MODE": "<your MCP_CONFIRM_MODE>",
"MCP_CONFIRM_ELICITATION": "<your MCP_CONFIRM_ELICITATION>",
"MCP_CONFIRM_TTL_SECONDS": "<your MCP_CONFIRM_TTL_SECONDS>",
"MCP_CONFIRM_SECRET": "<your MCP_CONFIRM_SECRET>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"microsoft-teams-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/microsoft-teams-mcp"
],
"env": {
"TEAMS_WS_PORT": "<your TEAMS_WS_PORT>",
"FETCHPROXY_WS_HOST": "<your FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<your FETCHPROXY_IDENTITY_DIR>",
"TEAMS_ACCESS_TOKEN": "<your TEAMS_ACCESS_TOKEN>",
"TEAMS_DISABLE_FETCHPROXY": "<your TEAMS_DISABLE_FETCHPROXY>",
"TEAMS_CHATSVC_REGION": "<your TEAMS_CHATSVC_REGION>",
"TEAMS_CHATSVC_BASE": "<your TEAMS_CHATSVC_BASE>",
"TEAMS_CAPTURE_TIMEOUT": "<your TEAMS_CAPTURE_TIMEOUT>",
"TEAMS_TOKEN_CACHE": "<your TEAMS_TOKEN_CACHE>",
"TEAMS_TOKEN_FILE": "<your TEAMS_TOKEN_FILE>",
"TEAMS_SUBSTRATE_TOKEN_FILE": "<your TEAMS_SUBSTRATE_TOKEN_FILE>",
"TEAMS_SHAREPOINT_TOKEN_FILE": "<your TEAMS_SHAREPOINT_TOKEN_FILE>",
"TEAMS_TIME_ZONE": "<your TEAMS_TIME_ZONE>",
"TEAMS_OUTPUT_DIR": "<your TEAMS_OUTPUT_DIR>",
"MCP_CONFIRM_MODE": "<your MCP_CONFIRM_MODE>",
"MCP_CONFIRM_ELICITATION": "<your MCP_CONFIRM_ELICITATION>",
"MCP_CONFIRM_TTL_SECONDS": "<your MCP_CONFIRM_TTL_SECONDS>",
"MCP_CONFIRM_SECRET": "<your MCP_CONFIRM_SECRET>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"microsoft-teams-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/microsoft-teams-mcp"
],
"env": {
"TEAMS_WS_PORT": "<your TEAMS_WS_PORT>",
"FETCHPROXY_WS_HOST": "<your FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<your FETCHPROXY_IDENTITY_DIR>",
"TEAMS_ACCESS_TOKEN": "<your TEAMS_ACCESS_TOKEN>",
"TEAMS_DISABLE_FETCHPROXY": "<your TEAMS_DISABLE_FETCHPROXY>",
"TEAMS_CHATSVC_REGION": "<your TEAMS_CHATSVC_REGION>",
"TEAMS_CHATSVC_BASE": "<your TEAMS_CHATSVC_BASE>",
"TEAMS_CAPTURE_TIMEOUT": "<your TEAMS_CAPTURE_TIMEOUT>",
"TEAMS_TOKEN_CACHE": "<your TEAMS_TOKEN_CACHE>",
"TEAMS_TOKEN_FILE": "<your TEAMS_TOKEN_FILE>",
"TEAMS_SUBSTRATE_TOKEN_FILE": "<your TEAMS_SUBSTRATE_TOKEN_FILE>",
"TEAMS_SHAREPOINT_TOKEN_FILE": "<your TEAMS_SHAREPOINT_TOKEN_FILE>",
"TEAMS_TIME_ZONE": "<your TEAMS_TIME_ZONE>",
"TEAMS_OUTPUT_DIR": "<your TEAMS_OUTPUT_DIR>",
"MCP_CONFIRM_MODE": "<your MCP_CONFIRM_MODE>",
"MCP_CONFIRM_ELICITATION": "<your MCP_CONFIRM_ELICITATION>",
"MCP_CONFIRM_TTL_SECONDS": "<your MCP_CONFIRM_TTL_SECONDS>",
"MCP_CONFIRM_SECRET": "<your MCP_CONFIRM_SECRET>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
When to choose another server
- OurFamilyWizard MCP#1,317
- skylight-mcp#1,502
- infinitecampus-mcp#2,748
- redfin-mcp#2,921
- zola-mcp#3,062
- resy-mcp#3,282
- booli-mcp#3,714
- honeybook-mcp#3,885
- gemini-mcp#4,055
- Credit Karma MCP#4,070
- opentable-mcp#4,112
- zillow-mcp#4,220
No task-specific alternatives are catalogued for Microsoft Teams MCP Serveryet; the list above is its publisher's other servers.
What changed, and when this was checked
- First listed
- Sep 21, 2026
- Latest version published
- Oct 20, 2026
- Version history
- 17 versions tracked (below)
- Requirements evidence
- Declared by the Official MCP Registry, last synced Oct 31, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Oct 20, 2026
- Official MCP ↗listed since Sep 22, 2026 · still listed
Do you maintain Microsoft Teams MCP Server? to correct or enrich this profile.
Available versions (17)
| Version | Published |
|---|---|
| 0.7.0 | Oct 20, 2026 |
| 0.6.2 | Oct 17, 2026 |
| 0.6.1 | Oct 16, 2026 |
| 0.6.0 | Oct 14, 2026 |
| 0.5.1 | Oct 12, 2026 |
| 0.5.0 | Oct 12, 2026 |
| 0.4.0 | Oct 11, 2026 |
| 0.3.0 | Oct 9, 2026 |
| 0.2.7 | Oct 7, 2026 |
| 0.2.6 | Oct 5, 2026 |
| 0.2.5 | Oct 3, 2026 |
| 0.2.4 | Sep 28, 2026 |
| 0.2.3 | Sep 25, 2026 |
| 0.2.2 | Sep 23, 2026 |
| 0.2.1 | Sep 23, 2026 |
| 0.2.0 | Sep 21, 2026 |
| 0.1.0 | Sep 21, 2026 |
Ranks ahead of 158,004 of 164,500 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.chrischall%2Fmicrosoft-teams-mcp)<a href="https://mcptoplist.com/server/io.github.chrischall%2Fmicrosoft-teams-mcp"><img src="https://mcptoplist.com/badge/io.github.chrischall%2Fmicrosoft-teams-mcp.svg" alt="MCP Toplist: Top 5% of 164,500" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains Microsoft Teams MCP Server?
- Microsoft Teams MCP Server is maintained by chrischall, which publishes 80 MCP servers (2259 total versions) tracked on MCP Toplist.
- Is Microsoft Teams MCP Server listed on the Official MCP Registry?
- Yes — Microsoft Teams MCP Server is listed on the Official MCP Registry.
- How many versions does Microsoft Teams MCP Server have?
- MCP Toplist tracks 17 versions of Microsoft Teams MCP Server, most recently published on Oct 20, 2026.
- Where can I find the source code for Microsoft Teams MCP Server?
- The source code for Microsoft Teams MCP Server is hosted at github.com/chrischall/microsoft-teams-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.