Microsoft Teams API MCP Server
by maxim-mazurokio.github.Maxim-Mazurok/teams-apiv1.7.1
AI-native Microsoft Teams integration — read chats, send messages, search people
context tax
queued
security
queued
cold start
queued
freshness
Active8d ago
Install Microsoft Teams API MCP server
Install in Claude Code
claude mcp add teams-api -e TEAMS_TOKEN='<teams-token>' -e TEAMS_BEARER_TOKEN='<teams-bearer-token>' -e TEAMS_SUBSTRATE_TOKEN='<teams-substrate-token>' -e TEAMS_IMAGE_DESCRIPTION_API_KEY='<teams-image-description-api-key>' -- npx -y teams-api teams-api-mcpInstall in Cursor
{
"mcpServers": {
"teams-api": {
"command": "npx",
"args": [
"-y",
"teams-api",
"teams-api-mcp"
],
"env": {
"TEAMS_TOKEN": "<teams-token>",
"TEAMS_BEARER_TOKEN": "<teams-bearer-token>",
"TEAMS_SUBSTRATE_TOKEN": "<teams-substrate-token>",
"TEAMS_IMAGE_DESCRIPTION_API_KEY": "<teams-image-description-api-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"teams-api": {
"command": "npx",
"args": [
"-y",
"teams-api",
"teams-api-mcp"
],
"env": {
"TEAMS_TOKEN": "<teams-token>",
"TEAMS_BEARER_TOKEN": "<teams-bearer-token>",
"TEAMS_SUBSTRATE_TOKEN": "<teams-substrate-token>",
"TEAMS_IMAGE_DESCRIPTION_API_KEY": "<teams-image-description-api-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"teams-api": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"teams-api",
"teams-api-mcp"
],
"env": {
"TEAMS_TOKEN": "<teams-token>",
"TEAMS_BEARER_TOKEN": "<teams-bearer-token>",
"TEAMS_SUBSTRATE_TOKEN": "<teams-substrate-token>",
"TEAMS_IMAGE_DESCRIPTION_API_KEY": "<teams-image-description-api-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"teams-api": {
"command": "npx",
"args": [
"-y",
"teams-api",
"teams-api-mcp"
],
"env": {
"TEAMS_TOKEN": "<teams-token>",
"TEAMS_BEARER_TOKEN": "<teams-bearer-token>",
"TEAMS_SUBSTRATE_TOKEN": "<teams-substrate-token>",
"TEAMS_IMAGE_DESCRIPTION_API_KEY": "<teams-image-description-api-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| TEAMS_EMAIL | — | — | Corporate email address for Teams authentication |
| TEAMS_AUTO | — | — | Set to "true" to use auto-login (macOS + FIDO2) |
| TEAMS_LOGIN | — | — | Set to "true" to use interactive browser login (all platforms) |
| TEAMS_TOKEN | — | yes | Pre-existing Skype token for direct authentication |
| TEAMS_REGION | — | — | API region (required with TEAMS_TOKEN, auto-detected otherwise) |
| TEAMS_BEARER_TOKEN | — | yes | Middle-tier bearer token for profile resolution |
| TEAMS_SUBSTRATE_TOKEN | — | yes | Substrate bearer token for people/chat search |
| TEAMS_DEBUG | — | — | Set to "true" to use Chrome debug session for token capture |
| TEAMS_TELEMETRY | — | — | Set to "true" to enable full debug telemetry logging (contributor use; logs all inputs and outputs locally) |
| TEAMS_TELEMETRY_PATH | — | — | Override the telemetry output file path (default: platform-appropriate ~/Library/... or ~/.local/share/...) |
| TEAMS_IMAGE_DESCRIPTION_API_KEY | — | yes | API key for the OpenAI-compatible vision endpoint used by teams_describe_image |
| TEAMS_IMAGE_DESCRIPTION_MODEL | — | — | Model name for teams_describe_image (defaults to gpt-4o-mini) |
| TEAMS_IMAGE_DESCRIPTION_BASE_URL | — | — | OpenAI-compatible base URL for teams_describe_image |
Freshness
Active — last maintenance signal 8d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-02 · 8d ago · GitHub
Latest release
2026-10-02 · 8d ago · GitHub · v1.9.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-02 · 38d ago · official registry · v1.7.1
FAQ
›How do I install the Microsoft Teams API MCP server in Claude Code?
Run: claude mcp add teams-api -e TEAMS_TOKEN='<teams-token>' -e TEAMS_BEARER_TOKEN='<teams-bearer-token>' -e TEAMS_SUBSTRATE_TOKEN='<teams-substrate-token>' -e TEAMS_IMAGE_DESCRIPTION_API_KEY='<teams-image-description-api-key>' -- npx -y teams-api teams-api-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Microsoft Teams API require an API key?
Yes. It expects TEAMS_TOKEN, TEAMS_BEARER_TOKEN, TEAMS_SUBSTRATE_TOKEN, TEAMS_IMAGE_DESCRIPTION_API_KEY, of which 4 are secrets.
›Can I use Microsoft Teams API as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Microsoft Teams API in the official MCP registry?
Yes, as io.github.Maxim-Mazurok/teams-api.
Alternatives to Microsoft Teams API
Other communication MCP servers.