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.
An MCP (Model Context Protocol) server implementation for Microsoft Teams integration, providing capabilities to read messages, create messages, reply to messages, mention members.
MCP-Teams-Server-Showcase.mp4
- 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
- uv package manager
- Python 3.12
- Microsoft Teams account with proper set-up
- Clone the repository:
git clone https://github.com/InditexTech/mcp-teams-server
cd mcp-teams-server- Create a virtual environment and install dependencies:
uv venv uv sync --frozen --all-extras --dev
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.
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_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
The default MCP transport is stdio. You can also use streamable-http for HTTP deployments:
uv run mcp-teams-server --transport streamable-http
The legacy sse transport is still available for older clients.
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
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
A docker image is available to run MCP server. You can build it with the following command:
docker build . -t inditextech/mcp-teams-serverBasic 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
Run with Streamable HTTP transport:
docker run --env-file .env -p 8000:8000 -it inditextech/mcp-teams-server --transport streamable-http
Please follow instructions on the following document
See CHANGELOG.md for a list of changes and version history.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
For security concerns, please see our Security Policy.
This project is licensed under the Apache-2.0 file for details.
© 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
Features
Rate this server
Related MCP servers
- awesome-remote-mcp-serversA curated, opinionated list of high-quality remote Model Context Protocol (MCP) servers.
- template-mcp-serverTemplate to quickly set up your own MCP server
- mcp-routerMCP Router enables easily manage your MCP (Model Context Protocol) servers with enhanced security
- easy-mcpAbsurdly easy Model Context Protocol Servers in Typescript
- fastmcpA TypeScript framework for building MCP servers.
- youtube-mcp-serverMCP Server for YouTube API, enabling video management, Shorts creation, and advanced analytics