Meilisearch MCP サーバー
Claude などの LLM インターフェースを介して Meilisearch と対話するためのモデル コンテキスト プロトコル (MCP) サーバー。
特徴
インストール
# Clone repository
git clone <repository_url>
cd meilisearch-mcp
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
要件
- Python ≥ 3.9
- Meilisearchインスタンスの実行
- Node.js (MCP Inspector によるテスト用)
使用法
環境変数
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default Meilisearch API key
動的接続構成
サーバーは、実行時に接続設定を表示および更新するためのツールを提供します。
get-connection-settings
: 現在の接続 URL と API キーのステータスを表示しますupdate-connection-settings
: 別の Meilisearch インスタンスに接続するために URL や API キーを更新します
MCP 経由の使用例:
// Get current settings
{
"name": "get-connection-settings"
}
// Update connection settings
{
"name": "update-connection-settings",
"arguments": {
"url": "http://new-host:7700",
"api_key": "new-api-key"
}
}
検索機能
サーバーは、1 つまたはすべてのインデックスを検索できる柔軟な検索ツールを提供します。
search
: オプションパラメータを使用してMeilisearchインデックスを検索する
MCP 経由の使用例:
// Search in a specific index
{
"name": "search",
"arguments": {
"query": "search term",
"indexUid": "movies",
"limit": 10
}
}
// Search across all indices
{
"name": "search",
"arguments": {
"query": "search term",
"limit": 5,
"sort": ["releaseDate:desc"]
}
}
利用可能な検索パラメータ:
query
: 検索クエリ(必須)indexUid
: 検索する特定のインデックス(オプション)limit
: インデックスごとの結果の最大数(オプション、デフォルト: 20)offset
: スキップする結果の数(オプション、デフォルト: 0)filter
: フィルター式(オプション)sort
: ソートルール(オプション)
サーバーの実行
python -m src.meilisearch_mcp
Claude Desktopでの使用
Claude Desktop でこれを使用するには、 claude_desktop_config.json
に以下を追加します。
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
MCP Inspectorによるテスト
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
利用可能なツール
接続管理
get-connection-settings
: 現在の Meilisearch 接続 URL と API キーのステータスを表示しますupdate-connection-settings
: 別のインスタンスに接続するために URL や API キーを更新します
インデックス管理
create-index
: オプションの主キーを持つ新しいインデックスを作成するlist-indexes
: 利用可能なすべてのインデックスを一覧表示するget-index-metrics
: 特定のインデックスの詳細なメトリクスを取得する
ドキュメント操作
get-documents
: ページ区切り付きのインデックスからドキュメントを取得するadd-documents
: インデックス内のドキュメントを追加または更新する
検索
search
: フィルタリングと並べ替えのオプションを使用して、単一または複数のインデックスを柔軟に検索します。
設定管理
get-settings
: インデックスの現在の設定を表示するupdate-settings
: インデックス設定(ランキング、ファセットなど)を更新します
APIキー管理
get-keys
: すべてのAPIキーを一覧表示するcreate-key
: 特定の権限を持つ新しい API キーを作成するdelete-key
: 既存のAPIキーを削除する
タスク管理
get-task
: 特定のタスクに関する情報を取得するget-tasks
: オプションのフィルターを使用してタスクを一覧表示します。limit
: 返されるタスクの最大数from
: スキップするタスクの数reverse
: タスクの並び順batchUids
: バッチUIDでフィルタリングuids
: タスクUIDでフィルタリングcanceledBy
元によるフィルタリングtypes
: タスクタイプでフィルタリングstatuses
: タスクのステータスでフィルタリングindexUids
: インデックスUIDでフィルタリングafterEnqueuedAt
/ beforeEnqueuedAt
: エンキュー時間でフィルタリングafterStartedAt
/ beforeStartedAt
: 開始時刻でフィルタリングafterFinishedAt
/ beforeFinishedAt
: 終了時間でフィルタリング
cancel-tasks
: 保留中またはキューに登録されたタスクをキャンセルするdelete-tasks
: 完了したタスクを削除する
システム監視
health-check
: 基本的なヘルスチェックget-health-status
: 包括的な健康状態get-version
: Meilisearchのバージョン情報を取得するget-stats
: データベースの統計情報を取得するget-system-info
: システムレベルの情報を取得する
貢献
- フォークリポジトリ
- 機能ブランチを作成する
- 変更をコミットする
- プルリクエストを作成する
ライセンス
マサチューセッツ工科大学