
关于
通过 Rube MCP(Composio)自动化 Microsoft Teams 任务:发送消息、管理频道、创建会议、处理聊天和搜索消息。始终先搜索工具以获取当前 Schema。
name: microsoft-teams-automation description: "通过 Rube MCP(Composio)自动化 Microsoft Teams 任务:发送消息、管理频道、创建会议、处理聊天和搜索消息。始终先搜索工具以获取当前架构。" risk: critical source: community date_added: "2026-02-27"
通过 Rube MCP 实现 Microsoft Teams 自动化
通过 Composio 的 Microsoft Teams 工具包经由 Rube MCP 自动化 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 可用
- 使用工具包 `microsoft_teams` 调用 `RUBE_MANAGE_CONNECTIONS`
- 如果连接状态不是 ACTIVE,按照返回的认证链接完成 Microsoft OAuth
- 确认连接状态显示 ACTIVE 后再运行任何工作流
核心工作流
1. 发送频道消息
使用场景:用户想要向 Teams 频道发布消息
工具调用顺序:
- `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 必须是线程格式(例如 '19:abc@thread.tacv2')
- TEAMS_LIST 可能分页(约 100 项/页);跟随 @odata.nextLink 查找所有团队
- 如果用户缺少团队访问权限,LIST_CHANNELS 可能返回 403
- 超过约 28KB 的消息可能触发 400/413 错误;拆分长内容
- 限流可能返回 429;使用指数退避(1s/2s/4s)
2. 发送聊天消息
使用场景:用户想要发送直接或群组聊天消息
工具调用顺序:
- `MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS` - 列出现有聊天 [可选]
- `MICROSOFT_TEAMS_LIST_USERS` - 查找新聊天的用户 [可选]
- `MICROSOFT_TEAMS_TEAMS_CREATE_CHAT` - 创建新聊天 [可选]
- `MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE` - 发送消息 [必需]
关键参数:
- `chat_id`:聊天 ID(来自 GET_ALL_CHATS 或 CREATE_CHAT)
- `content`:消息内容
- `content_type`:'text' 或 'html'
- `chatType`:'oneOnOne' 或 'group'(用于 CREATE_CHAT)
- `members`:成员对象数组(用于 CREATE_CHAT)
注意事项:
- CREATE_CHAT 要求已认证用户作为成员之一
- 如果两个用户之间已存在 oneOnOne 聊天,会返回现有聊天
- 群组聊天要求至少一个成员具有 'owner' 角色
- member user_odata_bind 必须使用完整的 Microsoft Graph URL 格式
- 聊天过滤支持非常有限;需要时在客户端过滤
3. 创建在线会议
使用场景:用户想要安排 Microsoft Teams 会议
工具调用顺序:
- `MICROSOFT_TEAMS_LIST_USERS` - 查找参与者用户 ID [可选]
- `MICROSOFT_TEAMS_CREATE_MEETING` - 创建会议 [必需]
关键参数:
- `subject`:会议标题
- `start_date_time`:ISO 8601 开始时间(例如 '2024-08-15T10:00:00Z')
- `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
4. 管理团队和频道
使用场景:用户想要列出、创建或管理团队和频道
工具调用顺序:
- `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`:团队 UUID
- `channel_id`:线程格式的频道 ID
- `filter`:OData 过滤字符串(例如 "startsWith(displayName,'Project')")
- `select`:逗号分隔的返回属性
注意事项:
- TEAMS_LIST 分页:在大型租户中跟随 @odata.nextLink
- 除非权限匹配,否则可能省略私有/共享频道
- 如果 team_id 或 channel_id 无效,GET_CHANNEL 返回 404
兼容工具
Claude CodeCursor
标签
后端开发
