outlook-cli-skill は何をしますか?
OutlookメールをAIスキルに変換 — MCPサーバー不要。軽量OAuth CLI + curlベースのスキルファイルで任意のAIエージェントと連携。
概要
このスキルは、Outlook(Microsoft 365)のメール機能をAIエージェントから直接操作できるようにするCLIツールとスキルファイルのセットです。以下の機能を提供します:
- メールの一覧取得:受信トレイ、送信済みアイテム、任意のフォルダ
- メールの検索:キーワード、送信者、日付範囲
- メールの送信:AIによる下書き作成と送信
- メールの返信/転送:既存メールに対する返信または転送
- フォルダ管理:メールフォルダの一覧表示
前提条件
- curl(インストール済み)
- jq(JSONパーサー、インストール推奨)
- Microsoft 365アカウント(Outlookメール)
- Azureアプリ登録(後述のセットアップ手順を参照)
セットアップ
1. Azureアプリの登録
- Azure Portalにアクセス
- 「アプリの登録」→「新規登録」
- 名前を入力し、サポートされているアカウントの種類を選択
- リダイレクトURIとして
http://localhost:3000/callbackを追加 - 「登録」をクリック
- 作成されたアプリの「概要」から
アプリケーション(クライアント)IDをコピー - 「証明書とシークレット」→「新しいクライアントシークレット」を作成し、値をコピー
- 「APIのアクセス許可」→「Microsoft Graph」→「委任されたアクセス許可」で以下を追加:
Mail.ReadMail.ReadWriteMail.SendUser.Read
2. CLIツールのインストール
# リポジトリのクローン
git clone https://github.com/w21180239/outlook-cli-skill.git
cd outlook-cli-skill
# 環境変数の設定
cp .env.example .env
# .envファイルを編集し、Azureアプリの認証情報を設定
3. 認証
# OAuth認証フローを開始
./scripts/auth.sh
# ブラウザが開き、Microsoftアカウントでログイン
# 認証コードが自動的に取得され、トークンが保存されます
使用方法
メールの一覧取得
./scripts/list-emails.sh --folder "Inbox" --top 10
メールの検索
./scripts/search-emails.sh --query "重要" --from "[email protected]"
メールの送信
./scripts/send-email.sh --to "[email protected]" --subject "会議のご案内" --body "本文"
メールへの返信
./scripts/reply-email.sh --message-id "<message-id>" --body "返信内容"
スキルファイル
AIエージェント(Claude Code、Cursorなど)で使用するためのスキルファイルは skills/ ディレクトリにあります。各スキルは独立したMarkdownファイルとして提供され、エージェントが指示を理解できるように記述されています。
利用可能なスキル
skills/list-emails.md- メール一覧の取得skills/search-emails.md- メール検索skills/send-email.md- メール送信skills/reply-email.md- メール返信skills/forward-email.md- メール転送skills/manage-folders.md- フォルダ管理
注意事項
- このスキルは個人のMicrosoft 365アカウントを対象としています
- 組織のポリシーによってはAPIアクセスが制限される場合があります
- トークンはローカルに保存され、安全に管理されます
- レート制限に注意してください(Microsoft Graph APIの制限を参照)
ライセンス
MIT
貢献
バグ報告や機能リクエストはIssueで、コードの改善はPull Requestでお願いします。