Skip to main content

An MCP server implementation for Microsoft Teams integration

Project description

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 [repository-url]
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:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_mcp_teams_server-1.0.6.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_mcp_teams_server-1.0.6-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_mcp_teams_server-1.0.6.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_mcp_teams_server-1.0.6.tar.gz
Algorithm Hash digest
SHA256 8ed715f072a3a8b6e1d77fa7d9206eb3d0ffbbbea3b8030b917edaf23fcece9f
MD5 beb9826627547e1db654b1cee33c32db
BLAKE2b-256 8739ac70ce28db850c33960dfeb2f3485394f8c1a3ec17b51b6a3cc646685fec

See more details on using hashes here.

File details

Details for the file iflow_mcp_mcp_teams_server-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_mcp_teams_server-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b0ba4997c7dde2f8419050326f04a624c943160e437292aa57a88708812c8f3d
MD5 fe727a7a3ac0c3e6dedd6005710de85e
BLAKE2b-256 f984c6887f4b6bb4a0ea973b57dfe84e7cdc23c09d07312ca5574b88322f879d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page