mcpField
M
MCP Teams Server

MCP Teams Server

Local
github.com/InditexTechCommunication451Updated 1w ago

About MCP Teams Server

MCP Teams Server is an MCP service for Microsoft Teams that reads channel messages, starts and replies to threads, and mentions members. It is aimed at teams that want AI assistants to work with Teams conversations.

Key features

  1. 01Start channel threads with title and contents
  2. 02Reply to existing threads and mention users
  3. 03Read thread replies and channel messages
  4. 04List channel team members
  5. 05Supports stdio, streamable-http and sse transports

Use cases

  1. 01Having an AI assistant read Teams channel messages and summarize discussions
  2. 02Starting threads in a channel and notifying members through an AI assistant

MCP support

This project is an MCP server that exposes tools for reading messages, creating messages, replying to threads and mentioning members to MCP clients. It uses stdio by default and can also be deployed with streamable-http.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"teams-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TEAMS_APP_ID",
"-e",
"TEAMS_APP_PASSWORD",
"-e",
"TEAMS_APP_TYPE",
"-e",
"TEAMS_APP_TENANT_ID",
"-e",
"TEAM_ID",
"-e",
"TEAMS_CHANNEL_ID",
"-e",
"DOCKER_HOST",
"ghcr.io/inditextech/mcp-teams-server"
],
"env": {
"TEAMS_APP_ID": "<TEAMS_APP_ID>",
"TEAMS_APP_PASSWORD": "<TEAMS_APP_PASSWORD>",
"TEAMS_APP_TYPE": "<TEAMS_APP_TYPE>",
"TEAMS_APP_TENANT_ID": "<TEAMS_APP_TENANT_ID>",
"TEAM_ID": "<TEAM_ID>",
"TEAMS_CHANNEL_ID": "<TEAMS_CHANNEL_ID>",
"DOCKER_HOST": "<DOCKER_HOST>"
}
}
}
}
Run commanddocker run -i --rm -e TEAMS_APP_ID -e TEAMS_APP_PASSWORD -e TEAMS_APP_TYPE -e TEAMS_APP_TENANT_ID -e TEAM_ID -e TEAMS_CHANNEL_ID -e DOCKER_HOST ghcr.io/inditextech/mcp-teams-server
Environment variables to set
TEAMS_APP_ID
TEAMS_APP_PASSWORDSecret
TEAMS_APP_TYPE
TEAMS_APP_TENANT_ID
TEAM_ID
TEAMS_CHANNEL_ID
DOCKER_HOST

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/inditextech/mcp-teams-server

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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:
git clone https://github.com/InditexTech/mcp-teams-server
cd mcp-teams-server
  1. 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:

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:

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.

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

Run with Streamable HTTP transport:

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.