From microsoft-teams
Microsoft Teams messaging, meetings, channels, polls, and file operations. Use when asked to send messages, schedule meetings, manage channels, create polls, or interact with Teams in any way.
npx claudepluginhub joshuacastanedaah/sean-mcp-servers --plugin microsoft-teamsThis skill uses the workspace's default tool permissions.
Activate this skill when the user:
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Activate this skill when the user:
Use teams_send_message with the chat ID. Messages support markdown:
**text***text*`code`[text](url)- item or 1. itemUse teams_reply_to_message when you need to reply in a thread, providing both the chat/channel ID and the parent message ID.
Use teams_react_to_message to add reactions. Supported reaction types:
like, angry, sad, laugh, heart, surprisedUse teams_send_adaptive_card for rich, interactive messages. Common card patterns:
{
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{ "type": "TextBlock", "text": "Title", "size": "Large", "weight": "Bolder" },
{ "type": "TextBlock", "text": "Description text", "wrap": true },
{ "type": "FactSet", "facts": [
{ "title": "Status", "value": "Active" },
{ "title": "Priority", "value": "High" }
]}
]
}
{
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{ "type": "TextBlock", "text": "Approval Required", "weight": "Bolder" },
{ "type": "TextBlock", "text": "PR #23 needs your review", "wrap": true }
],
"actions": [
{ "type": "Action.OpenUrl", "title": "View PR", "url": "https://..." },
{ "type": "Action.Submit", "title": "Approve", "data": { "action": "approve" } }
]
}
Use teams_schedule_meeting with:
2026-03-05T14:00:00Z)teams_get_presenceUse teams_create_channel with:
standard (visible to all) or privateUse teams_create_poll for quick team feedback:
teams_get_user_info — get profile details (name, email, title, department)teams_get_presence — check availability (Available, Busy, DoNotDisturb, Away, Offline)teams_list_members — list members of a team or chatteams_send_message — Send message to a chat (1:1 or group)teams_reply_to_message — Reply to a specific message threadteams_react_to_message — Add emoji reaction to a messageteams_create_post — Create a post in a channel (with optional subject)teams_send_adaptive_card — Send an Adaptive Card to a chatteams_list_chats — List user's chats (find chat IDs)teams_get_chat_messages — Get recent messages from a chatteams_list_teams — List teams the user belongs toteams_list_channels — List channels in a teamteams_get_channel_info — Get channel details and membersteams_get_channel_messages — Get recent posts in a channelteams_get_channel_message_replies — Get replies to a channel postteams_list_members — List members of a chat or teamteams_get_user_info — Get user profile by ID or UPNteams_get_presence — Check user's online statusteams_schedule_meeting — Schedule a meeting with online linkteams_list_meetings — List upcoming meetingsteams_get_meeting_details — Get full meeting detailsteams_create_channel — Create a new channel in a teamteams_create_poll — Create a poll via Adaptive Cardteams_share_file — Share a OneDrive/SharePoint file in a chatWhen sending direct messages by name or email, teams_send_message requires the actual Teams chat ID (format: 19:xxxxx@thread.v2), not display names or emails.
Discovery workflow:
teams_list_chats() — get all available chatsteams_list_members({ chatId: "..." }) — check each one-on-one chat to find the target userteams_send_message({ chatId: "found-chat-id", content: "message" }) — send to the identified chatteams_share_file