Microsoft Teams MCP
Interact with Microsoft Teams to read, create, and reply to messages, and mention members.
MCP Teams Server
An MCP (Model Context Protocol) server implementation for Microsoft Teams integration, providing capabilities to read messages, create messages, reply to messages, mention members.
Features
https://github.com/user-attachments/assets/548a9768-1119-4a2d-bd5c-6b41069fc522
- Start thread in channel with title and contents, mentioning users
- Update existing threads with message replies, mentioning users
- Read thread replies
- List channel team members
- Read channel messages
Prerequisites
- uv package manager
- Python 3.10
- Microsoft Teams account with proper set-up
Installation
- Clone the repository:
git clone [repository-url]
cd mcp-teams-server
- Create a virtual environment and install dependencies:
uv venv
uv sync --frozen --all-extras --dev
Teams configuration
Please read this document to help you to configure Microsoft Teams and required Azure resources. It is not a step-by-step guide but can help you figure out what you will need.
Usage
Set up the following environment variables in your shell or in an .env file. You can use sample file as a template:
| Key | Description |
|---|---|
| TEAMS_APP_ID | UUID for your MS Entra ID application ID |
| TEAMS_APP_PASSWORD | Client secret |
| TEAMS_APP_TYPE | SingleTenant or MultiTenant |
| TEAMS_APP_TENANT_ID | Tenant uuid in case of SingleTenant |
| TEAM_ID | MS Teams Group Id or Team Id |
| TEAMS_CHANNEL_ID | MS Teams Channel ID with url escaped chars |
Start the server:
uv run mcp-teams-server
Development
Integration tests require the set-up the following environment variables:
| Key | Description |
|---|---|
| TEST_THREAD_ID | timestamp of the thread id |
| TEST_MESSAGE_ID | timestamp of the message id |
| TEST_USER_NAME | test user name |
uv run pytest -m integration
Pre-built docker image
There is a pre-built image hosted in ghcr.io. You can install this image by running the following command
docker pull ghcr.io/inditextech/mcp-teams-server:latest
Build docker image
A docker image is available to run MCP server. You can build it with the following command:
docker build . -t inditextech/mcp-teams-server
Run docker image
Basic run configuration:
docker run -it inditextech/mcp-teams-server
Run with environment variables from .env file:
docker run --env-file .env -it inditextech/mcp-teams-server
Setup LLM to use MCP Teams Server
Please follow instructions on the following document
Changelog
See CHANGELOG.md for a list of changes and version history.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
Security
For security concerns, please see our Security Policy.
License
This project is licensed under the Apache-2.0 file for details.
© 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
Serveurs connexes
Activitysmith
This MCP server exposes ActivitySmith notifications and live activity tools.
LnExchange MCP Node Service
A Node.js service for interacting with the LnExchange API for spot trading.
Gmail
Query live Gmail data using LLMs via CData's read-only MCP server.
mail-mcp
Most email MCP servers only read from IMAP. mail-mcp does everything: 30 tools for reading, searching, sending, replying, forwarding, and bulk operations across IMAP, SMTP, Microsoft Graph API, and Exchange Web Services. Multi-account, native OAuth2, built in Rust. Works with Gmail, Microsoft 365, Hotmail/Outlook.com, Zoho, and any standard IMAP/SMTP server.
Slack MCP Server
An MCP server for interacting with Slack workspaces using user tokens, without requiring bots or special permissions.
Telegram
Interact with the Telegram API to send and receive messages.
Discord Notification MCP Server
Sends notifications to Discord channels or users via a bot.
MCP Relay
A Discord relay server to send messages and prompts to a channel and receive responses.
agentsbase
Email infrastructure for AI agents — create mailboxes, send/receive emails, and auto-extract verification codes.
SourceGeek
Enable LinkedIn outreach and retrieving enriched Profile data