MCP Documentation Server
MCP Documentation Server
Локальное управление документами и семантический поиск для ИИ-агентов разработки. Без внешних баз данных, облачных API и привязки к вендору.
В отличие от других MCP-серверов, которые работают только через CLI, этот поставляется с полноценной веб-панелью — просматривайте, ищите, загружайте и управляйте своей базой знаний прямо из браузера. Каждый MCP-инструмент также доступен через REST API, что даёт ИИ-агентам лёгкий интерфейс без схем.
🏠 Работает полностью офлайн — векторная база данных Orama с локальными ИИ-эмбеддингами (Transformers.js)
🌐 Встроенный веб-интерфейс — запускается автоматически на порту 3080 вместе с MCP-сервером
🔍 Гибридный поиск — полнотекстовый + векторный поиск по сходству с чанкингом «родитель-потомок»
🤖 Опциональный ИИ-поиск — Google Gemini для расширенного анализа документов (используйте свой ключ)
📁 Загрузка перетаскиванием — поддержка
.txt,.md,.pdf📦 Опубликован в MCP Registry — устанавливается через npx, клонирование не требуется
Быстрый старт
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
}
}
}🤖 Навык агента (REST API) — рекомендуется для ИИ-агентов
Каждый MCP-инструмент также доступен через REST API на ``. Это рекомендуемый способ взаимодействия для ИИ-агентов (Claude Code, OpenCode, Gemini CLI, Cursor), поскольку он позволяет не загружать схемы MCP-инструментов в контекст разговора — в него попадает только JSON ответа.
-H "Content-Type: application/json" \
-d '{"query": "your search", "limit": 5}'Готовый к использованию навык включён в skills/documentation-server/SKILL.md — он обучает вашего агента работе с каждой конечной точкой на примерах. Установите его:
npx skills add https://github.com/Unity-Billal-mesloub/mcp-documentation-server --skill documentation-serverБазовый рабочий процесс
Добавьте документы с помощью
add_documentили поместите файлы.txt/.md/.pdfв папку загрузок и вызовитеprocess_uploads.Ищите по всем документам с помощью
search_all_documentsили в пределах одного документа с помощьюsearch_documents.Используйте
get_context_window, чтобы получить соседние чанки и предоставить LLM более широкий контекст.
Related MCP server: OpenLMlib
Веб-интерфейс
Веб-интерфейс автоматически запускается на порту 3080 при запуске MCP-сервера. Из веб-интерфейса вы можете:
📊 Панель управления — обзор всех документов и статистика
📄 Документы — просмотр, чтение и удаление документов
➕ Добавить документ — создание документов с заголовком, содержимым и метаданными
🔍 Поиск по всем — семантический поиск по всем документам
🎯 Поиск в документе — поиск в пределах конкретного документа
🤖 ИИ-поиск — анализ на базе Gemini (если задан
GEMINI_API_KEY)📁 Загрузить файлы — перетаскивание файлов и их обработка в базе знаний
🪟 Контекстное окно — просмотр чанков вокруг конкретного индекса
Настройка MCP-клиента
Минимальная конфигурация
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
}
}
}С переменными окружения (все необязательные)
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"],
"env": {
"MCP_BASE_DIR": "/path/to/workspace",
"GEMINI_API_KEY": "your-api-key-here",
"MCP_EMBEDDING_MODEL": "Xenova/all-MiniLM-L6-v2",
"START_WEB_UI": "true",
"WEB_HOST": "127.0.0.1",
"WEB_PORT": "3080"
}
}
}
}Все переменные окружения необязательны. Без GEMINI_API_KEY доступны только локальные инструменты поиска на основе эмбеддингов.
MCP-инструменты
Сервер регистрирует следующие инструменты (все проверяются схемами Zod):
📄 Управление документами
Tool | Description |
| Добавить документ (заголовок, содержимое, необязательные метаданные) |
| Перечислить все документы с метаданными и предпросмотром содержимого |
| Получить полное содержимое документа по ID |
| Удалить документ, его чанки, записи в базе данных и связанные файлы |
📁 Обработка файлов
Tool | Description |
| Обработать все файлы в папке загрузок (чанкинг + эмбеддинги) |
| Возвращает абсолютный путь к папке загрузок |
| Выводит список файлов в папке загрузок с указанием размера и формата |
| Возвращает URL веб-интерфейса (например, http://localhost:3080) — удобно для открытия панели управления или поиска папки загрузок из браузера |
🔍 Поиск
Tool | Description |
| Семантический векторный поиск в пределах конкретного документа |
| Гибридный (полнотекстовый + векторный) поиск по всем документам |
| Возвращает окно чанков вокруг указанного индекса чанка |
| 🤖 Поиск на базе ИИ с использованием Gemini (требуется |
Конфигурация
Настройте с помощью переменных окружения или файла .env в корне проекта:
Variable | Default | Description |
|
| Базовая директория для хранения данных |
|
| Название модели эмбеддингов |
| — | Ключ Google Gemini API (включает |
|
| Включить/отключить LRU-кэш эмбеддингов |
|
| Установите |
|
| Адрес привязки веб-интерфейса (используйте |
|
| Порт веб-интерфейса |
|
| Включить потоковое чтение больших файлов |
|
| Размер буфера потокового чтения в байтах (64 КБ) |
|
| Порог переключения на потоковое чтение (10 МБ) |
Структура хранения
~/.mcp-documentation-server/ # Or custom path via MCP_BASE_DIR
├── data/
│ ├── orama-chunks.msp # Orama vector DB (child chunks + embeddings)
│ ├── orama-docs.msp # Orama document DB (full content + metadata)
│ ├── orama-parents.msp # Orama parent chunks DB (context sections)
│ ├── migration-complete.flag # Written after legacy JSON migration
│ └── *.md # Markdown copies of documents
└── uploads/ # Drop .txt, .md, .pdf files hereМодели эмбеддингов
Задаётся через MCP_EMBEDDING_MODEL:
Model | Dimensions | Notes |
| 384 | По умолчанию — быстро, хорошее качество |
| 768 | Рекомендуется — наилучшее качество, мультиязычная |
Модели загружаются при первом использовании (~80–420 МБ). Размерность векторов определяется автоматически на основе провайдера.
⚠️ Важно: Смена модели эмбеддингов требует повторного добавления всех документов — эмбеддинги из разных моделей несовместимы. База данных Orama пересоздаётся автоматически при изменении размерности.
Архитектура
Server (FastMCP, stdio)
├─ Web UI (Express, port 3080)
│ └─ REST API → DocumentManager
└─ MCP Tools
└─ DocumentManager
├─ OramaStore — Orama vector DB (chunks DB + docs DB + parents DB), persistence, migration
├─ IntelligentChunker — Parent-child chunking (code, markdown, text, PDF)
├─ EmbeddingProvider — Local embeddings via @xenova/transformers
│ └─ EmbeddingCache — LRU in-memory cache
└─ GeminiSearchService — Optional AI search via Google GeminiOramaStore управляет тремя экземплярами Orama: один — для метаданных и содержимого документов, один — для дочерних чанков с векторными эмбеддингами и один — для родительских чанков (контекстных секций). Все они сохраняются в бинарные файлы на диске и восстанавливаются при запуске.
IntelligentChunker реализует паттерн чанкинга «родитель-потомок»: документы сначала разбиваются на крупные родительские чанки, сохраняющие полный контекст (секции, абзацы), затем каждый родительский чанк дополнительно разбивается на мелкие дочерние для точного векторного поиска. При выполнении запроса результаты дедуплицируются по родительским чанкам, чтобы LLM получала и совпавший фрагмент, и более широкий контекст.
EmbeddingProvider лениво загружает модель Transformers.js для локального вывода — вызовы API не требуются.
Разработка
git clone https://github.com/Unity-Billal-mesloub/mcp-documentation-server.git
cd mcp-documentation-server
npm installnpm run dev # FastMCP dev mode with hot reload
npm run build # TypeScript compilation
npm run inspect # FastMCP web UI for interactive tool testing
npm start # Direct tsx execution (MCP server + web UI)
npm run web # Run only the web UI (development)
npm run web:build # Run only the web UI (compiled)Участие в разработке
Сделайте форк репозитория
Создайте ветку для новой функции:
git checkout -b feature/nameСледуйте правилам Conventional Commits для сообщений коммитов
Откройте pull request
Поддержка
🤖 Google AI Studio — получите ключ Gemini API
История звёзд
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables any MCP-compatible AI assistant to search, filter, and retrieve information from a local document collection using a hybrid search pipeline with vector, BM25, reranking, and LLM enrichment.4
- AlicenseNot gradedqualityAmaintenanceProvides AI assistants with a local knowledge base and research library, enabling semantic and full-text retrieval, memory persistence, and multi-agent collaboration via 58 MCP tools.2MIT
- FlicenseNot gradedqualityDmaintenanceProvides tools for ingesting documents into a local vector database and retrieving relevant information via semantic search, enabling retrieval-augmented generation for MCP clients.6
- FlicenseAqualityBmaintenanceA local-first document retrieval engine that mounts as an MCP tool for agents to index files, search for relevant passages, and let the agent's own LLM answer.4
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unity-Billal-mesloub/mcp-documentation-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server