mcpField
O
outlook-automation

outlook-automation

github.com/davepoon生産性3.7k134 回インストール2 日前に更新
リポジトリ

outlook-automation について

outlook-automation は、Rube MCP 経由で Composio の Outlook ツールキットを使い、Microsoft Outlook の操作を自動化するスキルです。メール、カレンダー、連絡先、フォルダーのワークフローに対応します。

主な機能

  1. 01メールの検索と絞り込み
  2. 02フォルダー内メールの照会
  3. 03カレンダーイベントの表示と管理
  4. 04連絡先の一覧と作成
  5. 05メールフォルダーの整理

活用シーン

  1. 01メールや添付ファイルの検索
  2. 02指定期間のイベント確認
  3. 03連絡先の作成や整理
  4. 04メールフォルダーの作成と確認

MCP 対応

Rube MCP 経由で Composio の Outlook ツールキットにアクセスします。クライアントで Rube MCP に接続し、有効な Outlook 接続を確立する必要があります。

インストール

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill outlook-automation

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

詳細

Rube MCP による Outlook の自動化

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

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

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能な状態にする)
  • ツールキット outlook を指定した RUBE_MANAGE_CONNECTIONS による有効な Outlook 接続
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出すこと

セットアップ

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

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

主なワークフロー

1. メールの検索と絞り込み

使用する場面:ユーザーがメールボックス全体から特定のメールを探したい場合

ツールの呼び出し順序:

  1. OUTLOOK_SEARCH_MESSAGES - KQL 構文で全フォルダーを検索します[必須]
  2. OUTLOOK_GET_MESSAGE - メッセージの詳細をすべて取得します[任意]
  3. OUTLOOK_LIST_OUTLOOK_ATTACHMENTS - メッセージの添付ファイルを一覧表示します[任意]
  4. OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT - 添付ファイルをダウンロードします[任意]

主なパラメーター:

  • query:KQL 検索文字列(from:、to:、subject:、received:、hasattachment:)
  • from_index:ページネーションの開始位置(0 起点)
  • size:1 ページあたりの結果数(最大 25)
  • message_id:メッセージ ID(検索結果の hitId を使用)

注意点:

  • Microsoft 365/Enterprise アカウントでのみ機能します(@hotmail.com/@outlook.com は対象外)
  • ページネーションは hitsContainers[0].moreResultsAvailable に依存します。false になるまで停止しないでください
  • 後続の呼び出しで message_id として使用するのは、検索結果の hitId です。resource.id ではありません
  • インデックスの遅延により、ごく最近のメールはすぐには表示されない場合があります
  • インライン画像も添付ファイルとして表示されます。実際のドキュメントを取得するには mimetype で絞り込んでください
2. フォルダー内のメールを照会する

使用する場面:ユーザーが OData フィルターを使用して、特定のフォルダー内のメールを一覧表示したい場合

ツールの呼び出し順序:

  1. OUTLOOK_LIST_MAIL_FOLDERS - メールフォルダーを一覧表示してフォルダー ID を取得します[前提条件]
  2. OUTLOOK_QUERY_EMAILS - 構造化フィルターを使用してメールを照会します[必須]

主なパラメーター:

  • folder:フォルダー名('inbox'、'sentitems'、'drafts')またはフォルダー ID
  • filter:OData フィルター(例:isRead eq false and importance eq 'high')
  • top:結果の最大数(1~1000)
  • orderby:並べ替えフィールドと順序
  • select:返すフィールドの配列

注意点:

  • QUERY_EMAILS が検索するのは単一のフォルダーのみです。フォルダーをまたいで検索する場合は SEARCH_MESSAGES を使用してください
  • カスタムフォルダーでは表示名ではなくフォルダー ID が必要です。LIST_MAIL_FOLDERS を使用してください
  • ページネーションでは必ず response['@odata.nextLink'] を確認してください
  • 受信者や本文の内容では絞り込めません。その場合は SEARCH_MESSAGES を使用してください
3. カレンダーの予定を管理する

使用する場面:ユーザーがカレンダーの予定を一覧表示、検索、または確認したい場合

ツールの呼び出し順序:

  1. OUTLOOK_LIST_EVENTS - フィルターを使用して予定を一覧表示します[任意]
  2. OUTLOOK_GET_CALENDAR_VIEW - 指定した期間内の予定を取得します[任意]
  3. OUTLOOK_GET_EVENT - 特定の予定の詳細を取得します[任意]
  4. OUTLOOK_LIST_CALENDARS - 利用可能なカレンダーを一覧表示します[任意]
  5. OUTLOOK_GET_SCHEDULE - 空き時間/予定ありの情報を取得します[任意]

主なパラメーター:

  • filter:OData フィルター(start/dateTime を使用し、receivedDateTime は使用しないでください)
  • start_datetime/end_datetime:カレンダービュー用の ISO 8601 形式
  • timezone:IANA タイムゾーン(例:'America/New_York')
  • calendar_id:任意のセカンダリカレンダー ID
  • select:返すフィールド

注意点:

  • カレンダー予定のプロパティ(start/dateTime、end/dateTime)のみを使用し、メールのプロパティ(receivedDateTime)は使用しないでください
  • カレンダービューには start_datetime と end_datetime が必要です
  • 繰り返しの予定で個々の発生分を表示するには、expand_recurring_events=true が必要です
  • 辞退ステータスは参加者ごとに attendees[].status.response で確認します
4. 連絡先を管理する

使用するタイミング:連絡先の一覧表示、作成、整理を行いたい場合

ツールの実行順序:

  1. OUTLOOK_LIST_CONTACTS - 連絡先を一覧表示します[任意]
  2. OUTLOOK_CREATE_CONTACT - 新しい連絡先を作成します[任意]
  3. OUTLOOK_GET_CONTACT_FOLDERS - 連絡先フォルダーを一覧表示します[任意]
  4. OUTLOOK_CREATE_CONTACT_FOLDER - 連絡先フォルダーを作成します[任意]

主なパラメーター:

  • givenName/surname:連絡先の名前
  • emailAddresses:メールアドレスオブジェクトの配列
  • displayName:表示名
  • contact_folder_id:連絡先を保存する任意のフォルダー

注意点:

  • 連絡先の作成では多くのフィールドを指定できますが、必要なのはgivenNameまたはsurnameのみです
5. メールフォルダーを管理する

使用するタイミング:メールフォルダーを整理したい場合

ツールの実行順序:

  1. OUTLOOK_LIST_MAIL_FOLDERS - トップレベルのフォルダーを一覧表示します[必須]
  2. OUTLOOK_LIST_CHILD_MAIL_FOLDERS - サブフォルダーを一覧表示します[任意]
  3. OUTLOOK_CREATE_MAIL_FOLDER - 新しいフォルダーを作成します[任意]

主なパラメーター:

  • parent_folder_id:既知の名前またはフォルダー ID
  • displayName:新しいフォルダー名
  • include_hidden_folders:非表示のフォルダーを表示します

注意点:

  • 既知のフォルダー名:'inbox'、'sentitems'、'drafts'、'deleteditems'、'junkemail'、'archive'
  • カスタムフォルダーの操作には、表示名ではなくフォルダー ID が必要です

よく使われるパターン

KQL 検索構文

プロパティフィルター:

  • from:[email protected] - 送信者を指定
  • to:[email protected] - 宛先を指定
  • subject:invoice - 件名に含まれる語句を指定
  • received>=2025-01-01 - 日付フィルター
  • hasattachment:yes - 添付ファイルの有無を指定

論理演算子:

  • AND - 両方の条件
  • OR - いずれかの条件
  • グループ化には括弧を使用
OData フィルター構文

メールフィルター:

  • isRead eq false - 未読メール
  • importance eq 'high' - 重要度が高いメール
  • hasAttachments eq true - 添付ファイルがあるメール
  • receivedDateTime ge 2025-01-01T00:00:00Z - 日付フィルター

カレンダーフィルター:

  • start/dateTime ge '2025-01-01T00:00:00Z' - 指定日以降の予定
  • contains(subject, 'Meeting') - 件名に指定したテキストを含む予定

既知の注意点

アカウントの種類:

  • SEARCH_MESSAGES には Microsoft 365/Enterprise アカウントが必要です
  • 個人用アカウント(@hotmail.com、@outlook.com)では API へのアクセスが制限されています

フィールドの混同:

  • メールのプロパティ(receivedDateTime)とカレンダーのプロパティ(start/dateTime)は異なります
  • カレンダーのクエリでメールのフィールドを使用したり、その逆を行ったりしないでください

クイックリファレンス

タスクツールスラッグ主なパラメーター
メールを検索OUTLOOK_SEARCH_MESSAGESquery, from_index, size
フォルダーをクエリOUTLOOK_QUERY_EMAILSfolder, filter, top
メッセージを取得OUTLOOK_GET_MESSAGEmessage_id
添付ファイルを一覧表示OUTLOOK_LIST_OUTLOOK_ATTACHMENTSmessage_id
添付ファイルをダウンロードOUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENTmessage_id, attachment_id
フォルダーを一覧表示OUTLOOK_LIST_MAIL_FOLDERS(なし)
子フォルダーOUTLOOK_LIST_CHILD_MAIL_FOLDERSparent_folder_id
予定を一覧表示OUTLOOK_LIST_EVENTSfilter, timezone
カレンダー表示OUTLOOK_GET_CALENDAR_VIEWstart_datetime, end_datetime
予定を取得OUTLOOK_GET_EVENTevent_id
カレンダーを一覧表示OUTLOOK_LIST_CALENDARS(なし)
空き時間/予定ありOUTLOOK_GET_SCHEDULEschedules, times
連絡先を一覧表示OUTLOOK_LIST_CONTACTStop, filter
連絡先を作成OUTLOOK_CREATE_CONTACTgivenName, emailAddresses
連絡先フォルダーOUTLOOK_GET_CONTACT_FOLDERS(なし)

Composio によって提供

コメント