Skip to main content
Glama
bborbe

Semantic Search MCP

by bborbe

Семантический поиск

Семантический поиск по файлам 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

Эндпоинты:

Эндпоинт

Метод

Описание

/search?q=...&top_k=5

GET

Семантический поиск

/duplicates?file=...&threshold=0.85

GET

Поиск дубликатов заметок

/health

GET

Проверка работоспособности со статистикой индекса

/reindex

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

Два бинарных файла

Бинарный файл

Назначение

semantic-search-mcp

Режим сервера — serve (MCP или REST), плюс search и duplicates

semantic-search

Только CLI — разовые команды search и duplicates, без serve

Конфигурация

Переменные окружения

Переменная

Описание

По умолчанию

CONTENT_PATH

Директория для индексации (через запятую для нескольких)

./content

LOG_LEVEL

Уровень логирования (DEBUG, INFO, WARNING, ERROR)

INFO

Несколько директорий

Индексируйте несколько директорий, разделяя пути запятыми:

CONTENT_PATH=/path/to/vault1,/path/to/vault2,/path/to/docs

Все директории индексируются вместе и ищутся как единый индекс.

Как это работает

При первом запуске загружается небольшая модель эмбеддингов (~90 МБ) и индексируются ваши markdown-файлы (<1 с для типичных хранилищ). Индекс автоматически обновляется при изменении файлов через отслеживание файловой системы.

Индексируемый контент

Каждый markdown-файл индексируется с использованием взвешенных компонентов:

Компонент

Вес

Примечания

Имя файла

3x

Frontmatter title

3x

Frontmatter tags

2x

Объединяется со встроенными тегами

Frontmatter aliases

2x

Встроенные теги (#tag)

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

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