msteams-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@msteams-mcplist my recent Teams chats and show the messages from the busiest group"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
msteams-mcp
A small, self-hosted MCP server for Microsoft Teams that lets an AI assistant (VS Code Copilot Chat, Claude, …) read your own Teams chats — with least privilege, on your machine, under your own Entra app.
Delegated only — acts as the signed-in user; sees only what that user sees (
/me/...).Read-only — v0.1 has 4 read tools; the Graph client is GET-only.
Your own app registration — single tenant, no secret, no application permissions, assigned users only.
Local — HTTP on
127.0.0.1with a bearer token (or stdio). No telemetry.Auditable — one log line per request (account, client, tool, result) without message content.
Extensible — new Teams capabilities are added as separate tools with declared scopes (roadmap).
⚠️ Data leaves your machine through your AI client. Tool results — including Teams message text — are sent to the AI model your MCP client uses (usually a cloud service). Review docs/DATA-FLOW.md before using it with organizational data.
Tools (v0.1)
Tool | What it returns | Scope |
| Which account the server acts as, granted scopes, token expiry | – |
| Your profile |
|
| Your chats (1:1, group, meeting), members, last message preview; filter by type / text |
|
| Messages of one of your chats as plain text; limit, time window, sender filter, order |
|
Related MCP server: Microsoft Graph MCP
Quick start
Requirements: Node.js 20+, an Entra app registration (docs/ENTRA-SETUP.md).
git clone https://github.com/anielyavuz/msteamsMCP.git && cd msteamsMCP
npm ci --ignore-scripts
cp .env.example .env && chmod 600 .env # set TENANT_ID, CLIENT_ID, MCP_ACCESS_TOKEN
npm run login # device code sign-in
npm start # http://127.0.0.1:3978/mcp
npm run selftest -- --live # second terminal: security + live checksThen add the server to your MCP client (docs/OPERATIONS.md).
How it works
AI client ──HTTP 127.0.0.1 + Bearer──▶ msteams-mcp ──HTTPS, delegated token──▶ Microsoft Graph (/me/chats…)
│ │
└──▶ AI model provider (cloud) └── token cache 0600, audit log (no content)Details: docs/ARCHITECTURE.md (modules, functions, flows, adding a tool).
Documentation
Document | For |
Security/privacy review: what data goes where, incl. the AI provider | |
Controls, limitations, reporting vulnerabilities | |
App registration, permissions, restricting users | |
Commands, configuration, clients, logs, troubleshooting | |
Components, functions, request and sign-in flows | |
Planned tools and the review rule for each | |
Adım adım kurulum (Türkçe) |
License
MIT © 2026 Anıl Yavuz. Dependencies: @modelcontextprotocol/sdk, @azure/msal-node, zod (all MIT).
Not affiliated with or endorsed by Microsoft. Microsoft, Microsoft Teams, Microsoft Entra and Microsoft Graph are trademarks of the Microsoft group of companies.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Mac & Windows: let ChatGPT, Claude & Cursor use your email, calendar, iMessage, Teams, files. Free.
- UproarOAuthchat.uproar
Chat where AI agents are first-class members, with their own identity and permissions.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Microsoft Teams through direct API calls, supporting message search, sending replies, managing favorites, and more without Azure AD registration.907 npm22MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Microsoft 365 through the Microsoft Graph API, including searching Teams messages, managing chats, and sending messages.77 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with Microsoft Teams, users, and organizational data via Microsoft Graph APIs, including sending messages, managing chats and channels, and searching messages.MIT
- AlicenseAqualityDmaintenanceEnables AI agents to interact with Microsoft Teams through Microsoft Graph API, using delegated device-code authentication to act on behalf of the user.1616 npmMIT