Microsoft Teams API logo

Microsoft Teams API

Read, search, send, edit, and manage Microsoft Teams conversations, people, files, reactions, and meeting transcripts through MCP.

Install Microsoft Teams API

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "microsoft-teams-api": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "teams-api@latest",
        "teams-api-mcp"
      ],
      "env": {
        "TEAMS_LOGIN": "YOUR_VALUE_HERE",
        "TEAMS_AUTO": "YOUR_VALUE_HERE",
        "TEAMS_IMAGE_DESCRIPTION_API_KEY": "YOUR_VALUE_HERE",
        "OPENAI_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Microsoft Teams API MCP server connects AI agents to Microsoft Teams through the Teams Chat Service REST API. It can discover conversations and people, read and modify messages, manage reactions and members, download attachments, and retrieve meeting transcripts. Use it when an agent needs to monitor chats, communicate with coworkers, or participate in Teams workflows. Authentication supports interactive login, cached credentials, direct tokens, debug sessions, and macOS FIDO2 auto-login.

Use cases

  • Monitor conversations for updates
  • Search coworkers and start one-to-one chats
  • Send messages with files and images
  • Retrieve meeting transcripts and attachments

Key features

  • Conversation and people search
  • Message read and write operations
  • Reactions, members, and profile lookup
  • File and image handling
  • Meeting transcript retrieval
  • Interactive and cached authentication

Tools17

What Microsoft Teams API lets your agent do. Expand a tool for its parameters.

Verified live~6.1k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

13/15 checks healthy over the last 90d

What it can do

From the 17 tools this server returned when we ran it.

Can delete or modify data · 2Writes files · 1Makes network requests · 1Read-only tools · 14
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age221 days
Maintainers1

Observed 2026-10-26 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 1d ago via OSV.dev · teams-api@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars9Stargazers on the source repository.
npm downloads1.1kPackage downloads in the last 30 days.
Last commit13d agoMost recent push to the default branch.
Tools exposed17Callable tools this server registers over MCP.

How Microsoft Teams API works

What Microsoft Teams API does

Microsoft Teams API gives MCP-compatible agents access to Teams conversations and organizational people search. It covers one-to-one chats, group chats, meetings, channels, and their messages. Agents can locate conversations by topic, participant, or identifier, then read, send, edit, or delete messages.

The server also exposes profile lookup, conversation membership, the authenticated user's identity, message reactions, file downloads, and meeting transcript retrieval. Messages can include reactions, mentions, thread followers, and quoted-message references. Sending supports Markdown converted to rich HTML, image files, and document or media attachments.

How it works

The package runs as a Node.js MCP server through the teams-api-mcp command. A typical editor configuration launches it with npx, using the teams-api@latest package. MCP clients call named tools such as teams_list_conversations, teams_get_messages, and teams_send_message rather than using the CLI directly.

Most conversation operations accept one of three ways to identify a chat: a topic, a person's name for a one-to-one conversation, or a conversation ID. Channel replies additionally use the message ID of the post being replied to. One-to-one lookup can find an existing chat or create one when the person exists in the organization directory.

People and chat discovery use the Substrate search API when available. Authentication can be interactive, cached, based on a direct token, or handled through a debug session. macOS also supports FIDO2 auto-login; that mode is unavailable on Windows and Linux.

Setup and configuration

Node.js 18 or later is required. The server can be added through editor MCP configuration or launched with a command such as:

config.json
{
  "mcpServers": {
    "teams": {
      "command": "npx",
      "args": ["-y", "-p", "teams-api@latest", "teams-api-mcp"],
      "env": { "TEAMS_LOGIN": "true" }
    }
  }
}

TEAMS_LOGIN=true enables interactive authentication. TEAMS_AUTO can be used instead for unattended macOS authentication with a FIDO2 passkey. Credentials are cached in the macOS Keychain, Windows DPAPI or Credential Manager, and Linux secret storage. Image description requires an OpenAI-compatible vision service and either TEAMS_IMAGE_DESCRIPTION_API_KEY or OPENAI_API_KEY.

Tools and capabilities

  • List conversations and search by topic, chat member, or person.
  • Find or create one-to-one chats and retrieve Teams profiles.
  • Read messages, channel thread replies, reactions, mentions, and quoted references.
  • Send Markdown messages with inline images, file attachments, and image placeholders.
  • Edit or delete messages and add or remove standard Teams reactions.
  • List conversation members and identify the authenticated user.
  • Retrieve parsed meeting transcripts or raw VTT files.
  • Download message attachments, returning text and images inline when supported.
  • Describe inline Teams images through a configured vision model.

Limitations and notes

One-to-one chats do not have topics, so they must be resolved by person name or direct conversation ID. If profile resolution is unavailable, one-to-one members may have empty display names. Binary downloads such as PDFs, videos, and archives are saved to disk rather than returned inline. Substrate-powered people and chat search depends on successful interactive or automatic authentication. Image description requires a separately configured compatible vision API key.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Microsoft Teams API

Microsoft Teams API is an MCP server that connects AI agents to Microsoft Teams through the Teams Chat Service REST API. Its main tools search people and conversations, read and manage messages, send attachments, handle reactions and members, retrieve meeting transcripts, download files, and describe inline images.

Install it by configuring your MCP client to run `npx -y -p teams-api@latest teams-api-mcp` and set `TEAMS_LOGIN=true`. The package requires Node.js 18 or later. The server can also be launched from the command line or added through supported editor installation flows.

Yes, Microsoft Teams API works with Cursor through its MCP configuration. Add the server command using `npx`, pass `teams-api@latest` and `teams-api-mcp` as arguments, and set `TEAMS_LOGIN` to `true` for interactive authentication.

Use `teams_send_message` with a conversation topic, recipient name, or conversation ID, then provide the file path through the file option. Image paths use the image option, and `[image]` placeholders can position multiple images within the Markdown message.

Yes, `teams_get_transcript` retrieves a transcript from a conversation containing a recorded meeting. Identify the conversation by topic, person, or ID, and use the raw VTT option when the original WebVTT file is needed.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMicrosoft Teams API AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/microsoft-teams-api?style=directory)](https://allmcps.com/mcp/microsoft-teams-api)
HTML Embed
<a href="https://allmcps.com/mcp/microsoft-teams-api"><img src="https://allmcps.com/api/badge/microsoft-teams-api?style=directory" alt="Microsoft Teams API on AllMCPs" /></a>