Back to MCP Servers
🧩

Microsoft Teams API MCP Server

API key required

AI-native Microsoft Teams integration — read chats, send messages, search people

To add Microsoft Teams API to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 14 environment variables, listed below.

SearchAIAPI

Install

npx -y teams-api@1.10.1

Environment variables

TEAMS_EMAILSet in your MCP config
TEAMS_AUTOSet in your MCP config
TEAMS_HEADLESSSet in your MCP config
TEAMS_LOGINSet in your MCP config
TEAMS_TOKENSet in your MCP config
TEAMS_REGIONSet in your MCP config
TEAMS_BEARER_TOKENSet in your MCP config
TEAMS_SUBSTRATE_TOKENSet in your MCP config
TEAMS_DEBUGSet in your MCP config
TEAMS_TELEMETRYSet in your MCP config
TEAMS_TELEMETRY_PATHSet in your MCP config
TEAMS_IMAGE_DESCRIPTION_API_KEYSet in your MCP config
TEAMS_IMAGE_DESCRIPTION_MODELSet in your MCP config
TEAMS_IMAGE_DESCRIPTION_BASE_URLSet in your MCP config

Install with your client

Terminal
claude mcp add microsoft-teams-api --env TEAMS_EMAIL=<YOUR_TEAMS_EMAIL> --env TEAMS_AUTO=<YOUR_TEAMS_AUTO> --env TEAMS_HEADLESS=<YOUR_TEAMS_HEADLESS> --env TEAMS_LOGIN=<YOUR_TEAMS_LOGIN> --env TEAMS_TOKEN=<YOUR_TEAMS_TOKEN> --env TEAMS_REGION=<YOUR_TEAMS_REGION> --env TEAMS_BEARER_TOKEN=<YOUR_TEAMS_BEARER_TOKEN> --env TEAMS_SUBSTRATE_TOKEN=<YOUR_TEAMS_SUBSTRATE_TOKEN> --env TEAMS_DEBUG=<YOUR_TEAMS_DEBUG> --env TEAMS_TELEMETRY=<YOUR_TEAMS_TELEMETRY> --env TEAMS_TELEMETRY_PATH=<YOUR_TEAMS_TELEMETRY_PATH> --env TEAMS_IMAGE_DESCRIPTION_API_KEY=<YOUR_TEAMS_IMAGE_DESCRIPTION_API_KEY> --env TEAMS_IMAGE_DESCRIPTION_MODEL=<YOUR_TEAMS_IMAGE_DESCRIPTION_MODEL> --env TEAMS_IMAGE_DESCRIPTION_BASE_URL=<YOUR_TEAMS_IMAGE_DESCRIPTION_BASE_URL> -- npx -y teams-api@1.10.1

Run this in a terminal to add the server to Claude Code.

What this does

Microsoft Teams API exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.

Requirements

This server needs the following environment variables to be set before it can run:

TEAMS_EMAIL
TEAMS_AUTO
TEAMS_HEADLESS
TEAMS_LOGIN
TEAMS_TOKEN
TEAMS_REGION
TEAMS_BEARER_TOKEN
TEAMS_SUBSTRATE_TOKEN
TEAMS_DEBUG
TEAMS_TELEMETRY
TEAMS_TELEMETRY_PATH
TEAMS_IMAGE_DESCRIPTION_API_KEY
TEAMS_IMAGE_DESCRIPTION_MODEL
TEAMS_IMAGE_DESCRIPTION_BASE_URL

Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).

Frequently asked questions

How do I install Microsoft Teams API?

Run the Claude Code command in the install section to add Microsoft Teams API to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.

Which clients work with Microsoft Teams API?

This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to Microsoft Teams API as well.

Does Microsoft Teams API need an API key?

Yes. Before it can run, set these environment variables: TEAMS_EMAIL, TEAMS_AUTO, TEAMS_HEADLESS, TEAMS_LOGIN, TEAMS_TOKEN, TEAMS_REGION, TEAMS_BEARER_TOKEN, TEAMS_SUBSTRATE_TOKEN, TEAMS_DEBUG, TEAMS_TELEMETRY, TEAMS_TELEMETRY_PATH, TEAMS_IMAGE_DESCRIPTION_API_KEY, TEAMS_IMAGE_DESCRIPTION_MODEL, TEAMS_IMAGE_DESCRIPTION_BASE_URL. They go in the env block of your MCP config.

Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.

Is this your MCP server?

Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.

Listed on clauderules.net

Add this badge to your README

Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.

Markdown
[![Listed on clauderules.net](https://clauderules.net/api/badge/io-github-maxim-mazurok-teams-api)](https://clauderules.net/mcp/io-github-maxim-mazurok-teams-api)
HTML
<a href="https://clauderules.net/mcp/io-github-maxim-mazurok-teams-api" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-maxim-mazurok-teams-api" alt="Listed on clauderules.net" /></a>