refactor: упрощение MCP-сервера на docusaurus-plugin-mcp-server 1.0#164
Merged
Conversation
Обновление плагина до 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что и зачем
Обновление
docusaurus-plugin-mcp-serverдо1.0.0закрыло три апстрим-PR, ради которых в коде держались хаки. Все три убраны.Убранные хаки
path.html, а не толькоindex.html. УбраныshimHtmlForMcpиwrappedMcpPluginизdocusaurus.config.ts(build находит все 106 роутов нативно).flexsearchпрямо в опциях плагина. Убран кастомный индексер-спецификатор.flexsearchбандлится статически (без dynamicimport()), поэтому работает в воркере. Убран монки-патч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 gzipdocs_searchпо MCP-протоколу — релевантные результаты, корректные сниппеты и заголовки (несовпадение конфигов вернуло бы ноль результатов)🤖 Generated with Claude Code