← Back to directory
T

Teams MCP

Community
Comprehensive Microsoft Teams and Graph API access for AI assistants.
Category
Collaboration #29 of 55
Stars
★ 145 Popular
Transport
stdio (local process)
Runtime
Node.js 18+
Credentials
API key / credential required
License
MIT
Last commit
Tools
26
53FMRS · D

This is a feature-rich MCP server that offers extensive integration with Microsoft Teams and Graph APIs, including messaging, user, file, and search capabilities. It requires proper authentication and permissions, making it suitable for developers who need to automate Teams operations.

Strongest · Setup experience 12/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
10/20
Documentation
11/20
Setup experience
12/20
Why each score
Reliability 8/20
The README indicates support for MCP init and tool listing, and shows badges for CI and coverage, but static review cannot verify actual runtime behavior. The tool list matches documentation, yet no reproducible execution evidence is provided, so reliability is capped at 12.
Security and permissions 12/20
Supports read-only mode, least-privilege scopes, AUTH_TOKEN validation, and markdown sanitization, but delete operations (soft delete) lack explicit confirmation, and data-flow disclosure and external network details are not fully documented. Hence 12.
Maintenance 10/20
MIT licensed, active maintenance indicated by commits and issue response, but versioning and security response channels are not detailed. Hence 10.
Documentation 11/20
Documentation is thorough with installation and examples, but has duplication and lacks explicit limitations and troubleshooting. Hence 11.
Setup experience 12/20
Clear installation steps with npx and config examples, but requires manual authentication and Node 18, and lacks verifiable execution evidence. Hence 12.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the network

Best for

  • Developers who need to automate collaboration tasks in Teams
  • Teams that want to integrate Teams into AI-driven productivity tools
  • Applications that require programmatic access to Microsoft Graph data

Not for

  • Scenarios requiring real-time notifications or push capabilities (not provided)
  • Users without a Microsoft 365 account or Graph permissions
  • Strict environments that need local authentication or custom flows

Required permissions

  • User.Read
  • User.ReadBasic.All
  • Team.ReadBasic.All
  • Channel.ReadBasic.All
  • ChannelMessage.Read.All
  • ChannelMessage.Send
  • ChannelMessage.ReadWrite
  • Chat.Read
  • Chat.ReadWrite
  • TeamMember.Read.All
  • Files.ReadWrite.All

Risks and side effects

  • Authentication tokens stored locally may be accessed by unauthorized parties
  • Full write access might accidentally send or delete important messages
  • File uploads/downloads could expose sensitive data
  • AUTH_TOKEN direct injection may leak if not handled securely

Setup

Before you start

Runtime:Node.js 18+

AUTH_TOKEN optionalsecret Optional pre-issued Microsoft Graph access token (JWT) targeting https://graph.microsoft.com; obtain it from your existing OAuth flow.
Other optional settings (1)
TEAMS_MCP_READ_ONLY optional Set to true to start the server in read-only mode, disabling all write tools and requesting only read scopes; you set this yourself.
  1. Ensure Node.js 18+ and a Microsoft 365 account are available.
  2. Add the provided JSON configuration to your MCP client (e.g., Cursor, Claude, VS Code).
  3. Run npx @floriscornel/teams-mcp@latest authenticate to authenticate.
  4. Alternatively, set the environment variable AUTH_TOKEN to a valid Microsoft Graph JWT.
claude_desktop_config.json
{
  "mcpServers": {
    "teams-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@floriscornel/teams-mcp@latest"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "teams-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@floriscornel/teams-mcp@latest"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add teams-mcp -- npx -y @floriscornel/teams-mcp@latest

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Run npx @floriscornel/teams-mcp@latest authenticate first, then confirm tools like auth_status and get_current_user appear in your client's tool list; calling get_current_user and getting your Microsoft 365 profile proves the connection works.

Troubleshooting

  1. Authentication failures: Run `npx @floriscornel/teams-mcp@latest check` to verify status and re-authenticate if needed.
  2. Message sending failures: Ensure the app has the required Graph permissions and the token is not expired.
  3. File upload errors: Verify the file path exists and the account has proper read/write permissions.
  4. Connection issues: Ensure the client configuration uses the correct command and arguments, and network access to Microsoft Graph is available.

Things to try

Once connected, you can ask your AI assistant things like:

  • List all Teams I've joined and the channels in each
  • Search for messages from last week that mention me and discuss the project status
  • Send /path/to/report.pdf to our team channel with a short note
  • Create a 1:1 chat with alex.chen and send a Markdown-formatted greeting

Tools 26

auth_status read-only
Check current authentication status.
get_current_user read-only
Get information about the authenticated user.
search_users read-only
Search for users by name or email.
get_user read-only
Get detailed user information by ID or email.
list_teams read-only
List the user's joined teams.
list_channels read-only
List channels within a specific team.
get_channel_messages read-only
Retrieve messages from a team channel with attachment summaries and content format selection.
get_channel_message_replies read-only
Get replies to a specific channel message.
Show 18 more tools
send_channel_message writes
Send a message to a team channel with optional mentions, importance, and image attachments.
reply_to_channel_message writes
Reply to an existing channel message.
update_channel_message writes
Edit a previously sent channel message or reply.
delete_channel_message destructive
Soft delete a channel message or reply.
list_team_members read-only
List members of a specific team.
search_users_for_mentions read-only
Search for team members to @mention in messages.
send_file_to_channel writes
Upload a local file and send it as a message to a channel.
list_chats read-only
List the user's chats (1:1 and group).
get_chat_messages read-only
Retrieve messages from a specific chat with pagination, filters, ordering, and fetchAll.
send_chat_message writes
Send a message to a chat.
create_chat writes
Create a new 1:1 or group chat.
update_chat_message writes
Edit a previously sent chat message.
delete_chat_message destructive
Soft delete a chat message.
send_file_to_chat writes
Upload a local file and send it as a message to a chat.
download_message_hosted_content read-only
Download hosted content (images, files) from channel messages.
download_chat_hosted_content read-only
Download hosted content (images, files) from chat messages.
search_messages read-only
Search across all Teams messages using KQL syntax.
get_my_mentions read-only
Find recent messages mentioning the current user.

Use cases

Send and receive Teams messages via an AI assistant
Search for users and organizational directory data
Upload and download file attachments
Manage messages in channels and chats (edit, delete)

Supported clients

Claude Desktop
Cursor
VS Code

Listed from the project's documentation, not tested by this site.

Overview

Teams MCP is a Model Context Protocol (MCP) server that provides seamless integration with Microsoft Graph APIs, enabling AI assistants to interact with Microsoft Teams, users, chats, files, and organizational data. It supports OAuth 2.0 device code authentication, read-only mode, message search, rich formatting (Markdown/HTML), and file uploads/downloads.

Similar servers

Source revision b01182db9e45 Data synced 2026-10-12 Read the FMRS scoring method