Microsoft Teams MCP Server

by therealjohn

Integrations

  • Allows configuration through environment variables stored in a .env file in the project root directory

  • Supports Markdown formatting for notification messages sent to Microsoft Teams

microsoft-teams-mcp MCP server

An MCP Server with a tool for Microsoft Teams chat notifications.

Warning


This is provided for reference and wasn't tested with MCP clients other than VS Code.

Components

Tools

The server implements one tool:

  • send-notification: Sends a notification message to Microsoft Teams
    • Takes "message" and "project" as required string arguments
    • Supports Markdown formatting for messages
    • Uses Azure AD authentication to securely communicate with Teams

Configuration

This requires a Microsoft Teams bot to use for the notifications. You can use my example Notification Bot created with Teams Toolkit.

The server requires the following environment variables to be set:

  • BOT_ENDPOINT: The URL endpoint of your Microsoft Teams bot
  • MICROSOFT_APP_ID: Application (client) ID from Azure AD app registration
  • MICROSOFT_APP_PASSWORD: Client secret from Azure AD app registration
  • MICROSOFT_APP_TENANT_ID: Your Azure AD tenant ID
  • EMAIL: The email address for the user receiving notifications

You can set these in a .env file in the project root directory.

Quickstart

Install

VS Code

This was tested using MCP support in VS Code, which at the time of creating this was available only in VS Code Insiders.

Add this to the VS Code Insiders Settings (JSON)

"mcp": { "inputs": [], "servers": { "MicrosoftTeams": { "command": "uv", "args": [ "--directory", "<path/to/the/project>/microsoft-teams-mcp", "run", "microsoft-teams-mcp" ], "env": { "BOT_ENDPOINT": "<endpoint or dev tunnel URL of Teams bot>/api/notification", "MICROSOFT_APP_ID": "<microsoft-entra-client-id>", "MICROSOFT_APP_PASSWORD": "<microsoft-entra-client-secret>", "MICROSOFT_APP_TENANT_ID": "<microsoft-entra-tenant-id>", "EMAIL": "<your-email-in-teams>", } } } }

Development

Building

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

An MCP server that enables sending Markdown-formatted notifications to Microsoft Teams channels through a simple tool interface.

  1. Components
    1. Tools
  2. Configuration
    1. Quickstart
      1. Install
    2. Development
      1. Building

    Related MCP Servers

    • -
      security
      F
      license
      -
      quality
      An MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.
      Last updated -
      1
      16
      JavaScript
    • -
      security
      A
      license
      -
      quality
      MCP Server for send text/markdown message via dingding (aka dingtalk) group custom robot
      Last updated -
      22
      2
      TypeScript
      MIT License
    • A
      security
      A
      license
      A
      quality
      An MCP server that connects to the Teamwork API, providing a simplified interface for interacting with Teamwork projects and tasks.
      Last updated -
      35
      50
      4
      TypeScript
      MIT License
    • A
      security
      A
      license
      A
      quality
      MCP server that integrates Microsoft Teams messaging (read, post, mention, list members and threads)
      Last updated -
      6
      64
      Python
      Apache 2.0
      • Linux
      • Apple

    View all related MCP servers

    ID: 3oppj6rz8a