Semantic Search MCP
Búsqueda Semántica
Búsqueda semántica sobre archivos markdown. Encuentra notas relacionadas por significado, no solo por palabras clave. Detecta duplicados antes de crear nuevas notas.
Admite dos transportes de servidor:
stdio MCP — Para integración con Claude Code (un proceso por sesión)
HTTP — MCP-sobre-HTTP + REST combinados en un solo puerto; un proceso activo compartido por todos los clientes
Características
Búsqueda semántica usando sentence-transformers
Detección de notas duplicadas/similares
Índice de actualización automática con monitor de archivos
Soporte para múltiples directorios
Extracción de etiquetas en línea (
#tag-name)
Related MCP server: mcp-recall-md
Instalación
Instalación solo CPU — recomendado para macOS (cualquier Mac, Apple Silicon o Intel) y Linux/Windows sin una GPU NVIDIA. Ahorra ~5GB de binarios CUDA. En macOS, la GPU de Apple (MPS) se detecta y utiliza automáticamente a través del backend MPS integrado de PyTorch; la etiqueta "CPU" se refiere solo a la ausencia de CUDA, no al dispositivo de cómputo en tiempo de ejecución.
uv tool install --index https://download.pytorch.org/whl/cpu \
git+https://github.com/bborbe/semantic-searchInstalación CUDA — solo para Linux/Windows con una GPU NVIDIA dedicada. No aplicable a macOS (NVIDIA CUDA no es compatible en Mac).
uv tool install git+https://github.com/bborbe/semantic-searchActualización
uv tool upgrade semantic-searchModos de Servidor
stdio MCP (Claude Code por sesión)
Genera un proceso por sesión de Claude Code. Es simple, pero cada sesión carga su propia copia del modelo de ~400 MB–1 GB.
claude mcp add -s project semantic-search \
--env CONTENT_PATH=/path/to/vault \
-- \
uvx --from git+https://github.com/bborbe/semantic-search semantic-search-mcpHerramientas disponibles:
search_related(query, top_k=5)— Encuentra notas semánticamente relacionadascheck_duplicates(file_path)— Detecta notas duplicadas/similares
HTTP (compartido entre todos los clientes)
Un único proceso de larga ejecución sirve MCP-sobre-HTTP en /mcp además de REST en /search, /duplicates, /health, /reindex. Todas las sesiones de Claude Code y clientes REST comparten un único indexador activo.
CONTENT_PATH=/path/to/vault semantic-search-http --host 127.0.0.1 --port 8321Apunte Claude Code hacia él mediante la configuración de MCP:
{
"mcpServers": {
"semantic-search": {
"type": "http",
"url": "http://127.0.0.1:8321/mcp"
}
}
}Endpoints REST:
Endpoint | Método | Descripción |
| POST | MCP-sobre-HTTP (Claude Code) |
| GET | Búsqueda semántica |
| GET | Encontrar notas duplicadas |
| GET | Comprobación de estado con estadísticas del índice |
| GET/POST | Forzar reconstrucción del índice |
Consultas de ejemplo:
# 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'Plugin de Claude Code
Este repositorio también se distribuye como un plugin del marketplace de Claude Code con comandos para configuración, búsqueda e investigación.
Instalación
claude plugin marketplace add bborbe/semantic-search
claude plugin install semantic-searchActualización
claude plugin marketplace update semantic-search
claude plugin update semantic-search@semantic-searchInicio rápido
# 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 strategyComandos
Comando | Descripción |
| Instala |
| Búsqueda semántica a través del servidor MCP en ejecución |
| Investigación de varios pasos: buscar, categorizar, leer fuentes principales, sintetizar |
Ejecución en segundo plano
Para un uso de estilo producción, ejecute semantic-search-http como un servicio en segundo plano para que cada sesión de Claude Code (y cualquier cliente REST) comparta un proceso activo.
Plataforma | Guía |
macOS (launchd) | |
Linux (systemd) |
Ejemplo rápido (macOS):
launchctl load ~/Library/LaunchAgents/com.github.bborbe.semantic-search-http.plistEjemplo rápido (Linux):
systemctl --user enable --now semantic-search-http.serviceComandos CLI
Comandos de ejecución única sin necesidad de ejecutar un servidor:
# Search
CONTENT_PATH=/path/to/vault semantic-search search "kubernetes deployment"
# Find duplicates
CONTENT_PATH=/path/to/vault semantic-search duplicates path/to/note.mdBinarios
Binario | Propósito |
| Servidor HTTP combinado: MCP en |
| Servidor MCP stdio: uno por sesión de Claude Code. Usar cuando el servicio HTTP no esté configurado. |
| Solo CLI: comandos de ejecución única |
Configuración
Variables de entorno
Variable | Descripción | Predeterminado |
| Directorio a indexar (separado por comas para múltiples) |
|
| Nivel de registro (DEBUG, INFO, WARNING, ERROR) |
|
Múltiples directorios
Indexe múltiples directorios separando las rutas con comas:
CONTENT_PATH=/path/to/vault1,/path/to/vault2,/path/to/docsTodos los directorios se indexan juntos y se buscan como un índice unificado.
Cómo funciona
La primera ejecución descarga un pequeño modelo de incrustación (~90MB) e indexa sus archivos markdown (<1s para bóvedas típicas). El índice se actualiza automáticamente cuando los archivos cambian mediante un monitor del sistema de archivos.
Contenido indexado
Cada archivo markdown se indexa con componentes ponderados:
Componente | Peso | Notas |
Nombre de archivo | 3x | |
Frontmatter | 3x | |
Frontmatter | 2x | Fusionado con etiquetas en línea |
Frontmatter | 2x | |
Etiquetas en línea ( | 2x | Extraídas del cuerpo |
Primer encabezado H1 | 2x | |
Contenido del cuerpo | 1x | Primeras 500 palabras |
Desarrollo
# Clone
git clone https://github.com/bborbe/semantic-search
cd semantic-search
# Install dev dependencies
make install
# Run checks
make check
# Run tests
make testLicencia
Licencia BSD 2-Clause: consulte 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