trackmcp
Back to directory
InditexTech

mcp-teams-server

View on GitHub

An MCP (Model Context Protocol) server implementation for Microsoft Teams integration, providing capabilities to read messages, create messages, reply to mes...

329 stars PythonAI & Machine Learning Updated Oct 31, 2025
inditexmcpmcp-servermsteams

Documentation

Bugs
Maintainability Rating
Reliability Rating
GitHub License
GitHub Release
Scorecard

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

Installation

1. Clone the repository:

bash
git clone https://github.com/InditexTech/mcp-teams-server
cd mcp-teams-server

2. Create a virtual environment and install dependencies:

bash
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:

KeyDescription
TEAMS_APP_IDUUID for your MS Entra ID application ID
TEAMS_APP_PASSWORDClient secret
TEAMS_APP_TENANT_IDTenant uuid in case of SingleTenant
TEAM_IDMS Teams Group Id or Team Id
TEAMS_CHANNEL_IDMS Teams Channel ID with url escaped chars

Start the server:

bash
uv run mcp-teams-server

The default MCP transport is `stdio`. You can also use `streamable-http` for HTTP deployments:

bash
uv run mcp-teams-server --transport streamable-http

The legacy `sse` transport is still available for older clients.

Development

Integration tests require the set-up the following environment variables:

KeyDescription
TEST_THREAD_IDtimestamp of the thread id
TEST_MESSAGE_IDtimestamp of the message id
TEST_USER_NAMEtest user name
bash
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

commandline
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:

bash
docker build . -t inditextech/mcp-teams-server

Run docker image

Basic run configuration:

bash
docker run -it inditextech/mcp-teams-server

Run with environment variables from .env file:

bash
docker run --env-file .env -it inditextech/mcp-teams-server

Run with Streamable HTTP transport:

bash
docker run --env-file .env -p 8000:8000 -it inditextech/mcp-teams-server --transport streamable-http

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.)

Frequently asked questions

What is mcp-teams-server?

mcp-teams-server is An MCP (Model Context Protocol) server implementation for Microsoft Teams integration, providing capabilities to read messages, create messages, reply to mes...

How do I install mcp-teams-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-teams-server open source?

Yes, it is hosted on GitHub at https://github.com/InditexTech/mcp-teams-server and has 329 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP