Integrations
Runs as a Node.js application with built-in support for scraping, indexing and searching Node.js packages and libraries.
Uses OpenAI's embedding capabilities to generate vector embeddings for documentation chunks, enabling semantic searching of documentation content.
Enables scraping, indexing, and searching React documentation with version-specific support, allowing users to search across different React versions.
Docs MCP Server: эксперт по актуальной документации вашего ИИ
Помощники по кодированию ИИ часто сталкиваются с устаревшей документацией, что приводит к неверным предложениям или галлюцинаторным примерам кода. Проверка ответов ИИ на соответствие определенным версиям библиотеки может быть трудоемкой и неэффективной.
Docs MCP Server решает эту проблему, выступая в качестве персональной, постоянно актуальной базы знаний для вашего помощника ИИ. Его основная цель — индексировать стороннюю документацию — библиотеки, которые вы фактически используете в своей кодовой базе. Он скрейпит веб-сайты, репозитории GitHub, менеджеры пакетов (npm, PyPI) и даже локальные файлы, каталогизируя документы локально. Затем он предоставляет мощные инструменты поиска через Model Context Protocol (MCP) вашему агенту кодирования.
Это позволяет вашему агенту LLM получать доступ к последней официальной документации для любой добавляемой вами библиотеки, что значительно повышает качество и надежность сгенерированного кода и деталей интеграции.
Обосновывая ответы ИИ в точном контексте с учетом версии, сервер Docs MCP позволяет вам получать краткие и релевантные сведения об интеграции и фрагменты кода, повышая надежность и эффективность разработки с использованием LLM.
Он бесплатный , с открытым исходным кодом , работает локально для обеспечения конфиденциальности и легко интегрируется в ваш рабочий процесс разработки.
Зачем использовать сервер Docs MCP?
Кодирование с помощью LLM обещает скорость и эффективность, но часто оказывается неэффективным из-за:
- 🌀 Устаревшие знания: магистры права обучаются на снимках интернета, быстро отставая от новых версий библиотек и изменений API.
- 👻 Кодовые галлюцинации: ИИ может изобрести правдоподобно выглядящий код, который синтаксически верный, но функционально неверный или использует несуществующие API.
- ❓ Неоднозначность версий: общие ответы редко учитывают конкретные зависимости версий в вашем проекте, что приводит к неявным ошибкам.
- ⏳ Накладные расходы на проверку: разработчики тратят драгоценное время на повторную проверку предложений ИИ на соответствие официальной документации.
Docs MCP Server решает эти проблемы напрямую:
- ✅ Предоставление всегда актуального контекста: по запросу он извлекает и индексирует документацию непосредственно из официальных источников (веб-сайтов, GitHub, npm, PyPI, локальных файлов).
- 🎯 Предоставление ответов, специфичных для версии: поисковые запросы могут быть нацелены на точные версии библиотек, гарантируя, что информация соответствует зависимостям вашего проекта.
- 💡 Уменьшение галлюцинаций: основываясь на реальной документации, LLM предоставляет точные примеры и детали интеграции.
- ⚡ Повышение производительности: получайте достоверные ответы быстрее, интегрированные непосредственно в рабочий процесс вашего помощника с искусственным интеллектом.
✨ Основные характеристики
- Актуальные знания: извлекает последнюю документацию непосредственно из источника.
- Поиск с учетом версий: получайте ответы, соответствующие определенным версиям библиотеки (например,
react@18.2.0
илиreact@17.0.0
). - Точные фрагменты: Уменьшает галлюцинации ИИ, используя контекст из официальных документов.
- Веб-интерфейс: предоставляет простой в использовании веб-интерфейс для поиска и управления документацией.
- Широкая совместимость с исходным кодом: считывает данные с веб-сайтов, репозиториев GitHub, сайтов менеджеров пакетов (npm, PyPI) и даже локальных файловых каталогов.
- Интеллектуальная обработка: Автоматически семантически разбивает документацию на фрагменты и генерирует встраивания.
- Гибкие модели встраивания: поддерживает OpenAI (включая совместимые API, такие как Ollama), Google Gemini/Vertex AI, Azure OpenAI, AWS Bedrock и другие.
- Мощный гибридный поиск: объединяет векторное сходство с полнотекстовым поиском для обеспечения релевантности.
- Локально и конфиденциально: работает исключительно на вашем компьютере, обеспечивая конфиденциальность ваших данных и запросов.
- Бесплатно и с открытым исходным кодом: создано сообществом для сообщества.
- Простое развертывание: простая настройка через Docker или
npx
. - Полная интеграция: работает с MCP-совместимыми клиентами (например, Claude, Cline, Roo).
Как запустить сервер Docs MCP
Быстро приступайте к работе! Мы рекомендуем использовать Docker Desktop (Docker Compose) для самой простой настройки и управления.
Рекомендовано: Docker Desktop
Этот метод обеспечивает постоянную локальную настройку, запуская сервер и веб-интерфейс с помощью Docker Compose. Он требует клонирования репозитория, но упрощает управление обеими службами одновременно.
- Убедитесь, что Docker и Docker Compose установлены и запущены.
- Клонируйте репозиторий:Copy
- Настройте свою среду: скопируйте файл примера среды и отредактируйте его, добавив свой ключ API OpenAI (обязательно):ПримерCopy
.env
:Дополнительные параметры конфигурации (например, другие поставщики, расширенные настройки) см. в разделе «Конфигурация» .Copy - Запуск служб: Запустите эту команду из корневого каталога репозитория. Она построит образы (при необходимости) и запустит сервер и веб-интерфейс в фоновом режиме.Copy
-d
: Запускает контейнеры в отсоединенном режиме (в фоновом режиме). Пропустите этот параметр, чтобы видеть логи прямо в терминале.
Примечание: если вы извлекаете обновления для репозитория (например, с помощью
git pull
), вам потребуется пересобрать образы Docker, чтобы включить изменения, выполнивdocker compose up -d --build
. - Настройте клиент MCP: добавьте следующий блок конфигурации в файл настроек MCP (например, для Claude, Cline, Roo):Перезапустите приложение AI-помощника после обновления конфигурации.Copy
- Доступ к веб-интерфейсу: веб-интерфейс будет доступен по адресу
http://localhost:6281
.
Преимущества этого метода:
- Запускает сервер и веб-интерфейс с помощью одной команды.
- Использует локальный исходный код (автоматически перестраивается, если код изменяется и вы запускаете
docker compose up --build
). - Постоянное хранение данных с помощью тома Docker
docs-mcp-data
. - Простое управление конфигурацией через файл
.env
.
Чтобы остановить службы, запустите docker compose down
из каталога репозитория.
Добавление библиотечной документации
После запуска сервера Docs MCP вы можете использовать веб-интерфейс для добавления новой документации для индексации или для поиска в существующей документации .
- Откройте веб-интерфейс: если вы использовали рекомендуемую настройку Docker Compose, перейдите в браузере по адресу
http://localhost:6281
. - Найдите форму «Поставить новое задание по очистке в очередь»: обычно она отображается на видном месте на главной странице.
- Введите данные:
- URL: укажите начальный URL-адрес документации, которую вы хотите индексировать (например,
https://react.dev/reference/react
,https://github.com/expressjs/express
,https://docs.python.org/3/
). - Имя библиотеки: Дайте ей короткое, запоминающееся имя (например,
react
,express
,python
). Это то, как вы будете ссылаться на нее при поиске. - Версия (необязательно): Если вы хотите проиндексировать определенную версию, введите ее здесь (например,
18.2.0
,4.17.1
,3.11
). Если оставить пустым, сервер часто пытается обнаружить последнюю версию или индексирует ее как неверсированную. - (Необязательно) Дополнительные настройки: при необходимости настройте
Scope
(например, «Подстраницы», «Имя хоста», «Домен»),Max Pages
,Max Depth
иFollow Redirects
умолчанию. Обычно достаточно значений по умолчанию.
- URL: укажите начальный URL-адрес документации, которую вы хотите индексировать (например,
- Нажмите «Queue Job»: сервер запустит фоновое задание для извлечения, обработки и индексации документации. Вы можете следить за ходом его выполнения в разделе «Job Queue» веб-интерфейса.
- Повторите: повторите шаги 3–4 для каждой библиотеки, документацией которой должен управлять сервер.
Вот и все! После успешного завершения задания документация по этой библиотеке и версии становится доступной для поиска через подключенный помощник по кодированию на основе ИИ (с помощью инструмента search_docs
) или непосредственно в веб-интерфейсе пользователя, щелкнув по имени библиотеки в разделе «Индексированная документация».
Альтернатива: использование Docker
Этот подход прост, понятен и не требует клонирования репозитория.
- Убедитесь, что Docker установлен и запущен.
- Настройте параметры MCP:Пример конфигурации Claude/Cline/Roo: Добавьте следующий блок конфигурации в файл настроек MCP (при необходимости измените путь):Не забудьте заменитьCopy
"sk-proj-..."
на ваш фактический ключ API OpenAI и перезапустить приложение. - Вот и все! Теперь сервер будет доступен вашему ИИ-помощнику.
Настройки Docker-контейнера:
-i
: Оставить STDIN открытым, что имеет решающее значение для связи MCP через stdio.--rm
: Автоматически удалять контейнер при его выходе.-e OPENAI_API_KEY
: Обязательно. Установите свой ключ API OpenAI.-v docs-mcp-data:/data
: Требуется для сохранения. Монтирует Docker с именем томаdocs-mcp-data
для хранения базы данных. Вы можете заменить его на определенный путь к хосту, если предпочитаете (например,-v /path/on/host:/data
).
Любая из переменных среды конфигурации (см. Конфигурация выше) может быть передана в контейнер с помощью флага -e
. Например:
Запуск веб-интерфейса
Вы можете получить доступ к веб-интерфейсу по адресу http://localhost:6281
для управления и поиска библиотечной документации через свой браузер.
Если вы используете сервер с Docker, используйте Docker и для веб-интерфейса:
Обязательно:
- Используйте то же имя тома (в этом примере
docs-mcp-data
), что и на вашем сервере. - Сопоставьте порт 6281 с
-p 6281:6281
- Передайте любые переменные среды конфигурации с флагами
-e
Использование CLI
Вы можете использовать CLI для управления документацией напрямую через Docker.
Обязательно используйте то же имя тома (в этом примере docs-mcp-data
), что и для сервера. Любую из переменных среды конфигурации (см. Конфигурация выше) можно передать с помощью флагов -e
, как и для сервера.
Основные доступные команды:
scrape
: извлекает и индексирует документацию из URL-адреса.search
: Поиск в проиндексированной документации.list
: Список всех проиндексированных библиотек.remove
: Удаляет индексированную документацию.fetch-url
: извлекает один URL-адрес и преобразует его в Markdown.find-version
: находит наиболее подходящую версию для библиотеки.
Подробное описание использования команд см. в Справочнике команд CLI ниже.
Альтернатива: использование npx
Этот подход полезен, когда вам нужен локальный доступ к файлам (например, индексация документации из локальной файловой системы). Хотя этого также можно добиться путем монтирования путей в контейнер Docker, использование npx
проще, но требует установки Node.js.
- Убедитесь, что Node.js установлен.
- Настройте параметры MCP:Пример конфигурации Клода/Клайна/Ру: Добавьте следующий блок конфигурации в файл настроек MCP:Не забудьте заменитьCopy
"sk-proj-..."
на ваш фактический ключ API OpenAI и перезапустить приложение. - Вот и все! Теперь сервер будет доступен вашему ИИ-помощнику.
Запуск веб-интерфейса
Если вы запускаете сервер с npx
, используйте npx
также для веб-интерфейса:
Вы можете указать другой порт, используя флаг --port
.
Подход npx
будет использовать каталог данных по умолчанию в вашей системе (обычно в вашем домашнем каталоге), обеспечивая согласованность между сервером и веб-интерфейсом.
Использование CLI
Если вы запускаете сервер с npx, используйте npx
также для CLI:
Подход npx
будет использовать каталог данных по умолчанию в вашей системе (обычно это ваш домашний каталог), обеспечивая согласованность между сервером и CLI.
Подробное описание использования команд см. в Справочнике команд CLI ниже.
Конфигурация
Для настройки поведения модели внедрения поддерживаются следующие переменные среды. Укажите их в файле .env
или передайте их как флаги -e
при запуске сервера через Docker или npx.
Конфигурация модели встраивания
DOCS_MCP_EMBEDDING_MODEL
: Необязательно. Формат:provider:model_name
или простоmodel_name
(по умолчаниюtext-embedding-3-small
). Поддерживаемые поставщики и требуемые ими переменные среды:openai
(по умолчанию): использует модели встраивания OpenAIOPENAI_API_KEY
: Обязательно. Ваш ключ API OpenAIOPENAI_ORG_ID
: Необязательно. Ваш идентификатор организации OpenAIOPENAI_API_BASE
: Необязательно. Пользовательский базовый URL для API, совместимых с OpenAI (например, Ollama, Azure OpenAI)
vertex
: использует вложения Google Cloud Vertex AIGOOGLE_APPLICATION_CREDENTIALS
: Обязательно. Путь к файлу ключа JSON учетной записи службы
gemini
: использует вложения Google Generative AI (Gemini)GOOGLE_API_KEY
: Обязательно. Ваш ключ API Google
aws
: использует встраивания AWS BedrockAWS_ACCESS_KEY_ID
: Обязательно. Ключ доступа AWSAWS_SECRET_ACCESS_KEY
: Обязательно. Секретный ключ AWSAWS_REGION
илиBEDROCK_AWS_REGION
: Обязательно. Регион AWS для Bedrock
microsoft
: Использует встраивание Azure OpenAIAZURE_OPENAI_API_KEY
: Обязательно. Ключ API Azure OpenAIAZURE_OPENAI_API_INSTANCE_NAME
: Обязательно. Имя экземпляра AzureAZURE_OPENAI_API_DEPLOYMENT_NAME
: Обязательно. Имя развертывания AzureAZURE_OPENAI_API_VERSION
: Обязательно. Версия Azure API
Векторные размеры
Схема базы данных использует фиксированную размерность 1536 для встраивания векторов. Поддерживаются только модели, которые производят векторы с размерностью ≤ 1536, за исключением некоторых поставщиков (например, Gemini), которые поддерживают сокращение размерности.
Для API, совместимых с OpenAI (например, Ollama), используйте провайдера openai
с OPENAI_API_BASE
, указывающим на вашу конечную точку.
Разработка
В этом разделе рассматривается запуск сервера/CLI напрямую из исходного кода для целей разработки. Основной метод использования теперь — через публичный образ Docker, как описано в «Методе 2».
Работает из источника
Это обеспечивает изолированную среду и предоставляет доступ к серверу через конечные точки HTTP.
Этот метод полезен для внесения вклада в проект или запуска неопубликованных версий.
- Клонируйте репозиторий:Copy
- Установите зависимости:Copy
- Соберите проект: он скомпилирует TypeScript в JavaScript в каталоге
dist/
.Copy - Настройка среды: Создайте и настройте файл
.env
, как описано в разделе «Конфигурация» . Это важно для предоставленияOPENAI_API_KEY
. - Бегать:
- Сервер (режим разработки):
npm run dev:server
(сборка, наблюдение и перезапуск) - Сервер (режим производства):
npm run start
(запускает готовый код) - CLI:
npm run cli -- <command> [options]
илиnode dist/cli.js <command> [options]
- Сервер (режим разработки):
Тестирование
Поскольку серверы MCP взаимодействуют через stdio при запуске напрямую через Node.js, отладка может быть сложной. Мы рекомендуем использовать MCP Inspector , который доступен как скрипт пакета после сборки:
Инспектор предоставит URL-адрес для доступа к инструментам отладки в вашем браузере.
Архитектура
Подробную информацию об архитектуре и принципах проектирования проекта можно найти на сайте ARCHITECTURE.md .
Примечательно, что подавляющая часть кода этого проекта была сгенерирована помощником искусственного интеллекта Клайном, использующим возможности этого самого сервера MCP.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер Model Context Protocol (MCP), который выполняет сбор, индексацию и поиск документации для сторонних программных библиотек и пакетов, поддерживая управление версиями и гибридный поиск.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.Last updated -5206111TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.Last updated -1474JavaScriptApache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.Last updated -226PythonMIT License
- AsecurityFlicenseAqualityBuilt as a Model Context Protocol (MCP) server that provides advanced web search, content extraction, web crawling, and scraping capabilities using the Firecrawl API.Last updated -41Python