本記事は Play 04 の MCP導入が手元で動いている前提です。/daily-schedule でカレンダーが取れている状態。新たに Gmail MCP を足します。
第1章朝、受信箱を開いて10分が消える
朝の予定整理が /daily-schedule で3秒になった次の週、不思議なことが起きました。節約したはずの15分が、どこかで消えている。
追ってみたら、メールでした。受信箱を開いて、新着40件を上から見て、「これは今返す」「これは後で」「これは見なくていい」を仕分ける。1通あたり15秒だとしても、40件で10分。それが /daily-schedule の3秒で浮いた時間を、丸ごと食っていました。
もっと正確に言うと、判断疲れ の問題でした。9時から「これは急ぐべきか?」を40回連続でやると、その後の Play 03 草稿(10時開始)で文章が出てこない。脳がもう使えていない。
仕分け作業そのものを 仕組み にすれば、判断を「ルールに渡す」ことで脳を空けられる、と気づきました。
第2章4つに分けるルールを、自分で書く
仕組み化する前に、まず 自分が普段どう仕分けているか を言語化しないといけません。なんとなくの判断は、AIにも渡せない。
朝の受信箱を3日眺めて、次の4分類に落ちました。
これを knowledge/triage-rules.md として書き起こしました。30行。AI に「自分の判断基準」を渡す材料です。
# メール仕分けルール ## NOW(今日中に返す) - From が顧客個別メールアドレス(社名@ドメイン) - 件名に「至急」「本日」「今日中」が含まれる - 期限が今日中と本文に書かれている - 直属上長からの個別宛て質問 ## TODO(今週中に返す) - 商談調整、進行中案件の確認、見積もり依頼 - 本文に質問形が2つ以上含まれる - 直接 To で宛てられているが、期限が今日でない ## LATER(来週以降) - 「お時間あるときに」「急ぎではないですが」を含む - 長期検討の打診(3ヶ月以上先の話) ## SKIP(返さない) - ニュースレター、配信専用アドレス、no-reply - 社内CCで、宛先(To)に自分が入っていない - 宣伝・営業アプローチ(first contact)
分類の正解はないので、各人の判断基準を そのまま 書き出すのがコツでした。きれいに整理しようとすると、漏れが出ます。「自分が普段やっていること」を文章化するだけ。
第3章Gmail MCP を、12行で繋ぐ
Play 04 で組んだ mcp.json に、Gmail を追加します。Calendar の時とほぼ同じ手順。
Google Cloud Console で:
- Play 04 で作ったプロジェクトに「Gmail API」を追加で有効化
- OAuth クライアントは 同じものを使い回せる(プロジェクト単位)
- スコープに
gmail.readonlyとgmail.modifyを追加
{
"mcpServers": {
"gcal": { /* Play 04 で設定済み */ },
"gmail": {
"command": "mcp-server-gmail",
"env": {
"GMAIL_CLIENT_ID": "<Play 04 と同じ>",
"GMAIL_CLIENT_SECRET": "<Play 04 と同じ>",
"GMAIL_SCOPES": "gmail.readonly gmail.modify"
}
}
}
}
なぜ gmail.modify も入れたか ─ ラベル(後述)を付けるために必要です。送信権限(gmail.send)は入れていません。「読む・ラベルを付ける」ところまでに絞っています。送信はまだ手の仕事。
第4章/mail-triage コマンドを書く
本体のカスタムコマンドはこれ。50行。
# /mail-triage 朝の受信箱を NOW / TODO / LATER / SKIP の4つに仕分けします。 ## 動き 1. Gmail MCP で 過去24時間の未読受信を取得 (古いメールは対象外。これは 失敗01 で学んだ) 2. knowledge/triage-rules.md を読み、4分類の基準を把握 3. 各メールを基準に照らして判定 4. 結果に Gmail ラベルを付ける: - NOW → "🔥now" - TODO → "todo-week" - LATER → "later" - SKIP → "skip" 5. 標準出力に NOW と TODO のメール一覧を要約表示 ## 出力フォーマット NOW (3件) ├ A社・佐藤さん「明日の打ち合わせ件」 → 期限: 今日中 ├ B社「至急: 見積もり修正依頼」 → 期限: 今日中 └ 直属上長「来週の予算確認」 → 期限: 今日中 TODO (7件) ├ C社「進行案件の中間確認」 → 今週中 ├ ... ## 判定で迷ったとき - 60% 以上の確信があれば、その分類に置く - 50/50 の場合は TODO に倒す(NOW より厳しい) - 個人情報(住所、銀行)が本文にある → 必ず NOW
memory/style.md の末尾には、返信時に使う 「自分らしい返信文の最初の3行」を18行追加しました。これは後の Play 06 「自分の文体を、覚えさせる」 で本格化します。
合計: 30 (rules) + 50 (command) + 12 (mcp config) + 18 (style.md追記) = 110行。これが「実コード行数」の中身です。
第5章¥640/月 の内訳
Play 03 で API 直叩きに切り替えた ¥320/月 に、/mail-triage 分が乗ります。
・ /daily-schedule+/weekly-review(Play 03)= 約 ¥320
・ /mail-triage 平日5日 × 4週 = 20回 ・ 約 ¥280
・ Gmail API ・ ¥0(無料枠で収まる)
・ 試行錯誤・再実行 ・ 約 ¥40
合計 ¥640/月。1日あたりに換算すると約 ¥21。10分の判断疲れと交換すると、十分割に合います。
第6章2回踏んだ、失敗
初回実行で、受信箱の全メール(半年分)を処理対象にした。
最初のコマンド定義には、対象期間の指定を入れ忘れていました。/mail-triage を初めて打った瞬間、Claude が 「8,200件のメールを処理開始」 と返してきた。あわてて Ctrl+C で止めましたが、その時点で API 使用量が ¥420 飛んでいました。1コマンドで月予算超過。
コマンド定義に 「過去24時間の未読受信のみ」を入れて再実行。所要 8秒、API 使用量 ¥8、で動きました。外部MCPは「処理範囲を最初に絞る」。これはトークン消費が見える前に決めるべき設計でした。
TODO と SKIP の境界が曖昧で、社内CCの確認依頼が SKIP に落ちた。
運用1週間目の金曜、直属上長から「先週のCC、確認した?」と聞かれた。受信箱のラベルを見たら "skip"。CCで届いた「来週の予算配分について」というメールが SKIP 扱いになっていた。
原因は triage-rules.md の 「社内CCで、宛先(To)に自分が入っていない」→ SKIP というルール。これは大半の社内CCには当てはまるが、上長からの「確認しておいて」 CC は例外。ルールに「From が直属上長の場合は TODO」を1行足したら、その後は同じ漏れは起きていません。
「例外を1個ずつ書き足す」というのが、トリアージルールの育て方でした。最初から完璧なルールは書けない。週1回 /weekly-review で誤判定を確認して、ルールを足していく。
第7章動き出した、朝の受信箱
月曜の朝、/daily-schedule の次に /mail-triage。3〜5秒で、NOW と TODO のメール一覧が出ます。
受信箱を開く必要はありません。NOW の3件だけ集中して処理して、TODO は午後にまとめて触る。LATER と SKIP は 視野から消える。
計測すると、朝の受信箱処理時間は 10分 → 平均3分。7分の節約以上に、判断疲れがなくなったのが効果でした。10時から始まる Play 草稿の集中力が、以前より明らかに上がっています。
受信箱は 1日2回(朝・夕方)の /mail-triage 起動になりました。それ以外の時間に開かないルールにしています。これは仕組みではなく、自分への運用ルールです。