Meilisearch MCP Server

Official

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.

Integrations

  • Provides a Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces, supporting index and document management, settings configuration, task monitoring, API key management, and search capabilities across single or multiple indices.

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 : システムレベルの情報を取得する

貢献

  1. フォークリポジトリ
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. プルリクエストを作成する

ライセンス

マサチューセッツ工科大学

ID: tbc3n51jja