用途:通过 Rube MCP(Composio 的 Microsoft Teams 工具包)自动化 Microsoft Teams 操作,包括发送消息、管理频道、创建会议、处理聊天和搜索消息。工具包文档见 composio.dev/toolkits/microsoft_teams。
前提条件:Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用);需通过 RUBE_MANAGE_CONNECTIONS、工具包 microsoft_teams 建立有效的 Microsoft Teams 连接;始终先调用 RUBE_SEARCH_TOOLS 获取当前工具结构。
设置:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器,无需 API 密钥。确认 RUBE_SEARCH_TOOLS 有响应后,调用 RUBE_MANAGE_CONNECTIONS 并指定工具包 microsoft_teams;若连接非 ACTIVE,按返回的授权链接完成 Microsoft OAuth,确认状态为 ACTIVE 后再运行工作流。
主要能力与用法: 发送频道消息:依次用 MICROSOFT_TEAMS_TEAMS_LIST 找目标团队、MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS 找频道、MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE 发消息;team_id 须为 UUID,channel_id 为线程格式(如 '19:abc@thread.tacv2'),content_type 可为 text 或 html。注意分页与 403、28KB 大小限制、429 限流(指数退避 1s/2s/4s)。 发送聊天消息:可选 GET_ALL_CHATS、LIST_USERS、CREATE_CHAT,然后用 MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE 发送;chatType 为 oneOnOne 或 group。群聊需至少一名 owner 角色成员,成员绑定须用完整 Microsoft Graph URL。 创建在线会议:用 MICROSOFT_TEAMS_CREATE_MEETING,参数 subject、start_date_time、end_date_time(ISO 8601),结束须晚于开始;参与者需有效 user_id(GUID)而非邮箱。此为独立会议,不与日历事件关联;如需日历关联,用 OUTLOOK_CALENDAR_CREATE_EVENT 并设 is_online_meeting=true。 管理团队与频道:TEAMS_LIST、GET_TEAM、TEAMS_LIST_CHANNELS、GET_CHANNEL、TEAMS_CREATE_CHANNEL、LIST_TEAM_MEMBERS、ADD_MEMBER_TO_TEAM。私有/共享频道可能被省略;ID 必须从列表操作获取,不可猜测格式。 搜索消息:MICROSOFT_TEAMS_SEARCH_MESSAGES 使用 KQL 语法,支持 from:、sent:、附件等;消息可能有 30-60 秒延迟,搜索为最终一致,不适合确认即时送达。
常见模式:先通过列表操作解析团队/频道 ID(团队 UUID、频道 '19:...@thread.tacv2')与用户 ID(UUID);团队/用户分页跟随 @odata.nextLink,聊天自动分页且 top 最大 50。
限制与已知问题:不同操作需要不同 Microsoft Graph 权限,403 表示权限不足;部分操作需 Azure AD 管理员同意。Graph 有限流,429 含 Retry-After,建议每秒少量请求并使用批处理。HTML 支持富文本,自适应卡片需额外处理,消息约 28KB 上限,超长需拆分。