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-mcpsearch my messages for 'launch plan'"
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.
Microsoft Teams MCP Server
MCP server for Microsoft Teams — search, message, and manage chats with browser-session auth; no Teams app approval or Azure AD registration.
Clone the repo, build it, point your AI tool at dist/index.js. Talks to the same Teams APIs the web app uses (Substrate, chatsvc, CSA). Auth is your normal Teams browser login; access matches what your account can already do.
Prerequisites
Node.js 18+
Microsoft account with Teams access
Chrome (macOS/Linux) or Edge (Windows)
Related MCP server: Teams Messenger MCP App
Setup
git clone https://github.com/hickeroar/msteams-mcp.git
cd msteams-mcp
npm install
npm run buildRegister it as a local stdio MCP server in whatever AI tool you use (Cursor, Claude Desktop, Claude Code, Augment, Windsurf, etc.). The shape is always the same: run node with the absolute path to dist/index.js.
{
"mcpServers": {
"MS Teams": {
"command": "node",
"args": ["/absolute/path/to/msteams-mcp/dist/index.js"]
}
}
}Where that config lives depends on the client (examples):
Client | Typical config location |
Cursor |
|
Claude Desktop | Claude → Settings → Developer → Edit Config ( |
Claude Code | MCP settings / |
Augment | Augment MCP / tools settings (add a local stdio server) |
Exact UI labels vary; look for “MCP servers”, “Model Context Protocol”, or “custom tools”, then add a command + args (stdio) entry like above. Use an absolute path.
Restart or reload MCP/tools in that client after changing config or rebuilding.
First login
Ask the assistant (in Cursor, Claude, Augment, etc.) to call teams_login (soft {} first; use forceNew: true if the session is dead). A browser opens for Microsoft/SSO sign-in. Session files are saved under:
macOS/Linux:
~/.teams-mcp-server/Windows:
%APPDATA%\teams-mcp-server\
After that, tools use cached tokens. Tokens refresh automatically when possible; call teams_login again if auth fails.
After pulling code changes
npm install
npm run buildThen restart/reload the Teams MCP server in your AI client so it loads the new dist/.
Useful commands
npm run build # compile to dist/
npm run typecheck # tsc --noEmit
npm start # run compiled MCP server (stdio)
npm run cli # CLI with the same tools (no build required)
npm run cli -- status
npm run cli -- login
npm run cli -- find_channel --query "general"The CLI shares the same session as the MCP server and is handy for debugging outside any AI client.
Available tools
Search & discovery
Tool | Description |
| Search Teams messages with operators ( |
| Search emails in your mailbox |
| List recent conversations with last-message preview |
| Get a single message by ID (includes reactions) |
| Get messages from a conversation/thread; |
| Find channels by name (membership list; works without Substrate) |
| Activity feed (mentions, reactions, replies, notifications) |
Messaging
Tool | Description |
| Send a message (markdown); thread reply, subject, schedule, content type |
| Block until a new message arrives (capped ~110s) |
| Edit one of your own messages |
| Soft-delete one of your own messages |
People & contacts
Tool | Description |
| Current user profile |
| Search people by name or email |
| Frequently contacted people |
| Resolve MRI(s) to full profiles |
| Conversation ID for a 1:1 chat |
| Create a group chat (2+ others) |
Organisation
Tool | Description |
| Pinned/favourite conversations |
| Pin a conversation |
| Unpin a conversation |
| Bookmark a message |
| Remove bookmark |
| List saved messages |
| List followed threads |
| Unread counts (aggregate or per conversation) |
| Mark a conversation read up to a message |
| Channel tags for a team ( |
Reactions
Tool | Description |
| Search standard + custom org emojis |
| Add a reaction to a message |
| Remove a reaction |
Quick reactions without search: like, heart, laugh, surprised, sad, angry.
Calendar & meetings
Tool | Description |
| Calendar meetings (default: next 7 days) |
| Meeting transcript ( |
Files
Tool | Description |
| Files and links shared in a conversation |
Session
Tool | Description |
| Manual login (opens browser) |
| Auth / session status |
Channel reads usually work via teams_find_channel → teams_get_thread even when Substrate search (teams_search) is unavailable. Architecture notes: AGENTS.md. API details: docs/API-REFERENCE.md.
Limitations
Browser login required once (and again if the session fully expires)
Undocumented Microsoft APIs; they can change
Search is full-text only; use
teams_get_threadfor full thread contextEdit/delete only your own messages
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that bridges Microsoft Teams and MCP-compatible clients, enabling chat integration, message handling, and advanced search capabilities without REST API endpoints.1-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that bridges Microsoft Teams with MCP-compatible clients (LLMs, agentic frameworks, CLI), enabling chat integration, message search, and event streaming without traditional REST API endpoints.-
- AlicenseAqualityAmaintenanceA Model Context Protocol server that provides AI assistants with access to Microsoft Teams, enabling interaction with teams, channels, chats, and organizational data through Microsoft Graph APIs.191,292 npm143MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server enabling AI assistants to interact with Microsoft Teams, users, chats, and organizational data via Microsoft Graph APIs.1,292 npmMIT