Встраиваемый MCP-сервер
Реализация сервера Model Context Protocol (MCP) на базе txtai, обеспечивающая семантический поиск, возможности графа знаний и обработку текста на основе искусственного интеллекта через стандартизированный интерфейс.
Сила txtai: Универсальная база данных вложений
В этом проекте используется txtai — универсальная база данных вложений для RAG, использующая семантический поиск, построение графа знаний и рабочие процессы языковой модели. txtai предлагает несколько ключевых преимуществ:
- Унифицированная векторная база данных : объединяет векторные индексы, графовые сети и реляционные базы данных на одной платформе.
- Семантический поиск : найдите информацию, основанную на значении, а не только на ключевых словах.
- Интеграция графа знаний : автоматическое построение и запрос графов знаний на основе ваших данных.
- Переносимые базы знаний : сохраняйте целые базы знаний в виде сжатых архивов (.tar.gz), которые можно легко загружать и распространять.
- Расширяемая конвейерная система : обработка текста, документов, аудио, изображений и видео через унифицированный API
- Архитектура Local-first : запуск всех функций локально без отправки данных на внешние сервисы.
Как это работает
Проект содержит инструмент построения базы знаний и сервер MCP. Инструмент построения базы знаний представляет собой интерфейс командной строки для создания и управления базами знаний. Сервер MCP предоставляет стандартизированный интерфейс для доступа к базе знаний.
Для создания базы знаний не обязательно использовать инструмент создания базы знаний. Вы всегда можете создать базу знаний с помощью программного интерфейса txtai, написав скрипт Python или даже используя блокнот Jupyter. Пока база знаний создана с помощью txtai, ее может загрузить сервер MCP. А еще лучше, база знаний может быть папкой в файловой системе или экспортированным файлом .tar.gz. Просто передайте ее серверу MCP, и он загрузит ее.
1. Создайте базу знаний с помощью kb_builder
Модуль kb_builder
предоставляет интерфейс командной строки для создания и управления базами знаний:
- Обработка документов из различных источников (файлы, каталоги, JSON)
- Извлечение текста и создание вложений
- Автоматически строить графики знаний
- Экспорт переносимых баз знаний
Обратите внимание, что функциональность этой функции, возможно, ограничена, и в настоящее время она предоставляется только для удобства.
2. Запустите MCP-сервер.
Сервер MCP предоставляет стандартизированный интерфейс для доступа к базе знаний:
- Возможности семантического поиска
- Запросы и визуализация графа знаний
- Конвейеры обработки текста (суммирование, извлечение и т. д.)
- Полное соответствие Модельному Контекстному Протоколу
Установка
Рекомендуется: использование uv с Python 3.10+
Мы рекомендуем использовать uv с Python 3.10 или новее для лучшего опыта. Это обеспечивает лучшее управление зависимостями и гарантирует единообразное поведение.
Примечание : Мы закрепляем transformers на версии 4.49.0, чтобы избежать предупреждений об устаревании
transformers.agents.tools
, которые появляются в версии 4.50.0 и новее. Если вы используете более новую версию transformers, вы можете увидеть эти предупреждения, но они не влияют на функциональность.
Использование конда
Из источника
Использование УФ (более быстрая альтернатива)
Использование uvx (установка не требуется)
uvx позволяет запускать пакеты напрямую из PyPI без их установки:
Использование командной строки
Создание базы знаний
Вы можете использовать инструменты командной строки, установленные из PyPI, непосредственно модуль Python или удобные скрипты оболочки:
Использование установленных команд PyPI
Использование uvx (установка не требуется)
Использование модуля Python
Использование удобных скриптов
Репозиторий включает удобные скрипты-оболочки, облегчающие создание и поиск в базах знаний:
Запустите ./scripts/kb_build.sh --help
или ./scripts/kb_search.sh --help
для получения дополнительных параметров.
Запуск MCP-сервера
Использование установленной команды PyPI
Использование uvx (установка не требуется)
Использование модуля Python
Конфигурация сервера MCP
Сервер MCP настраивается с помощью переменных среды или аргументов командной строки, а не файлов YAML. Файлы YAML используются только для настройки компонентов txtai во время построения базы знаний.
Вот как настроить сервер MCP:
Распространенные варианты конфигурации:
--embeddings
: Путь к базе знаний (обязательно)--host
: Адрес хоста для привязки (по умолчанию: localhost)--port
: Порт для прослушивания (по умолчанию: 8000)--transport
: используемый транспорт, «sse» или «stdio» (по умолчанию: stdio)--enable-causal-boost
: включить функцию причинного усиления для улучшенной оценки релевантности--causal-config
: Путь к пользовательскому файлу конфигурации YAML причинного усиления
Настройка клиентов LLM для использования сервера MCP
Чтобы настроить клиент LLM для использования сервера MCP, вам необходимо создать файл конфигурации MCP. Вот пример mcp_config.json
:
Использование сервера напрямую
Если вы используете виртуальную среду Python для установки сервера, вы можете использовать следующую конфигурацию. Обратите внимание, что хост MCP, такой как Claude, не сможет подключиться к серверу, если вы используете виртуальную среду. Вам необходимо использовать абсолютный путь к исполняемому файлу Python виртуальной среды, в которой вы выполнили «pip install» или «uv pip install», например.
Использование системного Python по умолчанию
Если вы используете системный Python по умолчанию, вы можете использовать следующую конфигурацию:
В качестве альтернативы, если вы используете uvx, предположим, что uvx установлен в вашей системе с помощью «brew install uvx» и т. д., или вы установили uvx и сделали его глобально доступным с помощью:
Это создает символическую ссылку из вашей пользовательской установки в системное местоположение. Для приложений macOS, таких как Claude Desktop, вы можете изменить системный PATH, создав или отредактировав файл конфигурации launchd:
Добавьте этот контент:
Затем загрузите его:
Однако, чтобы изменения вступили в силу, вам придется перезагрузить компьютер.
Поместите этот файл конфигурации в место, доступное вашему клиенту LLM, и настройте клиент для его использования. Точные шаги настройки будут зависеть от вашего конкретного клиента LLM.
Расширенная конфигурация базы знаний
Для создания базы знаний с помощью txtai требуется файл конфигурации YAML, который управляет различными аспектами процесса встраивания. Эта конфигурация используется инструментом kb_builder
, а не самим сервером MCP.
Возможно, потребуется настроить стратегии сегментации/разбиения на фрагменты, модели внедрения и методы оценки, а также настроить построение графа, причинно-следственное усиление, веса гибридного поиска и многое другое.
К счастью, txtai предоставляет мощную систему конфигурации YAML, которая не требует кодирования. Вот пример комплексной конфигурации для построения базы знаний:
Примеры конфигурации
Каталог src/kb_builder/configs
содержит шаблоны конфигурации для различных вариантов использования и серверных хранилищ:
Конфигурации хранилища и бэкэнда
memory.yml
: Векторы в памяти (самые быстрые для разработки, без сохранения)sqlite-faiss.yml
: SQLite для контента + FAISS для векторов (локальное файловое сохранение)postgres-pgvector.yml
: PostgreSQL + pgvector (готов к использованию с полным сохранением)
Конфигурации, специфичные для домена
base.yml
: Базовый шаблон конфигурацииcode_repositories.yml
: Оптимизировано для репозиториев кодаdata_science.yml
: настроен для документов по науке о данныхgeneral_knowledge.yml
: База знаний общего назначенияresearch_papers.yml
: Оптимизировано для научных работtechnical_docs.yml
: Настроен для технической документации
Вы можете использовать их в качестве отправных точек для своих собственных конфигураций:
Расширенные функции
Возможности Сети Знаний
Сервер MCP использует встроенную функциональность графов txtai для предоставления мощных возможностей графа знаний:
- Автоматическое построение графиков : автоматическое построение графиков знаний на основе ваших документов.
- Обход графа : навигация по связанным концепциям и документам
- Поиск пути : найдите связи между различными фрагментами информации.
- Обнаружение сообщества : определение кластеров связанной информации
Механизм причинно-следственной связи
Сервер MCP включает в себя сложный механизм причинно-следственной связи, который повышает релевантность поиска путем выявления и приоритизации причинно-следственных связей:
- Распознавание образов : обнаруживает причинно-следственные языковые шаблоны как в запросах, так и в документах.
- Многоязыковая поддержка : автоматически применяет соответствующие шаблоны на основе обнаруженного языка запроса.
- Настраиваемые коэффициенты усиления : различные типы причинных соответствий получают настраиваемые коэффициенты усиления.
- Повышенная релевантность : результаты, объясняющие причинно-следственные связи, имеют приоритет в результатах поиска.
Этот механизм значительно улучшает ответы на вопросы «почему» и «как», выводя на поверхность контент, который объясняет связи между концепциями. Конфигурация каузального усиления легко настраивается с помощью файлов YAML, что позволяет адаптировать ее к различным доменам и языкам.
Лицензия
Лицензия MIT — подробности см. в файле LICENSE
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
MCP-сервер, нацеленный на то, чтобы быть портативным, локальным, простым и удобным для поддержки семантического/графического поиска базы данных вложений txtai "все в одном". Любая база данных вложений txtai в форме tar.gz может быть загружена
- Сила txtai: Универсальная база данных вложений
- Как это работает
- Установка
- Использование командной строки
- Конфигурация сервера MCP
- Настройка клиентов LLM для использования сервера MCP
- Расширенная конфигурация базы знаний
- Расширенные функции
- Лицензия
Related Resources
Related MCP Servers
- -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
- -securityAlicense-qualitytxtai is an all-in-one embeddings database for semantic search, LLM orchestration and language model workflows. All functionality can be served via it's API and the API supports MCP. Docs: https://neuml.github.io/txtai/api/mcp/Last updated -11,005PythonApache 2.0
- -securityAlicense-qualityAn MCP server implementing memory solutions for data-rich applications using HippoRAG for efficient knowledge graph capabilities, enabling search across multiple sources including uploaded files.Last updated -PythonMIT License
- -securityFlicense-qualityAn MCP server that enables interaction with Markdown knowledge bases, allowing users to search and retrieve content by tags, text, URL, or date range from their local markdown files.Last updated -3Python