/ ディレクトリ / プレイグラウンド / Microsoft Learn MCP
● 公式 MicrosoftDocs ⚡ 即起動

Microsoft Learn MCP

作者 MicrosoftDocs · MicrosoftDocs/mcp

Microsoft公式のLearn MCP — Azure / .NET / M365 / Windowsの最新ドキュメントとコードサンプルを引用付きで検索・取得。

Microsoft Learn MCPは、learn.microsoft.com/api/mcp でMicrosoftDocsがホストするリモートMCPエンドポイントです。Microsoft Learnのコーパスをバックに検索+取得ツールを公開しており、Microsoftスタック全体の現在のドキュメント・APIリファレンス・コードサンプルを適切な引用付きでClaudeが利用できます。スクレイピングなし、古いスナップショットなし。

なぜ使うのか

主な機能

ライブデモ

実際の動作

microsoft-learn-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "microsoft-learn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "microsoft-learn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "microsoft-learn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "microsoft-learn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "microsoft-learn-mcp",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://learn.microsoft.com/api/mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "microsoft-learn-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "https://learn.microsoft.com/api/mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add microsoft-learn-mcp -- npx -y mcp-remote https://learn.microsoft.com/api/mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Microsoft Learn MCP

現在のドキュメントからAzureリソースパターンを実装する

👤 AzureのクラウドエンジニA ⏱ ~20 min intermediate

使うタイミング: Claudeが廃止されたプロパティ名でBicep/Terraformを書き続ける;現在のAPIを使わせたい場合。

フロー
  1. ドキュメントを検索
    Microsoft Learn MCP: search 'Azure Container Apps managed identity'. Pull the current docs.✓ コピーしました
    → URLと共にLearnページが検索結果として返される
  2. 取得して引用
    Get the section on assigning a user-assigned identity. Quote the current Bicep schema, don't paraphrase.✓ コピーしました
    → プロパティ名が含まれた正確なBicepスニペット
  3. 適用
    Now write the Bicep for my container app to use an existing identity id-prod-app. Match the schema you quoted.✓ コピーしました
    → Bicepが現在のMicrosoft.App APIに対してコンパイルされる

結果: スキーマが現在のAzure APIと一致するため、初回デプロイが成功するBicep。

注意点
  • 検索で表示されたドキュメントが古いAPIバージョン向け — URLに「latest」または正しいapi-versionが含まれているか確認する
組み合わせ: filesystem · github

Claudeを離れずに.NET APIを調べる

👤 C# / .NET開発者 ⏱ ~10 min beginner

使うタイミング: System.Threading.Channels.Channel.CreateBoundedの正確なシグネチャが必要な場合。

フロー
  1. 検索
    Microsoft Learn: signature for Channel.CreateBounded in .NET 9.✓ コピーしました
    → オーバーロード付きのAPIリファレンスページ
  2. 使用
    Write a producer/consumer using BoundedChannelOptions with capacity 100, FullMode=Wait. Match the docs exactly.✓ コピーしました
    → コードが現在のAPIサーフェスと一致する

結果: ドキュメントを切り替えることなく正確なC#コード。

注意点
  • .NET Frameworkと.NET(Core)のドキュメントが混在する — 常にバージョンを指定する;Learnは両方を返す

引用付きのMicrosoft Graph PowerShellスクリプトを書く

👤 M365管理者 ⏱ ~25 min intermediate

使うタイミング: ライセンスの一括割り当てをしたい;現在のGraphコマンドレット構文が必要な場合。

フロー
  1. コマンドレットを検索
    Learn: current syntax for Set-MgUserLicense in Microsoft.Graph PowerShell SDK.✓ コピーしました
    → パラメーターセット付きのコマンドレットドキュメント
  2. スクリプトを構成
    Write a script that reads users.csv (UPN, SkuPartNumber) and assigns the license. Cite the Learn URLs you used.✓ コピーしました
    → 引用コメントブロック付きの動作するPowerShell

結果: レビュー用の引用付き監査可能なスクリプト。

注意点
  • 古いAzureADモジュールの構文 — AzureADは廃止;promptでMicrosoft.Graphを明示的に指定する
組み合わせ: filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

microsoft-learn-mcp + github

LearnでAzureパターンを確認した後、IaCの変更をPRで提出する

Learn: pull Container Apps + identity. GitHub: open a PR updating my Bicep.✓ コピーしました
microsoft-learn-mcp + filesystem

引用付きスニペットをRunbookとして保存する

Pull the M365 license cmdlet docs and save a runbook to /runbooks/m365-license.md with citations.✓ コピーしました
microsoft-learn-mcp + context7

Microsoftのドキュメントとより広範なライブラリドキュメントをクロスリファレンスする

Compare Microsoft Learn's recommended pattern with what context7 says for the same SDK.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
microsoft_docs_search query: str 最初のステップ free
microsoft_docs_fetch url: str 特定のページを取得 free

コストと制限

運用コスト

APIクォータ
Microsoftがホスト;IPごとの合理的なfair use
呼び出しあたりのトークン
300〜5000
金額
無料
ヒント
まず検索し、最も関連性の高い1〜2件のURLのみをfetchする

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし — 公開ドキュメント
データ送信先: learn.microsoft.com

トラブルシューティング

よくあるエラーと対処法

Result page is for old API version

クエリに「api-version=YYYY-MM」または.NETバージョンを追加する

Search returns marketing pages

クエリに「docs」または「reference」を追加;URLに「/dotnet/api/」または「/azure/」が含まれるもので絞る

mcp-remote connection refused

ネットワークを確認;エンドポイントはhttps://learn.microsoft.com/api/mcp

確認: curl -I https://learn.microsoft.com/api/mcp

代替案

Microsoft Learn MCP 他との比較

代替案代わりに使う場面トレードオフ
Context7Microsoft以外のライブラリも広くカバーしたい場合Microsoft固有のドキュメントには権威性が低い
GitMCPキュレートされたドキュメントではなくリポジトリの生ソースが欲しい場合キュレーションなし;リポジトリにあるものがそのまま返される

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る