mcp-teams-server
by InditexTech·★ 373·Score 50
MCP server for Microsoft Teams integration with message handling, member mentions, and thread management.
Overview
This is a production-ready MCP server implementation for Microsoft Teams that provides comprehensive integration capabilities. It allows reading messages, creating new messages, replying to threads, and mentioning team members. The server uses Python and has clear documentation with installation guides for both direct execution and Docker deployment. It includes proper authentication setup through Microsoft Entra ID and supports both single and multi-tenant configurations.
Try asking AI
After installing, here are 5 things you can ask your AI assistant:
When to choose this
Choose this MCP server if you need to integrate Microsoft Teams into AI workflows or create agents that can interact with Teams conversations programmatically.
When NOT to choose this
Avoid if you need comprehensive Teams management capabilities beyond messaging (like meeting scheduling or file management) or if you prefer a solution with less Azure dependency.
Tools this server exposes
5 tools extracted from the READMEstart_threadStart a thread in a channel with title and contents, mentioning users
update_threadUpdate existing threads with message replies, mentioning users
read_thread_repliesRead replies from a thread
list_channel_membersList channel team members
read_channel_messagesRead channel messages
Note: Tool names inferred from the Features section of the README which describes the capabilities but doesn't provide explicit MCP tool names.
Comparable tools
Installation
Installation
Prerequisites
- Python 3.10
- uv package manager
- Microsoft Teams account with Azure setup
Installation Steps
- Clone the repository:
git clone [repository-url]
cd mcp-teams-server- Create virtual environment and install dependencies:
uv venv
uv sync --frozen --all-extras --dev- Set up environment variables using [sample.env](sample.env) as template:
export TEAMS_APP_ID="your-app-id"
export TEAMS_APP_PASSWORD="your-password"
export TEAMS_APP_TYPE="SingleTenant" # or "MultiTenant"
export TEAMS_APP_TENANT_ID="your-tenant-id"
export TEAM_ID="your-team-id"
export TEAMS_CHANNEL_ID="your-channel-id"- Start the server:
uv run mcp-teams-serverClaude Desktop Configuration
Add to Claude Desktop config.json:
{
"mcpServers": {
"teams": {
"command": "uv",
"args": ["run", "mcp-teams-server"],
"env": {
"TEAMS_APP_ID": "your-app-id",
"TEAMS_APP_PASSWORD": "your-password",
"TEAMS_APP_TYPE": "SingleTenant",
"TEAMS_APP_TENANT_ID": "your-tenant-id",
"TEAM_ID": "your-team-id",
"TEAMS_CHANNEL_ID": "your-channel-id"
}
}
}
}FAQ
- What Microsoft Teams permissions are required for this MCP server?
- The server requires Microsoft Graph API permissions for Teams, specifically ChannelMessage.Read.All, Chat.Read, and TeamMember.Read.All scopes to function properly.
- Can this MCP server work with personal Microsoft accounts?
- No, this server requires setup with Microsoft Entra ID (formerly Azure AD) applications and cannot work with personal Microsoft accounts without proper enterprise configuration.
On Hacker News
Recent discussion from the developer community.
- Story by bpedro · 2025-04-30
Compare mcp-teams-server with
Last updated · Auto-generated from public README + GitHub signals.