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 をインストールします。
インストール
- リポジトリをクローンします。(
your-username
を GitHub ユーザー名に置き換えてください) - Maven を使用してプロジェクトをビルドします。
サーバーの実行
Dockerなし
- Spring Boot アプリケーションを実行します。(
.jar
ファイルの正確な名前は、プロジェクトのバージョンによって若干異なる場合があります。) - デフォルトでは、サーバーはポート
8080
で起動します。
Dockerを使用
- **Docker がインストールされていることを確認します。**公式 Docker ウェブサイトの指示に従ってください: https://docs.docker.com/get-docker/
- **Docker イメージをビルドします。**ターミナルでプロジェクトのルート ディレクトリに移動し、次のコマンドを実行します。
- Docker コンテナを実行します。これにより、ホスト マシン上のポート
8080
コンテナー内のポート8080
にマップされます。
使用法
APIエンドポイント
サーバーは次の API エンドポイントを提供します。
GET /mcp/v1/status
- サーバーのステータスを返します。
POST /mcp/v1/upsert
- 1 つ以上のドキュメントをアップサート (挿入または更新) します。
- リクエスト本文:
POST /mcp/v1/query
- Lucene インデックスを照会します。
- リクエスト本文:
query
: Lucene クエリ文字列。top_k
: (オプション) 返される結果の最大数 (デフォルト: 10)。filter
: (オプション) フィルタリングするメタデータ フィールドと値のマップ。
POST /mcp/v1/delete
- Lucene インデックスからドキュメントを削除します。
- リクエスト本文:
GET /mcp/v1/list
- Lucene インデックスからドキュメントを一覧表示します。
- リクエスト本文:
例
サーバーステータスを取得します:
ドキュメントのアップサート:
クエリドキュメント:
ドキュメントを削除します:
ドキュメントの一覧:
構成
サーバーは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 ライセンスに基づいてライセンスされます。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
mcp-lucene-server
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides LLMs access to other LLMsLast updated -467359JavaScriptMIT License
- JavaScript
- TypeScriptMIT License
- GoAGPL 3.0