Skip to main content
Glama
jedrazb

Elasticsearch Semantic Search MCP Server

by jedrazb

MCP 서버: Elasticsearch 의미 검색 도구

데모 리포: https://j.blaszyk.me/tech-blog/mcp-server-elasticsearch-semantic-search/

목차


Related MCP server: ElasticMind-MCP

개요

이 저장소는 Elasticsearch 에 색인된 Search Labs 블로그 게시물을 통한 의미 검색을 위한 MCP 서버의 Python 구현을 제공합니다.

Elastic Open Crawler를 사용하여 블로그 게시물을 크롤링하고 search-labs-posts 인덱스에 저장했다고 가정합니다.


MCP 서버 실행

ES_URLES_AP_KEY .env 파일에 추가합니다. (최소 권한으로 API 키를 생성하는 방법은 여기를 참조하세요.)

MCP Inspector 에서 서버를 시작합니다.

지엑스피1

실행 후 MCP Inspector에 접속하세요: http://localhost:5173


Claude Desktop과 통합

Claude Desktop 에 MCP 서버를 추가하려면:

make install-claude-config

이렇게 하면 홈 디렉터리의 claude_desktop_config.json 이 업데이트됩니다. 다음에 다시 시작하면 Claude 앱이 서버를 감지하고 선언된 도구를 로드합니다.


크롤링 검색 랩 블로그 게시물

1. 크롤러 설정 확인

Elastic Open Crawler가 작동하는지 확인하려면 다음을 실행하세요.

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"

이렇게 하면 단일 페이지 에서 크롤링된 콘텐츠가 인쇄됩니다.


2. Elasticsearch 구성

Elasticsearch URL과 API 키를 설정합니다.

최소 크롤러 권한 으로 API 키 생성:

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"
  }
}

응답에서 encoded 값을 복사하여 API_KEY 로 설정합니다.


3. 의미 검색을 위한 인덱스 매핑 업데이트

search-labs-posts 인덱스가 있는지 확인하세요. 없으면 새로 만드세요.

PUT search-labs-posts

의미 검색을 활성화하기 위해 매핑을 업데이트합니다.

PUT search-labs-posts/_mappings
{
  "properties": {
    "body": {
      "type": "text",
      "copy_to": "semantic_body"
    },
    "semantic_body": {
      "type": "semantic_text",
      "inference_id": ".elser-2-elasticsearch"
    }
  }
}

body 필드는 Elasticsearch의 ELSER 모델을 사용하여 의미 텍스트 로 인덱싱됩니다.


4. 크롤링 시작

크롤러를 실행하여 인덱스를 채웁니다.

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] 새로운 Elasticsearch 클러스터를 사용하는 경우 인덱싱하기 전에 ELSER 모델이 시작될 때까지 기다리세요.


5. 색인된 문서 확인

문서가 인덱싱되었는지 확인하세요.

GET search-labs-posts/_count

이렇게 하면 인덱스의 총 문서 수가 반환됩니다. Kibana 에서도 확인할 수 있습니다.


완료! 이제 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