Microsoft 365 Teams runs on your own machine — the client starts it, so there is no endpoint to ping. 78 installs a week from npm. Last commit 2 Nov 2026.
Microsoft 365 Teams via Graph: list chats, read/send messages, list teams/channels, presence.
We read the source, 22 h ago · rules 995398eba69f
A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.
fs.writeFileSync(outFd, pdfBuffer);
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add mcp-server-microsoft-teams -e 'MS_CLIENT_ID=<MS_CLIENT_ID>' -e 'MS_CONFIG_DIR=<MS_CONFIG_DIR>' -- npx -y @mindstone/mcp-server-microsoft-teams
{
"mcpServers": {
"mcp-server-microsoft-teams": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-teams"
],
"env": {
"MS_CLIENT_ID": "<MS_CLIENT_ID>",
"MS_CONFIG_DIR": "<MS_CONFIG_DIR>"
}
}
}
}
[mcp_servers.mcp-server-microsoft-teams]
command = "npx"
args = ["-y", "@mindstone/mcp-server-microsoft-teams"]
env = { MS_CLIENT_ID = "<MS_CLIENT_ID>", MS_CONFIG_DIR = "<MS_CONFIG_DIR>" }
{
"mcpServers": {
"mcp-server-microsoft-teams": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-teams"
],
"env": {
"MS_CLIENT_ID": "<MS_CLIENT_ID>",
"MS_CONFIG_DIR": "<MS_CONFIG_DIR>"
}
}
}
}
{
"servers": {
"mcp-server-microsoft-teams": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-teams"
],
"env": {
"MS_CLIENT_ID": "<MS_CLIENT_ID>",
"MS_CONFIG_DIR": "<MS_CONFIG_DIR>"
}
}
}
}
Put your own values in place of
<MS_CLIENT_ID> (Microsoft Entra (Azure AD) application client ID), <MS_CONFIG_DIR> (Path to the per-user Microsoft config directory (credentials/, accounts.json)).
The author’s registry entry marks them as required.
Optional settings from the registry entry, left out of the block above:
MS_ACCOUNT_EMAIL (Account email when running in multi-account per-instance mode (falls back to the first account in accounts.json)), MS_MCP_PACKAGE_ID (Logical package ID surfaced in error responses), MICROSOFT_REQUEST_TIMEOUT_MS (Override the upstream Microsoft Graph request timeout in milliseconds (max 300000 = 5 min)).
Connect Claude to Microsoft Teams — read/send messages, list channels, search chats.
Read Microsoft Teams teams, channels, chats and messages, and post/reply/send, safe by default.
Microsoft Teams for Claude — read any chat or channel and its unread messages; send and react
AI-native Microsoft Teams integration — read chats, send messages, search people
Microsoft 365 via Graph — mail, calendar, contacts, files, Teams, Planner, OneNote, To Do.
Microsoft 365 Outlook calendar via Graph: list, get, create, update, respond, free/busy.
Microsoft 365 Outlook mail via Graph: read, search, send, reply, forward, draft, move, delete.
Telegram MCP server: read, send, and search messages and manage chats via your account.
Answers built from our own checks of this server.