Semantic Search MCP
Семантический поиск
Семантический поиск по файлам markdown. Находите связанные заметки по смыслу, а не только по ключевым словам. Обнаруживайте дубликаты перед созданием новых заметок.
Поддерживает два режима сервера:
Режим MCP — для интеграции с Claude Code
Режим REST — для OpenClaw, скриптов и HTTP-клиентов
Функции
Семантический поиск с использованием sentence-transformers
Обнаружение дубликатов/похожих заметок
Автоматическое обновление индекса с помощью отслеживания файлов
Поддержка нескольких директорий
Извлечение встроенных тегов (
#tag-name)
Установка
Только CPU (рекомендуется — экономит ~5 ГБ, производительность идентична для типичных размеров хранилищ):
uv tool install --index https://download.pytorch.org/whl/cpu \
git+https://github.com/bborbe/semantic-searchС CUDA (только если у вас есть выделенный GPU):
uv tool install git+https://github.com/bborbe/semantic-searchОбновление
uv tool upgrade semantic-searchРежимы сервера
Режим MCP (для Claude Code)
claude mcp add -s project semantic-search \
--env CONTENT_PATH=/path/to/vault \
-- \
uvx --from git+https://github.com/bborbe/semantic-search semantic-search-mcp serveДоступные инструменты:
search_related(query, top_k=5)— Найти семантически связанные заметкиcheck_duplicates(file_path)— Обнаружить дубликаты/похожие заметки
Режим REST (для OpenClaw/HTTP)
CONTENT_PATH=/path/to/vault semantic-search-mcp serve --mode rest --port 8321Эндпоинты:
Эндпоинт | Метод | Описание |
| GET | Семантический поиск |
| GET | Поиск дубликатов заметок |
| GET | Проверка работоспособности со статистикой индекса |
| GET/POST | Принудительная перестройка индекса |
Примеры запросов:
# Search
curl 'http://localhost:8321/search?q=kubernetes+deployment'
# Find duplicates
curl 'http://localhost:8321/duplicates?file=notes/my-note.md'
# Health check
curl 'http://localhost:8321/health'Команды CLI
Разовые команды без запуска сервера:
# Search
CONTENT_PATH=/path/to/vault semantic-search search "kubernetes deployment"
# Find duplicates
CONTENT_PATH=/path/to/vault semantic-search duplicates path/to/note.mdДва бинарных файла
Бинарный файл | Назначение |
| Режим сервера — |
| Только CLI — разовые команды |
Конфигурация
Переменные окружения
Переменная | Описание | По умолчанию |
| Директория для индексации (через запятую для нескольких) |
|
| Уровень логирования (DEBUG, INFO, WARNING, ERROR) |
|
Несколько директорий
Индексируйте несколько директорий, разделяя пути запятыми:
CONTENT_PATH=/path/to/vault1,/path/to/vault2,/path/to/docsВсе директории индексируются вместе и ищутся как единый индекс.
Как это работает
При первом запуске загружается небольшая модель эмбеддингов (~90 МБ) и индексируются ваши markdown-файлы (<1 с для типичных хранилищ). Индекс автоматически обновляется при изменении файлов через отслеживание файловой системы.
Индексируемый контент
Каждый markdown-файл индексируется с использованием взвешенных компонентов:
Компонент | Вес | Примечания |
Имя файла | 3x | |
Frontmatter | 3x | |
Frontmatter | 2x | Объединяется со встроенными тегами |
Frontmatter | 2x | |
Встроенные теги ( | 2x | Извлекаются из тела |
Первый заголовок H1 | 2x | |
Содержимое тела | 1x | Первые 500 слов |
Разработка
# Clone
git clone https://github.com/bborbe/semantic-search
cd semantic-search
# Install dev dependencies
make install
# Run checks
make check
# Run tests
make testЛицензия
Лицензия BSD 2-Clause — см. LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
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/bborbe/semantic-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server