MSTeams — README.md
❯cat README.md
# MSTeams MCP
An MCP server for Microsoft Teams using the Microsoft Graph API. Enables AI clients to read, send, and manage Teams messages, channels, and conversations directly from Claude Code or any MCP-compatible client.
❯cat MSTeams/ARCHITECTURE.md
## How It Works
The MCP server authenticates to Microsoft Graph API using OAuth2 client credentials (Azure App Registration). It exposes MCP tools for listing teams, channels, and messages — and for sending messages to any channel or chat. Token refresh is handled transparently.
MCP Client (Claude) ──stdio──▶ MSTeams MCP Server
└── OAuth2 (Azure AAD)
└── MS Graph API v1.0
└── /teams
└── /channels
└── /chats/messages❯MSTeams --demo
## Screenshots
msteams-mcp — list channels
❯ list_channels team=Engineering ID NAME MEMBERS ───────────────────────────────────────────── chan_001 General 24 chan_002 Backend 12 chan_003 Frontend 9 chan_004 DevOps 7 chan_005 Random 24
msteams-mcp — read + send message
❯ list_messages channel=Backend limit=3 [10:01] Alex: PR #2841 is ready for review [10:04] Maria: On it! Checking now [10:09] CI Bot: All checks passed ✓ ❯ send_message channel=Backend text: "Merging PR #2841. Staging updated." ✓ Message sent
❯grep -n "## Features" MSTeams/README.md
## Features
- +Read and send Teams messages
- +Channel and conversation management
- +MS Graph API integration
- +Works with any MCP client
❯MSTeams --compare
## vs. The Field
| Feature | MSTeams MCP | Direct MS Graph API | Zapier Teams |
|---|---|---|---|
| MCP protocol native | ✓ | ✗ | ✗ |
| Read + write messages | ✓ | ✓ | partial |
| Claude Code integration | ✓ | ✗ | ✗ |
| Free / open source | ✓ | free | paid |
| Zero UI required | ✓ | ✗ | ✗ |
❯cd MSTeams && cat INSTALL.md
## Installation
1
Register an Azure App
portal.azure.com → Azure Active Directory → App registrations → New registration.
⚠ Add API permissions: Chat.Read, Chat.ReadWrite, ChannelMessage.Read.All, ChannelMessage.Send.
2
Install
No build step required.
npx -y @web4w3/install msteams
3
Set credentials
export AZURE_TENANT_ID=your-tenant-id export AZURE_CLIENT_ID=your-client-id export AZURE_CLIENT_SECRET=your-client-secret
4
Add to Claude config
{
"mcpServers": {
"msteams": {
"command": "npx",
"args": ["-y", "@web4w3/install", "msteams"],
"env": {
"AZURE_TENANT_ID": "your-tenant-id",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_CLIENT_SECRET": "your-client-secret"
}
}
}
}❯cat MSTeams/package.json | jq '.dependencies | keys'
## Tech Stack
Node.jsTypeScriptMS Graph APIMCP SDK