多くの 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.jsonsearch-index.json、manifest を出力します。その後、serverless、edge runtime、または local Node HTTP server で artifact を読み込み、AI tool に docs_searchdocs_fetch を公開できます。

公開時点の GitHub data では、約 28 stars5 forks。主な言語は TypeScript、license は MIT です。Repository は 2026-01-24 に作成され、最近の update は 2026-06-16。Latest GitHub release は v0.12.0 で、npm package version も 0.12.0 です。

プロジェクト概要

項目内容
Repositoryscalvert/docusaurus-plugin-mcp-server
位置づけDocusaurus docs を MCP で検索可能な service にする plugin
Stars約 28
Forks5
主な言語TypeScript
LicenseMIT
Latest versionv0.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 つです。

  1. docs_search: query で docs を検索し、matched page、URL、snippet、matching headings、relevance score を返す。
  2. 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.jsonsearch-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 は articlemain.main-wrapper[role="main"] を優先し、nav、header、footer、aside などの noise を除外します。Markdown を直接読むより final page に近く、MDX component を使う docs に向いています。

次に、search layer は差し替え可能です。Default は FlexSearch index ですが、README には custom ContentIndexerSearchProvider の 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.jsonsearch-index.jsonmanifest.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 です。