Skip to main content
Glama
jedrazb

Elasticsearch Semantic Search MCP Server

by jedrazb

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 dev

Una 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-config

Esto 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-posts

Actualice 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/_count

Esto 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.

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    20
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An 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.
    4
    1
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables semantic and keyword search over Claude Code conversation history stored locally, using hybrid search, local embeddings, and time-decay scoring.
    23
    MIT

View all related MCP servers

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

View all MCP Connectors

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/jedrazb/elastic-semantic-search-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server