Microsoft Teams Notifications
About
Enables sending markdown-formatted notifications to Microsoft Teams channels using Azure AD authentication, specifically designed for development environment status updates and team communication.
Details
- Author
- therealjohn
- Repository
- therealjohn/microsoft-teams-mcp
- GitHub stars
- 2
- Categories
- Productivity, Design, Workplace, Developer Tools, Infrastructure, Communication, Cloud Service
- Tags
- #integration
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Microsoft Teams NotificationsCommand (node, npx, python, etc.)uvArguments-
Argument 1
--directory -
Argument 2
<path/to/the/project>/microsoft-teams-mcp -
Argument 3
run -
Argument 4
microsoft-teams-mcp
Environment-
EMAIL
<your-email-in-teams> -
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>
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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.
send-notification
Sends a notification message to Microsoft Teams. Takes 'message' and 'project' as required string arguments. Supports Markdown formatting for messages.
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
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"microsoft teams notifications": {
"env": {
"EMAIL": "<your-email-in-teams>",
"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>"
},
"args": [
"--directory",
"<path/to/the/project>/microsoft-teams-mcp",
"run",
"microsoft-teams-mcp"
],
"command": "uv"
}
}
}
Linux
{
"env": {
"EMAIL": "<your-email-in-teams>",
"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>"
},
"args": [
"--directory",
"<path/to/the/project>/microsoft-teams-mcp",
"run",
"microsoft-teams-mcp"
],
"command": "uv"
}
Macos
{
"env": {
"EMAIL": "<your-email-in-teams>",
"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>"
},
"args": [
"--directory",
"<path/to/the/project>/microsoft-teams-mcp",
"run",
"microsoft-teams-mcp"
],
"command": "uv"
}
Windows
{
"env": {
"EMAIL": "<your-email-in-teams>",
"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>"
},
"args": [
"--directory",
"<path/to/the/project>/microsoft-teams-mcp",
"run",
"microsoft-teams-mcp"
],
"command": "uv"
}
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
2. Build package distributions:
uv build
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


