MCP サーバー: Elasticsearch セマンティック検索ツール
デモリポジトリ: https://j.blaszyk.me/tech-blog/mcp-server-elasticsearch-semantic-search/
目次
概要
このリポジトリは、 ElasticsearchでインデックスされたSearch Labs ブログ投稿を通じてセマンティック検索を行うための MCP サーバーの Python 実装を提供します。
Elastic Open Crawlerを使用してブログ投稿をクロールし、 search-labs-posts
インデックスに保存していることを前提としています。
MCPサーバーの実行
ES_URL
とES_AP_KEY
を.env
ファイルに追加します (最小限の権限で API キーを生成する方法については、こちらをご覧ください)
MCP Inspectorでサーバーを起動します。
実行したら、次の MCP インスペクターにアクセスします: http://localhost:5173
Claude Desktopとの統合
MCP サーバーをClaude Desktopに追加するには:
これにより、ホームディレクトリのclaude_desktop_config.json
が更新されます。次回の再起動時に、Claude アプリはサーバーを検出し、宣言されたツールを読み込みます。
クロール検索ラボのブログ投稿
1. クローラーの設定を確認する
Elastic Open Crawler が動作するかどうかを確認するには、次のコマンドを実行します。
これにより、クロールされたコンテンツが1 ページから印刷されます。
2. Elasticsearchを設定する
Elasticsearch URL と API キーを設定します。
最小限のクローラー権限を持つ API キーを生成します:
応答からencoded
値をコピーし、 API_KEY
として設定します。
3. セマンティック検索のインデックスマッピングを更新する
search-labs-posts
インデックスが存在することを確認してください。存在しない場合は作成してください。
セマンティック検索を有効にするにはマッピングを更新します。
body
フィールドは**、Elasticsearch の ELSER モデルを使用してセマンティック テキスト**としてインデックス化されます。
4. 這い始める
クローラーを実行してインデックスを作成します。
[!TIP]新しい Elasticsearch クラスターを使用する場合は、インデックスを作成する前にELSER モデルが開始するまで待機します。
5. インデックスされたドキュメントを検証する
ドキュメントがインデックスされたかどうかを確認します。
インデックス内のドキュメントの総数が返されます。Kibanaでも確認できます。
完了! Search Labsのブログ投稿でセマンティック検索ができるようになりました
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Elasticsearch でインデックスされた Search Labs ブログ投稿を通じてセマンティック検索を可能にする Python MCP サーバー。これにより、Claude はブログ コンテンツから関連情報をインテリジェントに取得できます。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables Claude to perform web searches using Perplexity's API with intelligent model selection based on query intent and support for domain and recency filtering.Last updated -6JavaScriptMIT License
- AsecurityAlicenseAqualityProvides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.Last updated -32PythonApache 2.0
- -securityFlicense-qualityAn MCP server that integrates with Claude to provide smart documentation search capabilities across multiple AI/ML libraries, allowing users to retrieve and process technical information through natural language queries.Last updated -Python
Elasticsearch MCP Serverofficial
AsecurityAlicenseAqualityConnects Claude and other MCP clients to Elasticsearch data, allowing users to interact with their Elasticsearch indices through natural language conversations.Last updated -32,300358RustApache 2.0