0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

非エンジニアのPMがClaude Code × MCPで週次レポートを自動生成するまでの全手順【ノーコードに近い】

0
Posted at

結論:非エンジニアでも Claude Code × MCP で定型レポート業務を自動化できる

「Claude Codeはエンジニア向けでしょ?」と言っていたうちのPMが、今では毎週月曜の週次レポートを自動生成しています。

所要時間は 3時間 → 15分に短縮。 しかも抜け漏れゼロです。

この記事では、エンジニアである私がPMの隣に座りながら一緒に構築した「Claude Code × MCP による週次レポート自動生成」の全手順を共有します。エンジニアの皆さんが自チームの非エンジニアメンバーに導入を提案・サポートする際の参考になるはずです。


1. 背景:PMが毎週3時間かけていた週次レポート作成業務

うちのチームのPM(仮にAさんとします)は、毎週月曜に以下の作業を手動で行っていました。

  1. GitHub を開いて先週のコミットログ・マージ済みPRを確認
  2. Notion のプロジェクトボードでチケットのステータスを一つずつ確認
  3. Excel に情報を転記して集計
  4. Notionの週次レポートページ にフォーマットに沿って執筆
  5. 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-mcpnotion-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_IDREPORT_PARENT_PAGE_ID は Notion の URL から取得できる(https://notion.so/xxxxx?v=yyyyyxxxxx 部分)
  • トーン指定を変えるだけで、経営会議向けとチーム向けでレポートを書き分けることも可能

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. コマンド実行(1分)
  2. 生成されたレポートをNotionで確認(5分)
  3. 文脈の補足を手動追記(5〜8分):例えば「このPRの背景にはクライアントAからの緊急要望があった」といった、コードやチケットだけでは読み取れない情報
  4. 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 の設計。 フォーマット・トーン・出力先を明確に指示すれば、毎回一定品質のレポートが生成される
  • エンジニアの役割は「仕組みの構築」と「安全設計」。 トークン管理・最小権限・人間の確認フローを初期段階で整えることが成功の条件

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?