結論:非エンジニアでも Claude Code × MCP で定型レポート業務を自動化できる
「Claude Codeはエンジニア向けでしょ?」と言っていたうちのPMが、今では毎週月曜の週次レポートを自動生成しています。
所要時間は 3時間 → 15分に短縮。 しかも抜け漏れゼロです。
この記事では、エンジニアである私がPMの隣に座りながら一緒に構築した「Claude Code × MCP による週次レポート自動生成」の全手順を共有します。エンジニアの皆さんが自チームの非エンジニアメンバーに導入を提案・サポートする際の参考になるはずです。
1. 背景:PMが毎週3時間かけていた週次レポート作成業務
うちのチームのPM(仮にAさんとします)は、毎週月曜に以下の作業を手動で行っていました。
- GitHub を開いて先週のコミットログ・マージ済みPRを確認
- Notion のプロジェクトボードでチケットのステータスを一つずつ確認
- Excel に情報を転記して集計
- Notionの週次レポートページ にフォーマットに沿って執筆
- Slackでチームに 共有
これが毎週 約3時間。しかも「あのPRの内容を見落としていた」「チケットのステータス更新が反映されていなかった」という抜け漏れが月1〜2回発生していました。
PMの時間を奪っていたのは「情報収集」と「転記」であり、判断業務ではなかった——これが自動化に踏み切った最大の理由です。
2. 完成形:全体アーキテクチャ
まず完成形のイメージを示します。
ポイントは3つです。
- GitHub MCP Server で先週のコミットログとマージ済みPRを自動取得
- Notion MCP Server でプロジェクトボードのチケット進捗を自動取得
- CLAUDE.md にレポートフォーマットとトーン指定を書いておくことで、毎回同じ品質のレポートが生成される
PMが書くコードは ゼロ です。設定ファイル(JSON)を数か所編集するだけで済みます。
3. 環境構築:非エンジニアでもできるインストール手順
前提条件
| 項目 | 条件 |
|---|---|
| OS | macOS または Windows(WSL推奨) |
| Claude Code | 最新版(Node.js 18以上が必要) |
| アカウント | Anthropic の Claude Pro / Max プラン |
| GitHub | Personal Access Token(repo スコープ) |
| Notion | Internal Integration Token |
Step 1: Node.js のインストール
非エンジニアのAさんのMacには Node.js が入っていませんでした。ターミナルを開いて以下を実行してもらいました。
# Homebrew がない場合は先にインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Node.js インストール
brew install node@22
Windows の場合は 公式インストーラー からインストールするのが最も簡単です。
Step 2: Claude Code のインストール
npm install -g @anthropic-ai/claude-code
インストール後、ターミナルで claude と入力して認証フローを完了します。
claude
# ブラウザが開くので Anthropic アカウントでログイン
Step 3: MCP Serverの設定
Claude Code の MCP 設定は claude mcp add コマンドで行います。
GitHub MCP Server の追加:
claude mcp add github-mcp -s user -- npx -y @modelcontextprotocol/server-github
環境変数として GitHub Personal Access Token を設定します。
# ~/.claude/.env に追記(または export)
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxxxxxxxxxx"
Notion MCP Server の追加:
claude mcp add notion-mcp -s user -- npx -y @notionhq/notion-mcp-server
# 同様に Notion の Internal Integration Token を設定
export NOTION_API_KEY="ntn_xxxxxxxxxxxx"
Aさんへの説明時のコツ: 「このトークンはパスワードのようなもの。絶対に他人に共有しないでください」と伝え、トークンの取得画面を横で一緒に操作しました。
Step 4: MCP 接続の確認
claude mcp list
github-mcp と notion-mcp が表示されれば設定完了です。
4. CLAUDE.md の書き方:レポートフォーマットとトーン指定
ここが この仕組みの肝 です。CLAUDE.md はプロジェクトルートに置く指示書で、Claude Code が作業する際に毎回自動で読み込みます。
以下がAさんのチーム用に作成した CLAUDE.md のテンプレートです。
# 週次レポート自動生成 - プロジェクト指示書
## あなたの役割
あなたはプロジェクトマネージャーのアシスタントです。
GitHub のコミットログと Notion のチケット進捗から、週次レポートを生成してください。
## データ取得手順
1. GitHub MCP を使い、リポジトリ `our-org/our-app` の直近7日間のマージ済みPRを取得
2. Notion MCP を使い、データベース `PROJECT_DB_ID` から
ステータスが「進行中」「完了」「ブロック中」のチケットを取得
## レポートフォーマット
以下のフォーマットに**厳密に**従ってください。
### 📊 週次レポート(YYYY/MM/DD 週)
#### 🚀 今週の成果
- マージされたPRの概要を箇条書き(技術詳細は省略し、機能・ビジネス価値で記述)
#### 📋 チケット進捗サマリー
| ステータス | 件数 | 代表的なチケット |
|-----------|------|----------------|
| 完了 | N件 | チケット名 |
| 進行中 | N件 | チケット名 |
| ブロック中 | N件 | チケット名(ブロック理由も記載) |
#### ⚠️ リスク・懸念事項
- ブロック中チケットの詳細と対応案
#### 📅 来週の予定
- 進行中チケットから来週完了見込みのものをリストアップ
## トーンとスタイル
- 読者はエンジニア+ビジネスサイドの混合チーム
- 専門用語には簡単な補足を括弧書きで付ける
- 「〜しました」調の丁寧な文体
- 1項目は2行以内に収める
## 出力先
生成したレポートは Notion MCP を使い、
ページ親ID `REPORT_PARENT_PAGE_ID` の子ページとして作成してください。
タイトルは「週次レポート YYYY/MM/DD」としてください。
非エンジニアが編集しやすいポイント:
- フォーマットは 見たまま なので「ここの項目を増やしたい」といった変更が直感的
-
PROJECT_DB_IDやREPORT_PARENT_PAGE_IDは Notion の URL から取得できる(https://notion.so/xxxxx?v=yyyyyのxxxxx部分) - トーン指定を変えるだけで、経営会議向けとチーム向けでレポートを書き分けることも可能
5. 実行方法:ワンコマンドで週次レポートが生成される仕組み
毎週月曜の朝、Aさんがやることは これだけ です。
cd ~/weekly-report
claude -p "今週の週次レポートを生成して、Notionに書き戻してください"
-p フラグ(print mode)を使うことで、対話セッションに入ることなくプロンプトを渡して実行できます。
実行の流れ(内部で起きていること)
応用:cron や Automator で完全自動化
Aさんは現時点では手動でコマンドを叩いていますが、エンジニア側で cron を設定すれば完全自動化も可能です。
# 毎週月曜 9:00 に自動実行(crontab -e で追加)
0 9 * * 1 cd /Users/a-san/weekly-report && claude -p "今週の週次レポートを生成して、Notionに書き戻してください" --allowedTools "mcp__github-mcp__*,mcp__notion-mcp__*"
ただし、PMに「自分でトリガーする」感覚を残す方が安心感がある とAさんが言っていたので、現在はあえて手動実行にしています。
6. Before / After:3時間→15分、かつ抜け漏れゼロに
定量比較
| 指標 | Before | After | 改善率 |
|---|---|---|---|
| 所要時間 | 約3時間 | 約15分(確認・微修正含む) | 92%削減 |
| 抜け漏れ発生 | 月1〜2回 | 導入後3ヶ月で 0回 | 100%改善 |
| 情報鮮度 | 前日までの記憶ベース | API直接取得でリアルタイム | ― |
| フォーマット崩れ | 時々発生 | CLAUDE.md で統一 | ― |
15分の内訳
Aさんの現在の月曜ルーティンはこうなっています。
- コマンド実行(1分)
- 生成されたレポートをNotionで確認(5分)
- 文脈の補足を手動追記(5〜8分):例えば「このPRの背景にはクライアントAからの緊急要望があった」といった、コードやチケットだけでは読み取れない情報
- Slackで共有(1分)
重要な点は、Aさんが「確認と判断」に集中できるようになったこと です。情報収集と転記という「作業」から解放され、PMとしての本来の仕事に時間を使えています。
7. PM本人の感想と、エンジニアから見た導入時の注意点
Aさん(PM)の感想
「最初は『ターミナルを触るなんて無理』と思っていたけど、やることはコマンド1行だけ。CLAUDE.md はただのテキストファイルだから、レポートの項目を変えたい時も自分で編集できる。一番嬉しいのは、月曜の憂鬱がなくなったこと。」
「あと、生成されたレポートを読むと『あ、このPR知らなかった』と気づくことがある。情報の抜け漏れに自分で気づけるのも大きい。」
エンジニアから見た導入時の注意点
実際に導入をサポートして感じた注意点を挙げます。
1. トークンの管理を最初にしっかり説明する
GitHub PAT や Notion Integration Token は機密情報です。非エンジニアは「設定ファイルに書いたもの」をそのままスクリーンショットで共有してしまうリスクがあります。最初の段階で「このトークンは絶対に画面共有やスクショに含めない」というルールを徹底しました。
2. CLAUDE.md は一緒に育てる
最初に渡したフォーマットで完璧というわけではありません。2〜3週間は「この項目が足りない」「ここの粒度が細かすぎる」といったフィードバックが出ます。CLAUDE.md をPMと一緒に反復改善する期間を見込んでおくとスムーズです。
3. 権限は最小限に
GitHub PAT の scope は repo(read)に限定し、write 権限は付けていません。Notion Integration も対象データベースとページだけにアクセスを絞っています。非エンジニアが使うツールだからこそ、誤操作で壊せない設計 にしておくことが大事です。
4. Claude Code のバージョン更新時に動作確認する
Claude Code は活発に開発が進んでいるため、アップデートでMCPの挙動が変わる可能性があります。アップデート後は一度動作確認をしてから本番運用に戻すフローを伝えています。
5. 出力は必ず人間が確認する
LLMの出力をノーチェックで共有するのは危険です。「AIが生成 → PMが確認・追記 → 共有」というフローを崩さないことを約束として決めています。
まとめ
- Claude Code × MCP は非エンジニアでも使える。 コードを書く必要はなく、CLAUDE.md(テキストファイル)とコマンド1行で定型業務を自動化できる
- 導入のカギは CLAUDE.md の設計。 フォーマット・トーン・出力先を明確に指示すれば、毎回一定品質のレポートが生成される
- エンジニアの役割は「仕組みの構築」と「安全設計」。 トークン管理・最小権限・人間の確認フローを初期段階で整えることが成功の条件