Integrations
Utilizes Apache Lucene for full-text search and indexing capabilities, enabling efficient document management, complex querying with Lucene query syntax, and document filtering based on metadata.
Supports containerization of the application using Docker, with instructions for building and running the server as a Docker container.
Built with Spring Boot for application setup and deployment, providing RESTful API endpoints for document management operations including upsert, delete, list, and query functionalities.
MCP Lucene サーバー
説明
MCP Luceneサーバーは、Apache Luceneを用いた効率的な検索・取得機能を提供するために設計された、モデルコンテキストプロトコル(MCP)のJavaベースの実装です。このサーバーでは、Luceneの強力なインデックス作成機能と検索機能を活用し、ドキュメントの管理とクエリを実行できます。Spring Bootを使用して構築されているため、セットアップとデプロイが簡単です。
特徴
- **MCP コンプライアンス:**コア モデル コンテキスト プロトコルを実装します。
- **Lucene 搭載:**フルテキスト検索とインデックス作成に Apache Lucene を活用します。
- **RESTful API:**サーバーと対話するための RESTful API を提供します。
- ドキュメント管理:
- Upsert: Lucene インデックス内のドキュメントを追加または更新します。
- 削除: Lucene インデックスからドキュメントを削除します。
- **リスト:**インデックスからドキュメントのリストを取得します。
- クエリ:
- Lucene クエリ構文を使用した複雑なクエリをサポートします。
- フィルタリング: ドキュメントのメタデータに基づいてクエリをフィルタリングします。
- **ステータス:**サーバーのステータスを確認します。
- Spring Boot: Spring Boot を使用して構築されているため、セットアップとデプロイメントが簡単です。
- Docker 化: Docker を使用してアプリケーションをコンテナー化する手順が含まれています。
目次
はじめる
前提条件
- Java: Java 11 以上。
- Maven: Maven 3.6.0 以上。
- Docker: Docker イメージを使用する予定の場合は、 Docker をインストールします。
インストール
- リポジトリをクローンします。(Copy
your-username
を GitHub ユーザー名に置き換えてください) - Maven を使用してプロジェクトをビルドします。Copy
サーバーの実行
Dockerなし
- Spring Boot アプリケーションを実行します。(Copy
.jar
ファイルの正確な名前は、プロジェクトのバージョンによって若干異なる場合があります。) - デフォルトでは、サーバーはポート
8080
で起動します。
Dockerを使用
- **Docker がインストールされていることを確認します。**公式 Docker ウェブサイトの指示に従ってください: https://docs.docker.com/get-docker/
- **Docker イメージをビルドします。**ターミナルでプロジェクトのルート ディレクトリに移動し、次のコマンドを実行します。Copy
- Docker コンテナを実行します。これにより、ホスト マシン上のポートCopy
8080
コンテナー内のポート8080
にマップされます。
使用法
APIエンドポイント
サーバーは次の API エンドポイントを提供します。
GET /mcp/v1/status
- サーバーのステータスを返します。
POST /mcp/v1/upsert
- 1 つ以上のドキュメントをアップサート (挿入または更新) します。
- リクエスト本文:Copy
POST /mcp/v1/query
- Lucene インデックスを照会します。
- リクエスト本文:Copy
query
: Lucene クエリ文字列。top_k
: (オプション) 返される結果の最大数 (デフォルト: 10)。filter
: (オプション) フィルタリングするメタデータ フィールドと値のマップ。
POST /mcp/v1/delete
- Lucene インデックスからドキュメントを削除します。
- リクエスト本文:Copy
GET /mcp/v1/list
- Lucene インデックスからドキュメントを一覧表示します。
- リクエスト本文:Copy
例
サーバーステータスを取得します:
ドキュメントのアップサート:
クエリドキュメント:
ドキュメントを削除します:
ドキュメントの一覧:
構成
サーバーはSpring Bootのアプリケーションプロパティを使用して設定できます。主なプロパティは次のとおりです。
server.port
: サーバーがリッスンするポート (デフォルト: 8080)。lucene.index.path
: Lucene インデックスディレクトリへのパス。インデックスデータが保存される場所です。設定されていない場合はデフォルトの場所が使用されます。永続的な保存場所に設定することを強くお勧めします。
これらのプロパティはsrc/main/resources
ディレクトリのapplication.properties
またはapplication.yml
ファイルで設定するか、環境変数を使用して設定できます。
例のapplication.properties
:
server.port=8080 lucene.index.path=/path/to/lucene/index
ライセンス
このプロジェクトは、Apache 2.0 ライセンスに基づいてライセンスされます。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.Last updated -5206111TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.Last updated -1TypeScriptMIT License
- AsecurityAlicenseAqualityProvides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.Last updated -31PythonApache 2.0
- -securityFlicense-qualityAn MCP server that integrates with SerpApi to retrieve search results from multiple search engines including Google, Bing, Yahoo, and others, enabling fast access to both live and archived search data.Last updated -Python