docusaurus-plugin-mcp-server - Docusaurus docs を MCP の入口にする
多くの team は、product docs、SDK guide、internal engineering handbook を Docusaurus に置いています。ただし AI coding agent がそれを使う場面では、まだ browser search、copy and paste、あるいは model の推測に頼りがちです。Docs は人間には読みやすくても、MCP client から安定して検索し、必要な page を取得できるとは限りません。
今日紹介する scalvert/docusaurus-plugin-mcp-server は、その最後の接続部分に焦点を当てた project です。Docusaurus plugin として docusaurus build 後の rendered HTML を処理し、本文を抽出して Markdown に変換し、FlexSearch index を作り、MCP server が使う docs.json、search-index.json、manifest を出力します。その後、serverless、edge runtime、または local Node HTTP server で artifact を読み込み、AI tool に docs_search と docs_fetch を公開できます。
公開時点の GitHub data では、約 28 stars、5 forks。主な言語は TypeScript、license は MIT です。Repository は 2026-01-24 に作成され、最近の update は 2026-06-16。Latest GitHub release は v0.12.0 で、npm package version も 0.12.0 です。
プロジェクト概要
| 項目 | 内容 |
|---|---|
| Repository | scalvert/docusaurus-plugin-mcp-server |
| 位置づけ | Docusaurus docs を MCP で検索可能な service にする plugin |
| Stars | 約 28 |
| Forks | 5 |
| 主な言語 | TypeScript |
| License | MIT |
| Latest version | v0.12.0 |
Docs から agent への最後の距離を埋める
Docusaurus は人間が読む docs に強い framework です。Routing、sidebar、React component、MDX、search、theme が揃っています。一方で AI agent が必要とする interface は少し違います。Question に合わせて relevant page を検索し、full content を取得し、できれば title、description、table of contents、canonical URL も一緒に扱いたい。
docusaurus-plugin-mcp-server は documentation site を作り直すのではなく、既存の Docusaurus build flow に MCP output layer を足します。
// docusaurus.config.js
module.exports = {
plugins: [
[
'docusaurus-plugin-mcp-server',
{
server: {
name: 'my-docs',
version: '1.0.0',
},
},
],
],
};
Build 後、plugin は build/mcp/ に docs と index を生成します。Runtime の MCP endpoint は、完全な Docusaurus server を起動する必要がなく、request ごとに source file や HTML を再解析する必要もありません。Docs site は従来どおり publish し、MCP 側は static build artifact を読むだけです。
2 つの tool が一般的な docs query flow に合う
この project が公開する MCP tool はかなり絞られています。Core action は 2 つです。
docs_search: query で docs を検索し、matched page、URL、snippet、matching headings、relevance score を返す。docs_fetch: search result の URL をもとに、full page markdown、title、description、table of contents を返す。
この interface は coding agent に扱いやすい形です。Agent はまず “authentication”、“rate limit”、“plugin options” などで検索し、もっとも関連する page を fetch できます。Docusaurus site は page 数が多くなりやすいので、Markdown folder 全体を context に詰めるより、search してから本文を取る方が制御しやすいです。
Reference も明確になります。Search result には full URL が入り、fetch される内容は build 後の page 由来です。React component が render した output も含めやすいため、agent が見る docs は source MDX fragment だけでなく、online user が見る page に近づきます。
Runtime adapter が実用的
README の deployment model は modern Web runtime に寄っています。Cloudflare Workers、modern Netlify functions、Vercel Edge、Deno、Bun など、standard Request / Response を扱える environment では createWebRequestHandler を使えます。これらの runtime は普通の server のように filesystem を読めないため、example では docs.json と search-index.json を module として import します。
Local development では Node adapter を使えます。
import { createNodeServer } from 'docusaurus-plugin-mcp-server/adapters';
createNodeServer({
docsPath: './build/mcp/docs.json',
indexPath: './build/mcp/search-index.json',
name: 'my-docs',
baseUrl: 'http://localhost:3000',
}).listen(3456);
これは trial の cost を下げます。まず local で Docusaurus を build し、Node MCP server を立て、MCP Inspector や Claude Code で接続して検証できます。問題なければ endpoint を edge/serverless platform に移せます。
単なる search index ではない
いくつかの detail が参考になります。
まず、content extraction は Docusaurus が rendered HTML を作った後に行われます。Default content selector は article、main、.main-wrapper、[role="main"] を優先し、nav、header、footer、aside などの noise を除外します。Markdown を直接読むより final page に近く、MDX component を使う docs に向いています。
次に、search layer は差し替え可能です。Default は FlexSearch index ですが、README には custom ContentIndexer と SearchProvider の interface もあります。Team が Algolia、Glean、internal search system をすでに持っている場合、build 時に docs を push し、runtime search を外部 service に委譲できます。
さらに McpInstallButton theme export があります。Docs site の navbar に dropdown button を置き、Claude Code、Cursor / VS Code などの MCP client configuration を copy できるようにできます。Core feature ではありませんが、public docs では便利です。User は endpoint URL や config format を自分で推測しなくて済みます。
Verify flow も用意されている
“Docs を AI readable にする” 系の仕組みは、deploy 後に index file が足りない、document structure が壊れている、MCP server が initialize できない、といった問題に気づきがちです。この plugin には docusaurus-mcp-verify CLI があり、build 後に docs.json、search-index.json、manifest.json の存在、document structure、MCP server の load を確認できます。
この check は CI に入れやすいです。MCP endpoint を正式な interface として扱うなら、manual connection だけでは弱い。Artifact があり、structure が valid で、server が initialize できることは、最低限の publish gate になります。
向いている場面
試す価値があるのは、主に 3 種類の team です。
ひとつ目は、すでに Docusaurus で SDK / API / developer platform docs を書いている team。Docs framework を変えずに、既存 build の横へ MCP output を足せます。
ふたつ目は、Claude Code、Cursor、VS Code MCP client、internal agent に公式 docs を読ませたい project。Prompt に docs を貼るより、MCP endpoint の方が stable interface になり、更新も反映しやすいです。
三つ目は、public docs ecosystem を持つ open source project。MCP install button を用意して、user が自分の AI tool に project docs を追加できるようにする方が、単に「docs を読んでください」と言うより今の workflow に近いです。
ただし、これは full RAG platform の replacement ではありません。Project は Docusaurus docs に focus しており、default search も build artifact 内の全文検索です。Cross-repository permission、多 source sync、user-level audit が必要なら、より大きな search / knowledge system を使うべきです。ただ custom provider の入口があるため、大きな system の Docusaurus adapter として使う余地はあります。
まとめ
scalvert/docusaurus-plugin-mcp-server の価値は、「また別の MCP server」ではありません。Docusaurus が developer documentation の事実上の標準のひとつであり、その docs を agent が search / fetch できる MCP endpoint にするなら、既存の build flow に寄せるのが自然です。
Build 時に抽出と indexing を行い、runtime は artifact を読むだけ。MCP tool は少なく明確で、local、serverless、edge runtime の接続方法があり、verify CLI もあります。Docusaurus docs をすでに運用していて、AI tool に自分たちの資料をより正確に参照させたい team にとって、試しやすい小さな plugin です。