mcpField
M
microsoft-teams-automation

microsoft-teams-automation

github.com/composiohq生産性78.3k72 回インストール14 週間前に更新
リポジトリ

microsoft-teams-automation について

Rube MCP と Composio の Microsoft Teams ツールキットを通じて、Teams の操作を自動化するスキルです。メッセージ、会議、チームやチャネルの管理、メッセージ検索に対応します。

主な機能

  1. 01チャネルとチャットへの投稿
  2. 02オンライン会議の作成
  3. 03チーム、チャネル、メンバーの管理
  4. 04Teams メッセージの検索

活用シーン

  1. 01チャネルに進捗を投稿
  2. 021 対 1 またはグループチャットを送信
  3. 03オンライン会議を設定
  4. 04チャットやチャネル内のメッセージを検索

MCP 対応

Rube MCP と Composio の Microsoft Teams ツールキットを使用します。有効な Microsoft Teams 接続と最新のツールスキーマが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/composiohq/awesome-claude-skills --skill microsoft-teams-automation

インストール後、Claude Code で/microsoft-teams-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Microsoft Teams の自動化

Rube MCP を通じて、Composio の Microsoft Teams ツールキットを使用し、Microsoft Teams の操作を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/microsoft_teams

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能)
  • microsoft_teams ツールキットを指定して RUBE_MANAGE_CONNECTIONS から有効な Microsoft Teams 接続を確立していること
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. microsoft_teams ツールキットを指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクを開いて Microsoft OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. チャネルメッセージの送信

使用する場合:ユーザーが Teams チャネルへのメッセージ投稿を希望するとき

ツールの呼び出し順序:

  1. MICROSOFT_TEAMS_TEAMS_LIST - 対象チームを見つけるためにチームを一覧表示します[前提条件]
  2. MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS - チーム内のチャネルを一覧表示します[前提条件]
  3. MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE - メッセージを投稿します[必須]

主なパラメーター:

  • team_id:チームの UUID(TEAMS_LIST から取得)
  • channel_id:チャネル ID(LIST_CHANNELS から取得、形式:'19:[email protected]')
  • content:メッセージのテキストまたは HTML
  • content_type:'text' または 'html'

注意点:

  • team_id は有効な UUID 形式である必要があります
  • channel_id はスレッド形式である必要があります(例:'19:[email protected]')
  • TEAMS_LIST はページネーションされる場合があります(1 ページあたり約 100 項目)。すべてのチームを見つけるには @odata.nextLink をたどってください
  • ユーザーにチームへのアクセス権がない場合、LIST_CHANNELS は 403 を返すことがあります
  • 約 28KB を超えるメッセージは 400/413 エラーを引き起こすことがあります。長い内容は分割してください
  • スロットリングにより 429 が返される場合があります。指数バックオフ(1 秒/2 秒/4 秒)を使用してください
2. チャットメッセージの送信

使用する場合:ユーザーが 1 対 1 またはグループチャットのメッセージ送信を希望するとき

ツールの呼び出し順序:

  1. MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS - 既存のチャットを一覧表示します[任意]
  2. MICROSOFT_TEAMS_LIST_USERS - 新しいチャットのユーザーを検索します[任意]
  3. MICROSOFT_TEAMS_TEAMS_CREATE_CHAT - 新しいチャットを作成します[任意]
  4. 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 では、認証済みユーザーをメンバーの 1 人として含める必要があります
  • 2 人のユーザー間に oneOnOne チャットがすでに存在する場合、そのチャットが返されます
  • グループチャットには、'owner' ロールを持つメンバーが少なくとも 1 人必要です
  • メンバーの user_odata_bind には、完全な Microsoft Graph URL 形式を使用する必要があります
  • チャットのフィルター機能は非常に限られています。必要に応じてクライアント側でフィルターしてください
3. オンライン会議の作成

使用する場合:ユーザーが Microsoft Teams 会議のスケジュール設定を希望するとき

ツールの呼び出し順序:

  1. MICROSOFT_TEAMS_LIST_USERS - 参加者のユーザー ID を検索します[任意]
  2. 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 ユーザー ID(GUID)が必要です。メールアドレスは使用できません
  • これはカレンダーイベントに紐付かない単独の会議を作成します
  • カレンダーに紐付く会議を作成するには、is_online_meeting=true を指定して OUTLOOK_CALENDAR_CREATE_EVENT を使用してください
4. チームとチャネルを管理する

使用する場面:チームやチャネルの一覧表示、作成、管理を行いたい場合

