Semantic Search MCP
Семантический поиск
Семантический поиск по файлам Markdown. Находите связанные заметки по смыслу, а не просто по ключевым словам. Обнаруживайте дубликаты перед созданием новых заметок.
Поддерживает два транспортных протокола сервера:
stdio MCP — для интеграции с Claude Code (один процесс на сессию)
HTTP — комбинированный MCP-over-HTTP + REST на одном порту; один «разогретый» процесс, общий для всех клиентов
Возможности
Семантический поиск с использованием sentence-transformers
Обнаружение дубликатов/похожих заметок
Автоматическое обновление индекса с помощью отслеживания изменений файлов
Поддержка нескольких директорий
Извлечение встроенных тегов (
#tag-name)
Related MCP server: mcp-recall-md
Установка
Установка только для CPU — рекомендуется для macOS (любой Mac, Apple Silicon или Intel) и Linux/Windows без видеокарты NVIDIA. Экономит около 5 ГБ бинарных файлов CUDA. На macOS графический процессор Apple (MPS) по-прежнему автоматически обнаруживается и используется через встроенный бэкенд MPS в PyTorch — метка «CPU» относится только к отсутствию CUDA, а не к вычислительному устройству во время выполнения.
uv tool install --index https://download.pytorch.org/whl/cpu \
git+https://github.com/bborbe/semantic-searchУстановка CUDA — только для Linux/Windows с выделенной видеокартой NVIDIA. Не применимо к macOS (NVIDIA CUDA не поддерживается на Mac).
uv tool install git+https://github.com/bborbe/semantic-searchОбновление
uv tool upgrade semantic-searchРежимы сервера
stdio MCP (для каждой сессии Claude Code)
Запускает один процесс на каждую сессию Claude Code. Просто, но каждая сессия загружает свою копию модели объемом ~400 МБ–1 ГБ.
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Доступные инструменты:
search_related(query, top_k=5)— поиск семантически связанных заметокcheck_duplicates(file_path)— обнаружение дубликатов/похожих заметок
HTTP (общий для всех клиентов)
Один долгоживущий процесс обслуживает MCP-over-HTTP по адресу /mcp плюс REST по адресам /search, /duplicates, /health, /reindex. Все сессии Claude Code и REST-клиенты используют один общий «разогретый» индексатор.
CONTENT_PATH=/path/to/vault semantic-search-http --host 127.0.0.1 --port 8321Укажите его в конфигурации MCP для Claude Code:
{
"mcpServers": {
"semantic-search": {
"type": "http",
"url": "http://127.0.0.1:8321/mcp"
}
}
}REST-эндпоинты:
Эндпоинт | Метод | Описание |
| POST | MCP-over-HTTP (Claude Code) |
| GET | Семантический поиск |
| GET | Поиск дубликатов заметок |
| GET | Проверка работоспособности со статистикой индекса |
| GET/POST | Принудительная переиндексация |
Примеры запросов:
# Search
curl 'http://127.0.0.1:8321/search?q=kubernetes+deployment'
# Find duplicates
curl 'http://127.0.0.1:8321/duplicates?file=notes/my-note.md'
# Health check
curl 'http://127.0.0.1:8321/health'Плагин Claude Code
Этот репозиторий также поставляется как плагин для маркетплейса Claude Code с командами для настройки, поиска и исследований.
Установка
claude plugin marketplace add bborbe/semantic-search
claude plugin install semantic-searchОбновление
claude plugin marketplace update semantic-search
claude plugin update semantic-search@semantic-searchБыстрый старт
# One-shot interactive setup: installs the binary, writes the launchd/systemd
# unit, registers the MCP server in your Claude config.
/semantic-search:configure
# Search indexed markdown
/semantic-search:search kubernetes deployment
# Multi-step research across results
/semantic-search:research kafka backup strategyКоманды
Команда | Описание |
| Установить |
| Семантический поиск через запущенный MCP-сервер |
| Многоэтапное исследование — поиск, категоризация, чтение основных источников, синтез |
Запуск в фоновом режиме
Для использования в производственных целях запускайте semantic-search-http как фоновую службу, чтобы каждая сессия Claude Code (и любой REST-клиент) использовали один «разогретый» процесс.
Платформа | Руководство |
macOS (launchd) | |
Linux (systemd) |
Краткий пример (macOS):
launchctl load ~/Library/LaunchAgents/com.github.bborbe.semantic-search-http.plistКраткий пример (Linux):
systemctl --user enable --now semantic-search-http.serviceCLI-команды
Разовые команды без запуска сервера:
# 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Бинарные файлы
Бинарный файл | Назначение |
| Комбинированный HTTP-сервер — MCP на |
| stdio MCP-сервер — один на сессию Claude Code. Используйте, если HTTP-сервис не настроен. |
| Только 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.
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
- AlicenseNot gradedqualityBmaintenanceEnables semantic search and knowledge graph exploration of Obsidian vaults using Smart Connections embeddings. Provides intelligent note discovery, similarity search, and connection mapping through natural language queries.11354MIT
- AlicenseAqualityCmaintenanceEnables semantic search over local markdown note collections using vector embeddings, with real-time file watching and zero-config setup.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables managing and searching markdown notes with semantic search, question answering, and note generation, and provides an MCP server for GitHub Copilot integration.4
- AlicenseNot gradedqualityCmaintenanceEnables semantic search over an Obsidian vault using natural language, retrieving relevant notes and extracted conclusions.MIT
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Appeared in Searches
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/bborbe/semantic-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server