mcp-teams-server

MCP.Pizza Chef: InditexTech

The mcp-teams-server is an MCP server implementation designed to integrate Microsoft Teams with the Model Context Protocol. It enables real-time interaction with Teams by allowing reading of messages, creating new messages, replying to existing ones, and mentioning team members. This server facilitates seamless communication workflows within Teams through structured, model-driven context and actions, enhancing collaboration and automation capabilities.

Use This MCP server To

Read Microsoft Teams messages in real-time for context-aware workflows Create new messages in Teams channels via MCP-driven automation Reply to specific Teams messages programmatically using natural language Mention team members automatically in messages for targeted communication Integrate Teams conversations into AI-powered collaboration tools Automate notification and alert messages within Teams channels Extract and summarize Teams chat content for reporting or analysis

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

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

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

mcp-teams-server FAQ

How does mcp-teams-server authenticate with Microsoft Teams?
It uses Microsoft Graph API authentication mechanisms to securely access Teams data.
Can mcp-teams-server handle message threads and replies?
Yes, it supports reading and replying to messages within threads in Teams channels.
Is it possible to mention specific users in messages?
Yes, the server supports mentioning individual or multiple team members in messages.
What permissions are required for mcp-teams-server to operate?
It requires delegated or application permissions for reading and writing Teams messages via Microsoft Graph.
Can this server be used with multiple Teams tenants?
Yes, it can be configured to connect to multiple tenants with appropriate credentials.
Does mcp-teams-server support real-time message updates?
It supports polling or webhook-based updates depending on configuration for near real-time data.
How does mcp-teams-server integrate with LLM providers?
It exposes Teams data and actions as structured context for LLMs like OpenAI, Claude, and Gemini to interact with.
Is the server open source and actively maintained?
Yes, it is open source with badges indicating maintainability and reliability on GitHub.