ms-teams-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TEAMS_AUTH_MODE | No | Authentication mode | |
| TEAMS_CLIENT_ID | No | Azure AD Application (client) ID | |
| TEAMS_READ_ONLY | No | Enable read-only mode (true/false) | |
| TEAMS_TENANT_ID | No | Azure AD Tenant ID | |
| TEAMS_AUTH_TOKEN | No | Direct authentication token (bypasses OAuth) | |
| TEAMS_CLIENT_SECRET | No | Azure AD Client Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_teamsA | List all Microsoft Teams the authenticated user belongs to |
| get_teamC | Get details of a specific team |
| create_teamB | Create a new Microsoft Team |
| update_teamC | Update a team's settings or metadata |
| delete_teamB | Delete a Microsoft Team permanently |
| archive_teamA | Archive a team (makes it read-only) |
| unarchive_teamB | Restore an archived team |
| clone_teamC | Clone an existing team |
| list_channelsB | List all channels in a team |
| get_channelA | Get details of a specific channel |
| create_channelB | Create a new channel in a team |
| update_channelB | Update a channel's name or description |
| delete_channelA | Delete a channel permanently |
| archive_channelA | Archive a channel (read-only) |
| unarchive_channelB | Restore an archived channel |
| list_channel_membersB | List all members of a channel |
| add_channel_memberC | Add a user to a channel |
| remove_channel_memberC | Remove a user from a channel |
| send_channel_messageC | Send a message to a channel with optional format, importance, and mentions |
| list_channel_messagesC | List recent messages in a channel |
| reply_to_channel_messageC | Reply to an existing channel message |
| list_chatsA | List all 1-on-1 and group chats |
| get_chatB | Get details of a specific chat |
| send_chat_messageB | Send a message to a 1-on-1 or group chat with optional format and importance |
| list_chat_messagesC | List recent messages in a chat |
| list_chat_membersA | List members of a 1-on-1 or group chat |
| add_chat_memberB | Add a user to a group chat |
| list_chat_tabsB | List tabs in a chat |
| list_available_appsA | List all Teams apps available in the tenant catalog |
| list_team_installed_appsB | List apps installed in a team |
| install_app_in_teamB | Install a Teams app in a team |
| uninstall_app_from_teamC | Remove an installed app from a team |
| list_channel_tabsC | List tabs in a channel |
| add_channel_tabC | Add a tab to a channel |
| remove_channel_tabB | Remove a tab from a channel |
| list_team_plansA | List all Planner plans in a team |
| list_plan_bucketsB | List all buckets in a Planner plan |
| list_plan_tasksA | List tasks in a Planner plan, optionally filtered by bucket |
| create_planner_taskB | Create a new task in a Planner plan |
| list_team_eventsB | List calendar events in a team |
| create_eventB | Create a calendar event in a team |
| create_user_eventA | Create a calendar event on a user's personal calendar |
| get_eventB | Get a specific calendar event |
| create_online_meetingC | Create an online meeting |
| get_online_meetingB | Get details of an online meeting |
| list_online_meetingsB | List upcoming online meetings |
| get_user_presenceB | Get a user's presence status (Available, Busy, etc.) |
| get_team_settingsB | Get a team's member, messaging, and fun settings |
| update_team_member_settingsC | Update a team's member/messaging/fun settings |
| list_team_tagsB | List tags in a team |
| create_tagC | Create a tag in a team |
| delete_tagB | Delete a tag from a team |
| list_scheduling_groupsB | List scheduling groups in a team |
| list_shiftsC | List shifts in a team, optionally by scheduling group |
| create_shiftC | Create a shift for a user |
| list_time_off_reasonsB | List time-off reasons set up in a team |
| list_time_offC | List time-off entries in a team |
| list_time_off_requestsB | List time-off requests in a team |
| create_subscriptionB | Create a webhook subscription for change notifications |
| list_subscriptionsA | List all active webhook subscriptions |
| delete_subscriptionB | Delete a webhook subscription |
| list_channel_filesC | List files in a channel's files folder |
| list_team_membersB | List all members of a team |
| search_usersB | Search for users in the organization |
| create_chatB | Create a new 1-on-1 or group chat |
| update_channel_messageB | Edit an existing channel message |
| delete_channel_messageC | Delete a channel message |
| update_chat_messageB | Edit an existing chat message |
| delete_chat_messageC | Delete a chat message |
| search_messagesC | Search across all Teams messages using Microsoft Search |
| get_my_mentionsA | Get messages where the authenticated user is @mentioned |
| check_authA | Check the current authentication status and show auth mode |
| logoutA | Log out and clear cached authentication tokens |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 73 tools
Most tools target distinct resources and actions, but some overlap exists between similar operations like create_event vs create_user_event or list_shifts vs list_time_off vs list_time_off_requests. The large number of tools increases the chance of misselection, though descriptions generally clarify.
All tool names follow a consistent verb_noun or verb_noun_noun pattern using snake_case (e.g., create_channel, list_team_members, send_channel_message). No mixing of conventions or vague verbs like 'process' or 'run'.
With 73 tools, the server covers a wide range of Teams functionality, but the count feels slightly excessive for common use. While each tool serves a distinct purpose, a more focused subset could reduce complexity. Still within a reasonable range for a comprehensive integration.
The surface covers most CRUD operations for teams, channels, chats, messages, meetings, planner, shifts, time-off, apps, and tabs. Notable gaps include missing update operations for shifts and planner tasks, and no delete for chats or meetings. Overall, core workflows are well-supported.