Skip to content

refactor: упрощение MCP-сервера на docusaurus-plugin-mcp-server 1.0#164

Merged
mokevnin merged 1 commit into
mainfrom
refactor/mcp-server-1.0-drop-hacks
Jun 27, 2026
Merged

refactor: упрощение MCP-сервера на docusaurus-plugin-mcp-server 1.0#164
mokevnin merged 1 commit into
mainfrom
refactor/mcp-server-1.0-drop-hacks

Conversation

@mokevnin

Copy link
Copy Markdown
Member

Что и зачем

Обновление docusaurus-plugin-mcp-server до 1.0.0 закрыло три апстрим-PR, ради которых в коде держались хаки. Все три убраны.

Убранные хаки

  • PR Прошу вернуть возможность проходить тесты заново! #77 — плагин теперь сканирует path.html, а не только index.html. Убраны shimHtmlForMcp и wrappedMcpPlugin из docusaurus.config.ts (build находит все 106 роутов нативно).
  • PR Bump qs and express #78 (build) — появилась опция flexsearch прямо в опциях плагина. Убран кастомный индексер-спецификатор.
  • PR Bump qs and express #78 (runtime) — встроенный провайдер flexsearch бандлится статически (без dynamic import()), поэтому работает в воркере. Убран монки-патч McpDocsServer.prototype._doInitialize.

Структура

  • Каталог mcp-providers/ (3 файла) удалён целиком.
  • Добавлен flexsearch.config.ts — единый конфиг (Russian-tuned: tokenize: 'strict', context: false, resolution: 3, кастомный encode). Библиотека требует одинаковый конфиг на build и runtime, поэтому его импортируют и docusaurus.config.ts, и воркер.

Итого: −539 / +236 строк.

Проверка

  • pnpm typecheck — чисто
  • pnpm build — 106 документов проиндексировано, индекс остался компактным (2.0 МБ, а не 80+ МБ, ради чего и был хак)
  • wrangler deploy --dry-run — бандлится, 507 KiB gzip
  • Локально запустил воркер и сделал реальный docs_search по MCP-протоколу — релевантные результаты, корректные сниппеты и заголовки (несовпадение конфигов вернуло бы ноль результатов)

🤖 Generated with Claude Code

Обновление плагина до 1.0 закрыло три апстрим-PR, ради которых
держались хаки. Все три убраны:

- PR #77: плагин теперь сканирует path.html, а не только index.html —
  убран shimHtmlForMcp/wrappedMcpPlugin (build нашёл все 106 роутов).
- PR #78: появилась опция flexsearch в плагине и встроенный провайдер
  больше не грузится через dynamic import() — убран кастомный индексер
  и монки-патч McpDocsServer.prototype._doInitialize в воркере.

Каталог mcp-providers/ удалён целиком, его заменяет общий
flexsearch.config.ts (один конфиг для build и runtime — библиотека
требует их совпадения). Индекс остался компактным (2.0 МБ).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mokevnin mokevnin merged commit f2fc8be into main Jun 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant