はじめに
技術的な疑問が湧いたとき、Microsoft Learn や公式ドキュメントを開いて調べて、理解して…でも 1 週間後にはもう忘れている。そんな経験はありませんか?
調べた内容をメモに残そうと思っても、ブラウザとエディタを行き来するのは面倒で、結局「あとで整理しよう」が永遠に来ない——これは多くのエンジニアが抱える課題です。
本記事では、GitHub Copilot Chat のエージェントモードと **MCP(Model Context Protocol)**を使って、Microsoft Learn のドキュメントに接続し、技術的な質問に対する回答を自動的に Markdown ファイルとして保存する仕組みを紹介します。
ポイントは以下の 3 つです:
- MCP で Microsoft Learn の情報をリアルタイムに取得
- 回答を
YYYY-MM-DD-質問名.md形式のファイルとして自動保存 - プロンプトテンプレートを作っておくことで、誰でも再現可能に
これにより、過去の調査結果がナレッジベースとして蓄積され、振り返りやチーム共有にも活用できます。
目次
- 全体像:何をどう組み合わせるのか
- 前提条件
- MCP とは何か
- 環境構築:MCP サーバーの設定
- 実践:エージェントモードで技術調査してみた
- ナレッジファイルの命名規則と運用ルール
- プロンプトテンプレートの作成
- 応用:ナレッジベースとしての活用
- 注意点・制限事項
- まとめ
全体像:何をどう組み合わせるのか
今回の仕組みは、以下の技術要素を組み合わせています。
┌─────────────────────────────────────────────────────┐
│ VS Code + GitHub Copilot Chat(エージェントモード) │
│ │ │
│ ▼ │
│ MCP クライアント │
│ │ │
│ ▼ │
│ ┌────────────────────────────────┐ │
│ │ MCP サーバー(fetch / docs) │ │
│ └────────────┬───────────────────┘ │
│ │ │
│ ▼ │
│ Microsoft Learn API / │
│ Web ページ取得 │
│ │ │
│ ▼ │
│ ┌────────────────────────────────┐ │
│ │ Markdown ファイルとして保存 │ │
│ │ 例: 2026-03-11-azure-aks.md │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
| 要素 | 役割 |
|---|---|
| GitHub Copilot Chat エージェントモード | 自然言語の指示を解釈し、ツールを自律的に呼び出す |
| MCP(Model Context Protocol) | Copilot と外部データソースを接続するプロトコル |
| MCP サーバー(fetch) | Web ページの内容を取得するツールを提供 |
| Microsoft Learn | Azure や Microsoft 製品の公式ドキュメント |
| Markdown ファイル | ナレッジとして保存・蓄積される成果物 |
前提条件
以下の環境が必要です:
- VS Code 最新版(1.99 以降推奨)
-
GitHub Copilot 拡張機能(エージェントモード対応版)
- GitHub Copilot Chat がエージェントモードに対応していること
- GitHub Copilot サブスクリプション(Individual / Business / Enterprise / Free)
- Node.js 18 以上(MCP サーバー実行に必要)
MCP とは何か
**MCP(Model Context Protocol)**は、AI モデルと外部のデータソースやツールを接続するためのオープンプロトコルです。Anthropic が提唱し、GitHub Copilot を含む多くの AI ツールが対応しています。
MCP の主要な概念:
| 概念 | 説明 |
|---|---|
| MCP サーバー | 外部ツールやデータソースを公開するプロセス |
| MCP クライアント | AI モデル側でサーバーに接続する仕組み(VS Code が担当) |
| Tools | サーバーが提供する機能(例: Web ページ取得、検索) |
| Resources | サーバーが提供するデータ(例: ドキュメント一覧) |
GitHub Copilot Chat のエージェントモードでは、MCP サーバーが提供するツールを自律的に判断して呼び出すことができます。これにより、「Microsoft Learn でこの技術について調べて」と言うだけで、適切なページを取得して回答を生成してくれます。
環境構築:MCP サーバーの設定
Step 1: VS Code の MCP 設定ファイルを作成
プロジェクトのルートに .vscode/mcp.json を作成します。
{
"servers": {
"fetch": {
"command": "npx",
"args": [
"-y",
"@anthropic-ai/mcp-fetch@latest"
]
}
}
}
この設定で、Web ページの内容を取得できる MCP サーバーが利用可能になります。
補足:
@anthropic-ai/mcp-fetchは、指定した URL のコンテンツをテキストとして取得する MCP サーバーです。Microsoft Learn のページなど、任意の Web ページの内容をエージェントモードから取得できるようになります。
Step 2: Microsoft Learn 特化の MCP サーバー(オプション)
Microsoft 公式の Azure MCP サーバーを追加すると、Azure ドキュメントにより特化した検索が可能です。
{
"servers": {
"fetch": {
"command": "npx",
"args": [
"-y",
"@anthropic-ai/mcp-fetch@latest"
]
},
"microsoft-docs": {
"command": "npx",
"args": [
"-y",
"@anthropic-ai/mcp-fetch@latest"
],
"env": {
"DEFAULT_URL": "https://learn.microsoft.com"
}
}
}
}
Step 3: エージェントモードの確認
VS Code で GitHub Copilot Chat を開き、入力欄のモードが 「Agent」 になっていることを確認します。
- Copilot Chat パネルを開く(
Ctrl+Shift+I/Cmd+Shift+I) - 入力欄の左側にあるモード選択で 「Agent」 を選択
- MCP サーバーが認識されていることを確認(ツールアイコンに
fetchが表示される)
実践:エージェントモードで技術調査してみた
例 1: Azure Container Apps のスケーリング仕様を調べる
エージェントモードの Chat で以下のように入力します:
Microsoft Learn の Azure Container Apps のドキュメントから、
KEDA ベースのスケーリングの仕組みと設定方法を調べて、
Markdown ファイルとしてまとめてください。
ファイル名は「2026-03-11-azure-container-apps-scaling.md」で
このディレクトリに保存してください。
すると、エージェントモードが以下の動作を自律的に実行します:
- MCP fetch ツールを使って Microsoft Learn のページを取得
- 取得したドキュメントの内容を解析・要約
- 指定した命名規則で Markdown ファイルを作成
- ファイルをワークスペースに保存
生成されるファイルのイメージ:
# Azure Container Apps - KEDA ベースのスケーリング
## 調査日
2026-03-11
## 出典
- https://learn.microsoft.com/ja-jp/azure/container-apps/scale-app
## 概要
Azure Container Apps は KEDA(Kubernetes Event-Driven Autoscaling)を
基盤としたスケーリング機能を提供する...
## スケーリングルールの種類
| ルールタイプ | 説明 | ユースケース |
|------------|------|------------|
| HTTP | 同時リクエスト数に基づく | Web API |
| TCP | 同時接続数に基づく | WebSocket |
| カスタム | KEDA スケーラーに基づく | キュー処理 |
## 設定方法
### HTTP スケーリングルール
\```yaml
scale:
minReplicas: 1
maxReplicas: 10
rules:
- name: http-rule
http:
metadata:
concurrentRequests: "50"
\```
## 注意点
- 0 へのスケールイン(Scale to Zero)がデフォルトで有効
- ...
例 2: AKS と Container Apps の比較を調べる
Microsoft Learn から AKS と Azure Container Apps の違いを調べて、
比較表を中心にした Markdown を作成してください。
ファイル名: 2026-03-11-aks-vs-container-apps.md
例 3: Azure Functions の Flex Consumption プランを調べる
https://learn.microsoft.com/ja-jp/azure/azure-functions/flex-consumption-plan
のページ内容を取得して、Flex Consumption プランの特徴と制限事項を
Markdown にまとめてください。
ファイル名: 2026-03-11-azure-functions-flex-consumption.md
ナレッジファイルの命名規則と運用ルール
蓄積したナレッジを後から探しやすくするために、以下の命名規則を統一しましょう。
ファイル名フォーマット
YYYY-MM-DD-<技術トピック名>.md
例:
| ファイル名 | 内容 |
|---|---|
2026-03-11-azure-container-apps-scaling.md |
Container Apps のスケーリング調査 |
2026-03-10-aks-network-policy.md |
AKS ネットワークポリシーの調査 |
2026-03-08-github-actions-reusable-workflow.md |
GitHub Actions の再利用可能ワークフロー |
2026-03-05-bicep-module-registry.md |
Bicep モジュールレジストリの使い方 |
ルール
- 日付はファイル作成日(調査日)
- トピック名は英語のケバブケース(小文字、ハイフン区切り)
- 1 ファイル = 1 トピック(粒度を小さくする)
- 出典 URL は必ず記載する
- 調査日をファイル内にも明記する
ディレクトリ構造の例
tech-blog/
├── .vscode/
│ └── mcp.json # MCP サーバー設定
├── .github/
│ ├── blog-template.md # ブログ記事テンプレート
│ └── copilot-instructions.md # Copilot カスタム指示
├── .prompts/
│ └── learn-research.prompt.md # プロンプトテンプレート
├── 2026-03-03-github-copilot-cli.md
├── 2026-03-05-bicep-module-registry.md
├── 2026-03-08-github-actions-reusable-workflow.md
├── 2026-03-10-aks-network-policy.md
└── 2026-03-11-azure-container-apps-scaling.md
プロンプトテンプレートの作成
毎回同じ指示を書くのは手間なので、VS Code の Prompt Files 機能を使ってテンプレート化しましょう。
.prompts/learn-research.prompt.md を作成
VS Code では .prompts/ ディレクトリ内に .prompt.md ファイルを置くことで、Copilot Chat から再利用可能なプロンプトテンプレートとして呼び出せます。
---
mode: agent
tools:
- fetch
description: "Microsoft Learn から技術情報を調査し Markdown にまとめる"
---
# Microsoft Learn 技術調査テンプレート
以下のルールに従って、技術調査を実施し Markdown ファイルとして保存してください。
## 調査指示
1. Microsoft Learn(https://learn.microsoft.com)から、
指定されたトピックに関する公式ドキュメントを MCP fetch ツールで取得してください
2. 取得した内容を以下のフォーマットで Markdown にまとめてください
3. ファイル名は `{今日の日付}-{トピック名のケバブケース}.md` としてください
4. このワークスペースのルートディレクトリに保存してください
## 出力フォーマット
以下の構造で Markdown を生成してください:
\```markdown
# {トピック名}
## 調査日
{YYYY-MM-DD}
## 出典
- {参照した Microsoft Learn の URL(複数可)}
## 概要
{トピックの概要を 3〜5 行で}
## 詳細
### {サブトピック 1}
{詳細な説明、コード例、テーブルなどを適切に使って}
### {サブトピック 2}
...
## 注意点・制限事項
{利用時の注意点や制限事項があれば}
## 関連トピック
- {関連する技術トピックへのリンクや次に調べるべきこと}
\```
## 注意事項
- 公式ドキュメントの内容を正確に反映してください
- コード例がある場合は必ず含めてください
- 日本語で記述してください(技術用語は英語可)
- テーブルを活用して情報を整理してください
## 調査トピック
{ここにユーザーが調査したいトピックを入力}
テンプレートの使い方
- VS Code の Copilot Chat を開く
- エージェントモードを選択
- チャット入力欄で
/を入力してプロンプトファイル一覧を表示 -
learn-researchを選択 -
{調査トピック}の部分に調べたい内容を入力して送信
実際の使用例:
/learn-research
Azure Kubernetes Service (AKS) の
ワークロードアイデンティティの設定方法と仕組み
これだけで、エージェントモードが自動的に:
- Microsoft Learn から AKS Workload Identity のドキュメントを取得
- フォーマットに沿って Markdown を生成
-
2026-03-11-aks-workload-identity.mdとして保存
応用:ナレッジベースとしての活用
1. 過去の調査を Copilot のコンテキストとして活用
蓄積した Markdown ファイルは、Copilot Chat の #file コンテキストとして利用できます。
#file:2026-03-10-aks-network-policy.md の内容を踏まえて、
Calico ネットワークポリシーの具体的な YAML サンプルを作ってください
過去に調べた内容をコンテキストとして渡すことで、より精度の高い回答が得られます。
2. GitHub リポジトリでチーム共有
ナレッジファイルを Git リポジトリに push すれば、チームメンバー全員が参照できます。
git add 2026-03-11-azure-container-apps-scaling.md
git commit -m "docs: Azure Container Apps スケーリング調査メモ"
git push
3. copilot-instructions.md でルールを自動適用
.github/copilot-instructions.md にナレッジ作成ルールを書いておくと、特別な指示なしでもルールが適用されます。
## ナレッジファイル作成ルール
技術調査を依頼された場合は、以下のルールに従ってください:
1. ファイル名: `YYYY-MM-DD-<トピック名>.md`
2. 必ず「調査日」「出典 URL」「概要」を含める
3. コード例がある場合は言語指定付きコードブロックで記載
4. 日本語で記述(技術用語は英語可)
4. 検索・振り返りの使い方
蓄積したファイルは VS Code の検索機能やターミナルから横断検索できます。
# 特定のキーワードで過去のナレッジを検索
grep -rl "スケーリング" *.md
# 直近 1 週間の調査ファイル一覧
find . -name "2026-03-*" -type f | sort
# ファイル数の確認(ナレッジの蓄積量)
ls -1 *.md | wc -l
注意点・制限事項
| 項目 | 内容 |
|---|---|
| MCP サーバー起動 | 初回は npx によるパッケージダウンロードに時間がかかる場合があります |
| ページ取得の制限 | 一部の Microsoft Learn ページは動的レンダリングのため、取得できないコンテンツがある場合があります |
| 情報の鮮度 | 取得時点のドキュメント内容です。Azure サービスは頻繁に更新されるため、調査日を必ず記録しましょう |
| トークン制限 | 非常に長いドキュメントページの場合、全文を取得しきれないことがあります。その場合はセクションを絞って再取得してください |
| 個人的見解 | AI が生成した要約は、原文のニュアンスと異なる場合があります。重要な判断には原文も確認しましょう |
まとめ
本記事では、GitHub Copilot Chat のエージェントモード × MCP × Microsoft Learn を組み合わせた技術ナレッジの自動蓄積ワークフローを紹介しました。
この仕組みのメリット
- 調査と記録が一体化 — 調べたことが自動的に Markdown として残る
-
命名規則の統一 —
YYYY-MM-DD-トピック名.mdで後から探しやすい - プロンプトテンプレート — 毎回の調査手順を標準化・省力化
- ナレッジの再利用 — 過去の調査結果を Copilot のコンテキストとして活用可能
- チーム共有 — Git リポジトリに push するだけで全員がアクセス可能
始め方(3 ステップ)
-
.vscode/mcp.jsonに fetch サーバーを設定 -
.prompts/learn-research.prompt.mdにプロンプトテンプレートを配置 - エージェントモードでトピックを投げる → Markdown が自動生成される
「調べて終わり」から「調べたら自動で残る」へ。ぜひ日々の技術調査に取り入れてみてください。