Microsoft Teams Automation via Rube MCP 介绍的是通过 Rube MCP 使用 Composio 的 Microsoft Teams 工具包来自动化 Microsoft Teams 各项操作的方式。
用途 该能力面向需要在 Microsoft Teams 中执行批量或流程化操作的用户,包括发送频道消息、发送聊天消息、创建在线会议、管理团队与频道、搜索消息等。
前置条件 Rube MCP 必须已连接,即 RUBE_SEARCH_TOOLS 可用。需要通过 RUBE_MANAGE_CONNECTIONS 并选择 microsoft_teams 工具包建立有效的 Microsoft Teams 连接。在执行任何工作流之前,应先调用 RUBE_SEARCH_TOOLS 获取当前的工具架构。
设置步骤 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,仅添加该端点即可使用。确认 RUBE_SEARCH_TOOLS 有响应以验证 Rube MCP 可用。调用 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,来自 TEAMS_LIST)、channel_id(频道 ID,来自 LIST_CHANNELS,格式为 '19:...@thread.tacv2')、content(消息文本或 HTML)、content_type('text' 或 'html')。注意事项:team_id 必须是有效 UUID 格式;channel_id 必须是 thread 格式;TEAMS_LIST 可能分页(约 100 项/页),需跟随 @odata.nextLink 找到全部团队;LIST_CHANNELS 若用户无该团队访问权限可能返回 403;超过约 28KB 的消息可能触发 400/413 错误,需拆分长内容;限流可能返回 429,应使用指数退避(1s/2s/4s)。
二是发送聊天消息。工具顺序为:MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS(列出已有聊天,可选)、MICROSOFT_TEAMS_LIST_USERS(查找用户以新建聊天,可选)、MICROSOFT_TEAMS_TEAMS_CREATE_CHAT(创建新聊天,可选)、MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE(发送消息,必需)。关键参数包括 chat_id、content、content_type、chatType('oneOnOne' 或 'group')以及 members(成员对象数组)。注意事项:CREATE_CHAT 要求已认证用户是成员之一;oneOnOne 聊天若已存在会返回现有聊天;group 聊天需要至少一名具有 'owner' 角色的成员;成员的 user_odata_bind 必须使用完整 Microsoft Graph URL 格式;聊天过滤支持非常有限,必要时在客户端过滤。
三是创建在线会议。工具顺序为:MICROSOFT_TEAMS_LIST_USERS(查找参与者用户 ID,可选)、MICROSOFT_TEAMS_CREATE_MEETING(创建会议,必需)。关键参数包括 subject、start_date_time(ISO 8601 开始时间)、end_date_time(ISO 8601 结束时间,必须晚于开始时间)、participants(包含 user_id 和 role 的用户对象数组)。注意事项:end_date_time 必须严格晚于 start_date_time;参与者需要有效的 Microsoft user_id(GUID),不能使用电子邮箱;此方式创建的是独立会议,不与日历事件关联;如需日历关联会议,应使用 OUTLOOK_CALENDAR_CREATE_EVENT 并设置 is_online_meeting=true。
四是管理团队与频道。工具顺序为:MICROSOFT_TEAMS_TEAMS_LIST(必需)、MICROSOFT_TEAMS_GET_TEAM、MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS、MICROSOFT_TEAMS_GET_CHANNEL、MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL、MICROSOFT_TEAMS_LIST_TEAM_MEMBERS、MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM(均为可选)。关键参数包括 team_id、channel_id、filter(OData 过滤字符串)、select(逗号分隔的返回属性)。注意事项:TEAMS_LIST 在大租户中需跟随 @odata.nextLink;除非权限匹配,私有/共享频道可能被省略;GET_CHANNEL 若 team_id 或 channel_id 错误会返回 404;ID 必须始终来自列表操作,不要猜测格式。
五是搜索消息。使用 MICROSOFT_TEAMS_SEARCH_MESSAGES,参数 query 为 KQL 搜索查询(支持 from:、sent:、附件、布尔逻辑等)。注意事项:新发布的消息可能需要 30 至 60 秒才会出现在搜索中;搜索是最终一致的,不能依赖它做即时送达确认;实时消息验证应使用消息列表工具。
通用模式与常见陷阱 团队与频道 ID 解析流程:调用 TEAMS_LIST,按 displayName 找到团队,提取 team id(UUID 格式);调用 TEAMS_LIST_CHANNELS 并传入 team_id,按 displayName 找到频道,提取 channel id(19:...@thread.tacv2 格式)。用户解析:调用 LIST_USERS,按 displayName 或 email 过滤,提取 user id(UUID 格式),用于会议参与者、聊天成员或团队操作。分页方面:团队/用户需跟随 @odata.nextLink;聊天会自动分页至上限,可用 top 控制页大小(最大 50);持续直到 @odata.nextLink 不存在。
认证与权限:不同操作需要不同的 Microsoft Graph 权限;403 错误表示权限不足或团队访问受限;部分操作需要 Azure AD 租户中的管理员同意。ID 格式:团队 ID 为 UUID;频道 ID 为 thread 格式;聊天 ID 为多种格式;用户 ID 为 UUID;永远不要猜测 ID,应从列表操作解析。限流方面:Microsoft Graph 会强制限流;429 响应包含 Retry-After 头;请求应控制在每秒几次;批处理操作有助减少总请求数。消息格式:HTML content_type 支持富格式;自适应卡片需要额外处理;消息大小限制约为 28KB,长内容应拆分。
快速参考 列出团队:MICROSOFT_TEAMS_TEAMS_LIST,参数 filter、select、top。获取团队详情:MICROSOFT_TEAMS_GET_TEAM,参数 team_id。列出频道:MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS,参数 team_id、filter。获取频道:MICROSOFT_TEAMS_GET_CHANNEL,参数 team_id、channel_id。创建频道:MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL,参数 team_id、displayName。向频道发帖:MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE,参数 team_id、channel_id、content。列出聊天:MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS,参数 user_id、limit。创建聊天:MICROSOFT_TEAMS_TEAMS_CREATE_CHAT,参数 chatType、members、topic。向聊天发帖:MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE,参数 chat_id、content。创建会议:MICROSOFT_TEAMS_CREATE_MEETING,参数 subject、start_date_time、end_date_time。列出用户:MICROSOFT_TEAMS_LIST_USERS,参数 filter、select、top。列出团队成员:MICROSOFT_TEAMS_LIST_TEAM_MEMBERS,参数 team_id。添加团队成员:MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM,参数 team_id、user_id。搜索消息:MICROSOFT_TEAMS_SEARCH_MESSAGES,参数 query。获取聊天消息:MICROSOFT_TEAMS_GET_CHAT_MESSAGE,参数 chat_id、message_id。列出已加入团队:MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS,无参数。
适用场景与限制 适用于需要通过 MCP 自动化 Microsoft Teams 中消息、会议、团队与频道管理以及消息搜索的流程场景。限制包括:依赖 Rube MCP 与有效的 Microsoft Teams 连接;不同操作需要不同的 Microsoft Graph 权限,部分操作需要管理员同意;存在限流与约 28KB 的消息大小限制;搜索为最终一致;部分 ID 与参数格式有严格要求,且不应猜测 ID。