Claudeに自分の1年分の仕事を全部棚卸しさせた—5つのMCPで1,433件の予定と85の業務を洗い出したプロンプト公開
自分がこの1年で何をやってきたか、正確に書き出せるか
私は管理部門で総務・法務・情シス・契約管理・人事労務を兼務していました。そうすると、業務は毎日発生しては流れていきます。資料を作ろうにも、記憶に頼った棚卸しは必ず「漏れる」か「盛る」かのどちらかになりがちです。
でも、よく考えたらSlack、Notion、Googleカレンダー、Gmail、Driveに証跡はある。
それなら、AIに掘らせればいい——そう思って、Claudeに5つのMCP(外部サービス連携)を横断させて、自分の1年間の全業務を棚卸しさせてみました。この記事では、実際に使ったプロンプトを全文公開しつつ、やり方と、つまずいたポイントと、正直な限界を書きます。
まず結果から
直近12ヶ月を対象に調査した結果がこちらです。
- 調査ソース:Slack/Notion/Google Drive/Gmail/Google カレンダーの5つ
- 取得したカレンダーイベント:12ヶ月・全1,433件
- 洗い出された業務:85項目
- 分類:4カテゴリ(定常業務/プロジェクト・施策/突発対応/マネジメント)× 9ジャンル
仕組み:5つのMCPの役割分担
MCPを使うと、ClaudeからSlackやNotionを直接検索できます。ポイントは、5つのソースがそれぞれ違う種類の証跡を持っていることです。カレンダーだけ、Slackだけでは業務の一面しか見えません。たとえば社外ベンダーとの契約更新交渉はGmailにしか痕跡がなく、突発の問い合わせ対応はSlackにしかありません。5つを突合して重複排除することで、初めて「全体像」に近づきます。
最大の壁:全部は読めない
「MCPを繋いで『1年分検索して』と言えば終わり」——ではありませんでした。この取り組みの実質的な中身は、APIの件数上限・トークン上限との戦いです。
工夫した点を4つ挙げます。
1. Slackは月次×両側サンプリング
1年分を一括検索すると上限で最初の数十件しか取れず、結果が特定の時期に偏ります。そこで検索を12ヶ月に分割し、さらに各月を「昇順(月初側)20件+降順(月末側)20件」の2回に分けて取得しました。月初と月末で業務の顔ぶれが違う(締め処理・月初処理など)ためです。
2. カレンダーはpageSize指定が必須
デフォルトの取得件数だと、会議が多い月は途中で切れて欠落します。1ヶ月ずつ12回、上限250件指定で取得して初めて全量が揃いました。
3. 巨大なデータはAIに読ませず、コードで集計する
1,433件のイベントJSONをそのままClaudeに読ませるとトークンを浪費します。ここはPythonスクリプトを書かせて、イベント名の出現回数を機械的に集計(Counter)させました。判断や分類はAI、機械的な集計はコード、という使い分けです。
4. GmailとDriveは期間ウィンドウ分割
2〜4ヶ月単位の検索ウィンドウに分割し、結果が特定の月に偏ったら手薄な期間だけ追加で再検索。「一発で完璧に取る」のではなく「偏りを見て埋めにいく」進め方です。
使ったプロンプト全文
実際に使ったプロンプトを、社内固有の情報(チャンネル名・固有名詞)だけ一般化して公開します。Step 0〜6をそのまま実行すれば、同じ環境(Claude+各MCP)で再現できるはずです。
# 自分の業務棚卸し(過去1年分)
## 目的
自分が過去1年間に行ってきた業務・タスク・依頼事項を、Google Drive・Slack・Notion・Gmail・Google カレンダーから網羅的に洗い出し、整理する。
## 調査対象期間
YYYY年M月1日 〜 YYYY年M月31日(直近12ヶ月)
## 調査対象ソース
### 1. Slack(Slack MCP)
- 自分が送信したメッセージを検索
- 自分宛のメンション・DMを検索
- キーワード:「依頼」「対応」「完了」「確認」「お願い」「ありがとう」等
- 主要チャンネルを網羅的に確認
### 2. Notion(Notion MCP)
- 自分が作成・編集したページを検索
- タスク・議事録・報告書・計画書を抽出
- アサインされているタスクを検索
- ミーティングノートも検索
### 3. Google Drive(Google Drive MCP)
- 自分が作成・編集したファイルを検索
- 共有されたドキュメント・スプレッドシートを確認
- 対象期間内の更新ファイルを抽出
### 4. Gmail(Gmail MCP)
- 自分が送信したメール(in:sent)を対象期間で検索
- 期間を分割してサンプリング
- 件名ベースで業務・タスクを抽出
- 外部ベンダー・顧客・専門家とのやり取りを重点確認
### 5. Google カレンダー(Google Calendar MCP)
- 対象期間の全イベント(全12ヶ月)を取得
- 定例会議・プロジェクトMTG・面接・作業ブロック等を分類
## 実行手順(分割処理・再現手順)
APIの件数上限・トークン上限があるため、以下の通り分割処理で実行すること。
1回の呼び出しで取り切れない場合はページネーション(cursor / nextPageToken / start_cursor / has_more)で継続する。
巨大な結果はファイルに保存されるため、Pythonスクリプト(json.load → タイトル・件名・日付の抽出、Counterで集計)で解析する。
### Step 0: アカウント特定
1. slack_search_users(メールアドレスで検索)→ SlackユーザーIDを取得
2. notion-get-users(メールアドレスで検索)→ NotionユーザーIDを取得
### Step 1: Slack(月次×両側サンプリング)
1. from:<@ユーザーID> after:月初前日 before:翌月1日 を12ヶ月分、
sort=timestamp で昇順(月初側)20件+降順(月末側)20件の2回ずつ実行
(response_format=concise・include_context=false でトークン節約)
2. キーワード横断検索(期間指定つき、各1ページ):
- to:<@ユーザーID> 依頼/お願いします/対応 ありがとうございます
- from:<@ユーザーID> ○○(自分の担当領域のテーマ別キーワード。例:監査/セキュリティ/契約 等)
3. (さらに網羅する場合)業務が集中する主要チャンネル(自部門の業務チャンネル数個)を
slack_read_channel の oldest/latest 指定で月単位に直接読む
### Step 2: Notion(作成者フィルタ+テーマ別+ミーティングノート)
1. notion-search を作成者フィルタ(created_by_user_ids)+期間フィルタつきで、
自分の担当領域のテーマ別に複数回実行(例:「タスク・議事録」「監査・セキュリティ」
「契約・データ基盤」「規程・リスク」「担当・アサイン」等)
2. 本人の活動を要約した既存ページ(期の目標・計画ページ、活動サマリー等)が
見つかったら notion-fetch で全文取得(最重要ショートカット)
3. notion-query-meeting-notes を created_time の期間フィルタで3〜4期間に分割して照会
(1回50件上限。has_more=true なら期間をさらに分割)
### Step 3: Google カレンダー(全12ヶ月・全件)
1. list_events を1ヶ月ずつ12回、pageSize=250 で実行(100件超の月があるため250指定が必須)
2. 保存されたJSONをPythonで events[].summary をCounter集計し、
定例(定例MTG・1on1等)と単発イベントを分離して分析
3. nextPageTokenが返る月は続きページも取得
### Step 4: Gmail(送信メールの期間分割サンプリング)
1. search_threads で in:sent after:YYYY/MM/DD before:YYYY/MM/DD を
2〜4ヶ月単位のウィンドウに分割(各40スレッド、view=THREAD_VIEW_MINIMAL)
2. 取得結果が特定の月に偏った場合は、手薄な期間でウィンドウを追加
3. Pythonで sender=本人 のメッセージだけを抽出し、日付+件名の一覧を作成
### Step 5: Google Drive(作成日ウィンドウ+共有ファイル)
1. search_files で owner='me' and createdTime > X and createdTime < Y を
2〜4ヶ月単位のウィンドウに分割(pageSize=50、excludeContentSnippets=true)
2. sharedWithMe = true and modifiedTime > 期間開始 で共有ファイルもサンプリング
3. modifiedTime > 期間開始 の直近更新ファイルも1〜2ページ確認
### Step 6: 統合・分析
1. 全ソースの結果を突合し、同一業務を重複排除(複数ソースに出た業務はソース欄に併記)
2. 4カテゴリ(定常業務/プロジェクト・施策/突発対応/管理・マネジメント業務)に分類
3. さらにジャンル(自社の業務領域に合わせて設定。例:経営・ガバナンス/セキュリティ/
法務・契約/情シス・IT/総務/人事・労務/AI・データ基盤 等)を付与
4. 各項目の発生時期は複数ソースの初出〜最終出現で判定(より早い証跡が出たら期間を更新)
## 出力形式
### 1. Markdownレポート
以下のカテゴリに分類して整理すること:
1. 定常業務(毎月・毎週繰り返すもの)
2. プロジェクト・施策(期間限定の取り組み)
3. 突発対応(依頼・問い合わせ対応等)
4. 管理・マネジメント業務(メンバー育成・会議運営等)
各項目には以下を記載:
- 業務・タスク名
- 概要(1〜2行)
- 発生時期・頻度
- ソース(Slack/Notion/Google Drive/Gmail/Google カレンダー)
末尾に「調査方法と限界」(実際に取得した範囲・サンプリング方法・未カバー領域)を必ず記載する。
### 2. グラフィカル分析(HTMLダッシュボード)
Markdownレポートの項目データをもとに、以下を含む分析ダッシュボードを作成すること:
- KPIサマリー(総項目数・カテゴリ別件数・調査ソース数・カレンダーイベント総数)
- ジャンル別の項目数(カテゴリ内訳つきの積み上げ横棒グラフ)
- 月別の活動量(カレンダーイベント数の月次推移)
- 主要プロジェクトのタイムライン(ジャンル別にグルーピングしたガントチャート)
- ソース別の言及数
- 全項目の一覧テーブル(ジャンル・カテゴリ・ソース付き)
## 注意事項
- 抜け漏れがないよう、複数のキーワードで横断的に検索すること
- 同じ業務が複数ソースに出てきた場合は重複排除すること
- センシティブな案件(人事・法務関連等)は概要のみ記載すること
- 最終的にMarkdown形式でまとめること正直な限界
SlackとGmailは全量ではなくサンプリングにしました。なぜなら、口頭・DMだけで完結した業務は原理的に拾えないからです。それでも、記憶ベースの自己申告と比べれば網羅性は段違いでした。「完璧な全量」ではなく「証跡ベースの精度の高い近似」と捉えるのが正しい使い方だと思います。
やってみて分かったこと
1. 証跡ベースは「盛れない・漏れない」
自己申告の棚卸しは、直近の大きな仕事に引っ張られて、地味な定常業務が過小評価されがちです。証跡ベースだと、毎月の勤怠締めも、顧客からのセキュリティチェックシート対応も等しく記録として出てきます。業務の実態把握はまず可視化から、を地で行く体験でした。
2. 月別の活動量推移が副産物として効く
どの月に何が集中していたかがグラフで見えるので、「この時期は毎年審査対応で埋まる」「期初は問い合わせが跳ねる」といった負荷の季節性が説明できるようになります。増員や業務移管の議論に、感覚ではなくデータで入れます。
3. センシティブ案件の扱いは最初にプロンプトで縛る
人事・法務関連の案件は「概要のみ記載」とプロンプトの注意事項に明記しました。AIに社内データを横断させる以上、出力に何を書かせないかの設計は、何を書かせるかと同じくらい重要です。これから試す方は必ず入れてください。