モデル / データセット
MicrosoftDocs/mcp avatar
MicrosoftDocs/mcp

Microsoft Learn MCP Server と learn-cli、公式ドキュメントをエージェントに渡す仕組み

Official Microsoft Learn MCP Server and CLI tool – powering LLMs and AI agents with real-time, trusted Microsoft docs & code samples.

スター 1,889フォーク 248TypeScriptCC-BY-4.0

ひと目でわかる

これは何?
Microsoft が公開しているリモート MCP エンドポイントと CLI の構成を、README から読み取れる範囲で整理する。API キー不要で接続できる点と、認証がないゆえに社内情報を扱えない境界の両方を見る。
誰に向いている?
Azure や .NET の API 名、CLI コマンド、コードサンプルをエージェントに参照させたい開発者には、https://learn.microsoft.com/api/mcp を MCP クライアントに登録するだけで試せる手軽さがある。逆に、社内固有の設計や未公開の API を検索対象にしたい場合、このサーバーは公開ドキュメントしか返さないため役に立たない。
商用利用できる?
クレジット表示を条件にできます。CC-BY-4.0 は、原作者の表示と変更点の明記を条件に商用利用を認めています。創作物向けのライセンスなので、コードへの適用方法は確認してください。
今もメンテナンスされている?
されています。最後のコミットは 6 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

学習データの締め切りを埋めるためのリモートエンドポイント

LLM が Azure SDK の存在しないメソッド名を書いたり、公開されていないパッケージ名を補完したりする問題は、モデルの学習時点と実際のドキュメントの更新時期がずれることで起きる。MicrosoftDocs/mcp が提供するのは、この差分を埋めるための検索経路である。README は「Stop AI Hallucinations」という表現で、古い学習データや不特定の Web 検索に頼る代わりに、Microsoft の公式ドキュメントへ直接アクセスさせると説明している。

対象は Azure、.NET、その他 Microsoft 製品のコードを書く開発者と、その開発者が使うエージェントである。README の例示するプロンプトを見ると用途が具体的で、Azure Container App とマネージド ID を作る Azure CLI コマンド、特定リージョンでのモデル提供状況、.NET 8 の minimal API における IHttpClientFactory の実装、Azure AI Foundry の評価 SDK を使った Python コードなどが並ぶ。いずれも記憶から書くと誤りやすい種類の問いである。

サーバーが公開する 3 つのツールと検索の流れ

接続先は単一のリモートエンドポイント https://learn.microsoft.com/api/mcp で、クライアントは Streamable HTTP でここに繋ぐ。README はこの URL がブラウザからの直接アクセスを想定しておらず、手動で開くと 405 Method Not Allowed が返る場合があると明記している。つまりローカルにプロセスを立てるタイプの MCP サーバーではなく、Microsoft 側が運用するサービスへ接続する形である。

公開されているツールは 3 つ。microsoft_docs_search は query 文字列を受け取り、Microsoft の公式技術ドキュメントに対して意味検索を行う。microsoft_docs_fetch は url を受け取り、指定したドキュメントページを markdown に変換して返す。microsoft_code_sample_search は query と任意の language フィルタを受け取り、公式のコードスニペットを検索する。検索で候補を絞り、必要なら fetch で本文を取りに行くという二段構えの流れが読み取れる。

ツールが 3 つに絞られている点は設計上の判断だと見てよい。ドキュメントの書き込みやリポジトリ操作は含まれず、読み取り専用の参照経路に限定されている。エージェントに渡す権限としては狭く、その分だけ事故の余地が小さい。

クライアントへの登録と learn-cli のセットアップ

多くのクライアントで通用する設定は README にそのまま載っている。servers オブジェクトの下に microsoft-learn という名前を置き、type を http、url を https://learn.microsoft.com/api/mcp とする形である。VS Code と VS Code Insiders 向けにはインストール用のバッジリンクが用意されており、README は API キーもログインもサインアップも不要だと述べている。

MCP クライアントを使わずターミナルから同じツールを叩きたい場合は @microsoft/learn-cli を使う。インストールせずに試すなら次の 1 行で済む。

npx @microsoft/learn-cli search "azure functions timeout"

常設するなら npm install -g @microsoft/learn-cli を実行し、以降は mslearn search "azure functions timeout" のように呼ぶ。ただし README は、npm パッケージを入れただけではエージェント側の discovery は設定されないと注意している。エージェントに CLI の存在を認識させるには mslearn setup --cli を実行する。既定はユーザープロファイルで、--project を付けるとカレントリポジトリ側に入る。--copilot、--claude、--codex で検出を上書きでき、複数指定もできる。

mslearn setup --cli --copilot --claude --codex

書き込み先は README の表で確認できる。GitHub Copilot はユーザー範囲が ~/.copilot/skills/、プロジェクト範囲が .github/skills/。Claude Code は ~/.claude/skills/ と .claude/skills/。Codex は ~/.agents/skills/ と .agents/skills/ である。削除は mslearn remove --cli で、Microsoft Learn CLI が管理する discovery の成果物だけを対象にする。この仕組みは MCP 自体の設定や、Cursor などプラグイン対象外のエージェントの導入までは行わない。

