Elasticsearch Semantic Search MCP Server
Servidor MCP: herramienta de búsqueda semántica de Elasticsearch
Repositorio de demostración para: https://j.blaszyk.me/tech-blog/mcp-server-elasticsearch-semantic-search/
Tabla de contenido
Related MCP server: ElasticMind-MCP
Descripción general
Este repositorio proporciona una implementación en Python de un servidor MCP para búsqueda semántica a través de publicaciones del blog de Search Labs indexadas en Elasticsearch .
Se supone que ha rastreado las publicaciones del blog y las ha almacenado en el índice search-labs-posts usando Elastic Open Crawler .
Ejecución del servidor MCP
Agregue ES_URL y ES_AP_KEY al archivo .env (consulte aquí para generar una clave API con permisos mínimos)
Inicie el servidor en MCP Inspector :
make devUna vez en ejecución, acceda al Inspector MCP en: http://localhost:5173
Integración con Claude Desktop
Para agregar el servidor MCP a Claude Desktop :
make install-claude-configEsto actualiza claude_desktop_config.json en tu directorio personal. En el siguiente reinicio, la aplicación Claude detectará el servidor y cargará la herramienta declarada.
Publicaciones del blog de Crawling Search Labs
1. Verificar la configuración del rastreador
Para comprobar si Elastic Open Crawler funciona, ejecute:
docker run --rm \
--entrypoint /bin/bash \
-v "$(pwd)/crawler-config:/app/config" \
--network host \
docker.elastic.co/integrations/crawler:latest \
-c "bin/crawler crawl config/test-crawler.yml"Esto debería imprimir el contenido rastreado de una sola página .
2. Configurar Elasticsearch
Configurar la URL y la clave API de Elasticsearch .
Genere una clave API con permisos mínimos de rastreador :
POST /_security/api_key
{
"name": "crawler-search-labs",
"role_descriptors": {
"crawler-search-labs-role": {
"cluster": ["monitor"],
"indices": [
{
"names": ["search-labs-posts"],
"privileges": ["all"]
}
]
}
},
"metadata": {
"application": "crawler"
}
}Copie el valor encoded de la respuesta y configúrelo como API_KEY .
3. Actualizar la asignación de índices para la búsqueda semántica
Asegúrate de que el índice search-labs-posts exista. Si no, créalo:
PUT search-labs-postsActualice el mapeo para habilitar la búsqueda semántica :
PUT search-labs-posts/_mappings
{
"properties": {
"body": {
"type": "text",
"copy_to": "semantic_body"
},
"semantic_body": {
"type": "semantic_text",
"inference_id": ".elser-2-elasticsearch"
}
}
}El campo body se indexa como texto semántico utilizando el modelo ELSER de Elasticsearch .
4. Empieza a gatear
Ejecute el rastreador para completar el índice:
docker run --rm \
--entrypoint /bin/bash \
-v "$(pwd)/crawler-config:/app/config" \
--network host \
docker.elastic.co/integrations/crawler:latest \
-c "bin/crawler crawl config/elastic-search-labs-crawler.yml"[!TIP] Si usa un clúster Elasticsearch nuevo , espere a que se inicie el modelo ELSER antes de indexar.
5. Verificar documentos indexados
Compruebe si los documentos fueron indexados:
GET search-labs-posts/_countEsto devolverá el recuento total de documentos en el índice. También puede verificarlo en Kibana .
¡Listo! Ya puedes realizar búsquedas semánticas en las publicaciones del blog de Search Labs.
This server cannot be installed
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 gradedqualityDmaintenanceAn unofficial MCP server that provides semantic search capabilities for Hugging Face models and datasets, enabling Claude and other MCP-compatible clients to search, discover, and explore the Hugging Face ecosystem using natural language queries.20MIT
- FlicenseAqualityDmaintenanceAn MCP server that indexes PDF documentation and text into Elasticsearch for semantic search and retrieval. It enables users to query knowledge bases, ingest new files, and dynamically update content through MCP-compatible clients like Claude Desktop and Cursor.41
- FlicenseNot gradedqualityDmaintenanceA semantic search system for Claude Code transcript history, exposed as an MCP server so Claude Code can query its own past sessions.
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables semantic and keyword search over Claude Code conversation history stored locally, using hybrid search, local embeddings, and time-decay scoring.23MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
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/jedrazb/elastic-semantic-search-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server