← Back to directory
T

Teams MCP

Community
Comprehensive Microsoft Teams and Graph API access for AI assistants.
GitHub source repository ↗
★ 131 Stars Category · Collaboration Popular Source revision e635dbfcf64d
53FMRS · D
Reliability
8/20
Security and permissions
12/20
Maintenance
10/20
Documentation
11/20
Setup experience
12/20

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.

Read the FMRS scoring method →

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.

Tools

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

Setup

  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"
      ]
    }
  }
}

Fit and risk

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

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.

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 DesktopFull support
CursorFull support
VS CodeFull support