トークン予算と OpenAI 互換エンドポイントは実験扱い

README は実験的機能として 2 つを挙げ、いずれも変更されうると注記している。1 つは OpenAI Deep Research モデル向けの互換エンドポイント https://learn.microsoft.com/api/mcp/openai-compatible で、OpenAI の MCP 仕様に従うと説明されている。もう 1 つはトークン予算の制御で、エンドポイント URL に maxTokenBudget クエリパラメータを付けると、検索ツールの応答がその予算に収まるよう切り詰められる。

https://learn.microsoft.com/api/mcp?maxTokenBudget=2000

長いドキュメントをそのまま返されるとコンテキストが埋まる、という問題への対処である。切り詰めは内容の削除を意味するので、予算を小さくしすぎれば必要な記述が落ちる。ここは精度とコンテキスト消費のトレードオフであり、既定値がいくつなのかは README からは読み取れない。導入時に自分で測るしかない部分である。

認証なしで公開ドキュメントだけを返すという境界

このサーバーの最大の制約は、検索対象が Microsoft の公開ドキュメントに限られることである。README は「only accesses official 1st-party Microsoft documentation」と書いており、これは利点として提示されている。裏返せば、自社の内部設計書、未公開のプレビュー API、社内 Wiki を検索させたい用途には使えない。社内ナレッジを対象にした RAG が必要なら、別途自分でインデックスを構築することになる。

API キーが不要である点も、利便性と引き換えに認証・認可の層が存在しないことを意味する。誰でも同じエンドポイントに接続でき、クォータやレート制限の記載は README にはない。README は「High search capacity」と述べるのみで、具体的な上限値は示していない。業務で大量のエージェントを走らせる場合、この点は事前に確認できない要素として残る。

もう 1 つ、README は独自クライアントを実装する開発者に対し、Building a Custom Client の節の必須ガイドラインに従うよう求めている。エンドポイントを直接叩くだけの実装は想定されておらず、仕様変更に追従できる実装が前提とされている。

同種の手段との違いは取得元の限定にある

エージェントに最新情報を渡す方法として、汎用の Web 検索ツールをエージェントに持たせる選択肢がある。この場合、検索結果には個人ブログ、Q&A サイト、古いバージョンを前提にした記事が混ざる。Microsoft Learn MCP Server は取得元を Microsoft の公式ドキュメントとコードサンプルに限定する。回答の根拠が一次情報に揃う代わりに、公式ドキュメントに書かれていない事柄、たとえば実際の運用で踏んだ落とし穴やサードパーティ製ライブラリの挙動は返ってこない。

もう 1 つの比較対象は、ドキュメントを自分で取得してベクトル化し、自前の検索基盤を運用する方法である。この場合は対象範囲も更新頻度も自分で制御できるが、クロール、チャンク分割、埋め込みの再生成、鮮度管理を自分で回す必要がある。Learn MCP Server はこの運用を Microsoft 側に寄せる選択であり、更新の責任を負わない代わりに、何がインデックスされているかを自分で決められない。社内データを混ぜたいなら自前の構成が必要になる。

ライセンスと運用コストの見取り図

リポジトリのライセンスは CC-BY-4.0 と示されている。これはドキュメントやリポジトリ内のコンテンツに対する条件であり、サーバーが返す Microsoft Learn の各ページの利用条件がこれと同じとは限らない。返ってきたドキュメントを自社のプロダクトや再配布物に組み込む場合は、CC-BY-4.0 の表示義務と、各ページ固有の条件を別々に確認する必要がある。ここでは法的助言はできないので、判断は法務に委ねるのが妥当である。

保守の観点では、接続先が Microsoft 運用のリモートサービスであるため、ローカルに置く依存は設定ファイルと CLI 程度にとどまる。npm で入れる @microsoft/learn-cli は更新の対象になるが、MCP 経由で使うだけなら手元で更新するものはない。ただし実験的機能は予告なく変わりうると README が明記しており、maxTokenBudget や openai-compatible のパスに依存した実装は、その前提を承知のうえで使うことになる。リポジトリの最終更新は 2026-09-10 時点で、取得できた範囲ではリリースノートは見つからなかった。バージョンごとの変更履歴を追いたい場合は、この点が物足りない。

編集部の結論

Azure や .NET の API 名、CLI コマンド、コードサンプルをエージェントに参照させたい開発者には、https://learn.microsoft.com/api/mcp を MCP クライアントに登録するだけで試せる手軽さがある。逆に、社内固有の設計や未公開の API を検索対象にしたい場合、このサーバーは公開ドキュメントしか返さないため役に立たない。導入前に確認すべきは、自分のクライアントが Streamable HTTP に対応しているか、そして maxTokenBudget を付けない状態で検索結果がコンテキストを圧迫しないかである。

公式情報源

  1. Issues
  2. License: CC-BY-4.0
  3. MicrosoftDocs/mcp on GitHub
  4. Project website
  5. README
コミュニティノート

コミュニティノート