LanceDB MCP-сервер для LLM
LanceDB — это MCP-сервер (Model Context Protocol), который позволяет языковым моделям напрямую взаимодействовать с документами на локальном диске. Используется агентный RAG (Retrieval-Augmented Generation) и гибридный поиск на базе LanceDB. Вы можете задавать LLM вопросы как по всему набору данных, так и по конкретным документам.
Возможности
- Локальный векторный индекс на базе LanceDB и каталог сводок документов.
- Экономия токенов — LLM сама запрашивает нужную информацию по мере необходимости.
- Безопасность — все данные хранятся локально, ничего не передаётся в облако (при использовании локальной LLM).
Быстрый старт
- Установите Node.js 18+ и
npx.
- Создайте локальную папку для индекса (например,
~/my-lancedb-index).
- Добавьте конфигурацию в файл настроек Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"ПУТЬ_К_ЛОКАЛЬНОЙ_ПАПКЕ_ИНДЕКСА"
]
}
}
}
- Установите модели эмбеддингов и суммаризации (по умолчанию используются Ollama):
ollama pull snowflake-arctic-embed2
ollama pull llama3.1:8b
После этого инструменты появятся в Claude.
Запуск в режиме разработки
Если вы клонировали репозиторий и хотите запустить локальную версию:
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"ПУТЬ_К_ПРОЕКТУ/lance-mcp/dist/index.js",
"ПУТЬ_К_ЛОКАЛЬНОЙ_ПАПКЕ_ИНДЕКСА"
]
}
}
}
Предварительно выполните npm run build для сборки. Для отладки используйте npx @modelcontextprotocol/inspector dist/index.js ПУТЬ_К_ПАПКЕ.
Наполнение данными (seed)
Скрипт наполнения создаёт в LanceDB две таблицы:
- Каталог — сводки документов и метаданные.
- Чанки — векторизованные фрагменты документов.
Запустите:
npm run seed -- --dbpath <ПУТЬ_К_ПАПКЕ_ИНДЕКСА> --filesdir <ПУТЬ_К_ДОКУМЕНТАМ>
Пример данных лежит в папке docs/. При необходимости измените модели в config.ts. Если нужно пересоздать индекс, добавьте флаг --overwrite.
Доступные инструменты
- catalog_search — поиск релевантных документов в каталоге.
- chunks_search — поиск релевантных чанков в рамках определённого документа из каталога.
- all_chunks_search — поиск релевантных чанков по всем известным документам.
Примеры запросов к LLM
- «Какие документы есть в каталоге?»
- «Почему система здравоохранения США так неэффективна?»
Лицензия
Проект распространяется под лицензией MIT. Подробности — в файле LICENSE.
Комментарии
Комментариев пока нет. Будьте первым.