mcpbeat Sign in

Microsoft 365 Teams MCP Server

local only

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.

Installs per day peak 38 · avg 10 · +81% w/w
a month agotoday
78
Installs / week
npm · @mindstone/mcp-server-microsoft-teams
14
Stars
2 open issues
2 Nov 2026
Last commit
2 releases in 90 days
—
License
TypeScript

What the code does

We read the source, 22 h ago · rules 995398eba69f

A tool parameter reaches a dangerous call

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.

A tool parameter reaches a file or shell call replace_workspace_document.document_id → connectors/pandadoc/src/tools/documents.ts:891
          fs.writeFileSync(outFd, pdfBuffer);

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

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.

Three servers free · no card

Connect this server

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.

run in your terminal
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
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "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>"
      }
    }
  }
}
~/.codex/config.toml
[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>" }
.cursor/mcp.json
{
  "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>"
      }
    }
  }
}
.vscode/mcp.json
{
  "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)).

Alternatives to Microsoft 365 Teams

same job, measured the same way
Microsoft Teams
by surgeenterpriseai

Connect Claude to Microsoft Teams — read/send messages, list channels, search chats.

56 installs/wk local only
MCP Teams
by dockndevai

Read Microsoft Teams teams, channels, chats and messages, and post/reply/send, safe by default.

62 installs/wk local only
Microsoft Teams MCP
by chrischall

Microsoft Teams for Claude — read any chat or channel and its unread messages; send and react

291 installs/wk local only
Microsoft Teams API
by maxim-mazurok

AI-native Microsoft Teams integration — read chats, send messages, search people

848 installs/wk local only
Microsoft365 MCP Server
by sapientsai

Microsoft 365 via Graph — mail, calendar, contacts, files, Teams, Planner, OneNote, To Do.

1 037 installs/wk local only
Microsoft 365 Calendar
by mindstone

Microsoft 365 Outlook calendar via Graph: list, get, create, update, respond, free/busy.

69 installs/wk local only
Microsoft 365 Mail
by mindstone

Microsoft 365 Outlook mail via Graph: read, search, send, reply, forward, draft, move, delete.

63 installs/wk local only
Telegram MCP
by jgalea

Telegram MCP server: read, send, and search messages and manage chats via your account.

126 installs/wk local only

Microsoft 365 Teams — questions

Answers built from our own checks of this server.

Why is there no uptime for Microsoft 365 Teams?
Microsoft 365 Teams runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @mindstone/mcp-server-microsoft-teams was installed 78 times last week.
How do I connect Microsoft 365 Teams?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @mindstone/mcp-server-microsoft-teams straight from npm; nothing to host, nothing to sign up for.
How many people use Microsoft 365 Teams?
The npm package @mindstone/mcp-server-microsoft-teams was installed 78 times in the last week. Week over week that is +81%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Microsoft 365 Teams open source?
We cannot say either way: written in TypeScript, 14 stars on GitHub and 2 open issues, but we could not determine the licence, and without one the code is not open source by default.