ツールの順序:

  1. MICROSOFT_TEAMS_TEAMS_LIST - アクセス可能なすべてのチームを一覧表示します[必須]
  2. MICROSOFT_TEAMS_GET_TEAM - 特定のチームの詳細を取得します[任意]
  3. MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS - チーム内のチャネルを一覧表示します[任意]
  4. MICROSOFT_TEAMS_GET_CHANNEL - チャネルの詳細を取得します[任意]
  5. MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL - 新しいチャネルを作成します[任意]
  6. MICROSOFT_TEAMS_LIST_TEAM_MEMBERS - チームメンバーを一覧表示します[任意]
  7. 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 を返します
  • ID は必ず一覧表示操作から取得し、形式を推測しないでください
5. メッセージを検索する

使用する場面:Teams のチャットやチャネル全体からメッセージを検索したい場合

ツールの順序:

  1. MICROSOFT_TEAMS_SEARCH_MESSAGES - KQL 構文で検索します[必須]

主なパラメーター:

  • query:KQL 検索クエリ(from:、sent:、attachments、ブール論理をサポートします)

注意点:

  • 新しく投稿されたメッセージが検索結果に表示されるまで、30~60 秒かかることがあります
  • 検索結果は最終的に整合します。配信直後の確認には使用しないでください
  • リアルタイムでメッセージを確認するには、メッセージ一覧表示ツールを使用してください

よく使われるパターン

チーム ID とチャネル ID の解決
1. Call MICROSOFT_TEAMS_TEAMS_LIST
2. Find team by displayName
3. Extract team id (UUID format)
4. Call MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS with team_id
5. Find channel by displayName
6. Extract channel id (19:[email protected] format)
ユーザーの解決
1. Call MICROSOFT_TEAMS_LIST_USERS
2. Filter by displayName or email
3. Extract user id (UUID format)
4. Use for meeting participants, chat members, or team operations
ページネーション
  • Teams/Users:次のページの URL として @odata.nextLink をたどります
  • Chats:limit まで自動でページネーションします。ページサイズには top を使用します(最大 50)
  • top パラメーターでページサイズを指定します
  • @odata.nextLink がなくなるまで続けます

既知の注意点

認証と権限:

  • 操作によって必要な Microsoft Graph の権限が異なります
  • 403 エラーは、権限不足またはチームへのアクセス権がないことを示します
  • Azure AD テナントで管理者の同意が必要な操作もあります

ID の形式:

  • チーム ID:UUID 形式(例:'87b0560f-fc0d-4442-add8-b380ca926707')
  • チャネル ID:スレッド形式(例:'19:[email protected]')
  • チャット ID:さまざまな形式(例:'19:[email protected]')
  • ユーザー ID:UUID 形式
  • ID を推測せず、必ず一覧表示操作から解決してください

レート制限:

  • Microsoft Graph ではスロットリングが適用されます
  • 429 応答には Retry-After ヘッダーが含まれます
  • リクエストは毎秒数回程度に抑えてください
  • バッチ操作を使うと、リクエストの総数を減らせます

メッセージの書式設定:

  • HTML content_type はリッチ書式に対応しています
  • Adaptive Cards には追加の処理が必要です
  • メッセージサイズの上限は約 28KB です
  • 長いコンテンツは複数のメッセージに分割してください

Quick Reference

TaskTool SlugKey Params
List teamsMICROSOFT_TEAMS_TEAMS_LISTfilter, select, top
Get team detailsMICROSOFT_TEAMS_GET_TEAMteam_id
List channelsMICROSOFT_TEAMS_TEAMS_LIST_CHANNELSteam_id, filter
Get channelMICROSOFT_TEAMS_GET_CHANNELteam_id, channel_id
Create channelMICROSOFT_TEAMS_TEAMS_CREATE_CHANNELteam_id, displayName
Post to channelMICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGEteam_id, channel_id, content
List chatsMICROSOFT_TEAMS_CHATS_GET_ALL_CHATSuser_id, limit
Create chatMICROSOFT_TEAMS_TEAMS_CREATE_CHATchatType, members, topic
Post to chatMICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGEchat_id, content
Create meetingMICROSOFT_TEAMS_CREATE_MEETINGsubject, start_date_time, end_date_time
List usersMICROSOFT_TEAMS_LIST_USERSfilter, select, top
List team membersMICROSOFT_TEAMS_LIST_TEAM_MEMBERSteam_id
Add team memberMICROSOFT_TEAMS_ADD_MEMBER_TO_TEAMteam_id, user_id
Search messagesMICROSOFT_TEAMS_SEARCH_MESSAGESquery
Get chat messageMICROSOFT_TEAMS_GET_CHAT_MESSAGEchat_id, message_id
List joined teamsMICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS(none)

Powered by Composio

コメント