Meilisearch MCP Server について
Meilisearch MCP Server は、MCP 対応クライアントから自然言語で Meilisearch を操作できる MCP サーバーです。インデックス、ドキュメント、検索、設定を扱い、LLM から検索エンジンを直接操作したい利用者を想定しています。stdio で動作します。
主な機能
- 01インデックスとドキュメントの管理
- 02フィルタリングと並べ替えを備えた複数インデックス検索
- 03検索の関連性と設定の構成
- 04タスク監視と API キー管理
- 05Meilisearch インスタンスの切り替え
活用シーン
- 01会話によるインデックス作成と商品データの投入
- 02AI アシスタントによる複数インデックスの検索
- 03タスクの進行状況とインスタンスの状態の確認
MCP 対応
このプロジェクトは MCP サーバーであり、インデックス、ドキュメント、検索、設定、タスク、システム監視のツールを stdio 経由で MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Meilisearch MCP サーバー
Meilisearch | Meilisearch Cloud | ドキュメント | Discord
⚡ あらゆる LLM を Meilisearch に接続して、超高速な検索機能で AI をパワーアップしましょう! 🔍
🤔 これは何ですか?
Meilisearch MCP サーバーは、MCP 互換クライアント(Claude、OpenAI エージェント、その他の LLM を含む)が Meilisearch を利用できるようにする Model Context Protocol サーバーです。この stdio ベースのサーバーを使うと、AI アシスタントは自然な会話を通じて、検索インデックスの管理、検索の実行、データの処理を行えます。
これを使う理由
- 🤖 幅広い互換性 - Claude に限らず、あらゆる MCP クライアントで動作します
- 🗣️ 自然言語による操作 - あらゆる LLM との会話を通じて Meilisearch を管理できます
- 🚀 学習コストゼロ - Meilisearch の API を覚える必要はありません
- 🔧 すべての機能にアクセス - Meilisearch のあらゆる機能をすぐに利用できます
- 🔄 動的な接続 - Meilisearch インスタンスをその場で切り替えられます
- 📡 stdio トランスポート - 現在は stdio を使用しています。Meilisearch のネイティブ MCP 対応も近日公開予定です!
✨ 主な機能
- 📊 インデックスとドキュメントの管理 - 検索インデックスの作成、更新、管理
- 🔍 スマート検索 - 高度なフィルタリングを使って、単一または複数のインデックスを横断検索
- ⚙️ 設定 - 検索の関連性とパフォーマンスを細かく調整
- 📈 タスクのモニタリング - インデックス作成の進捗状況とシステム操作を追跡
- 🔐 API キー管理 - アクセスを安全に制御
- 🏥 ヘルスモニタリング - Meilisearch インスタンスの状態を確認
- 🧱 構造化されたツール出力 - データを返すすべてのツールが、最新の MCP 仕様に従い、テキストとともに
structuredContentを提供します - 🔀 最新の MCP スタック - 公式 MCP Python SDK v2(spec 2026-07-28)を基盤とし、旧バージョンの MCP クライアントとの下位互換性も備えています
- 🐍 Python 実装 - TypeScript 版も利用できます
🚀 クイックスタート
3 つのステップですぐに使い始められます!
1️⃣ パッケージをインストール
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Claude Desktop を設定
これを claude_desktop_config.json に追加します:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Meilisearch を起動
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
これで完了です!AI アシスタントに、Meilisearch のデータを検索・管理するよう頼めるようになります!🎉
📚 使用例
💬 AI アシスタントと自然に会話する:
You: "Create a new index called 'products' with 'id' as the primary key"
AI: I'll create that index for you... ✓ Index 'products' created successfully!
You: "Add some products to the index"
AI: I'll add those products... ✓ Added 5 documents to 'products' index
You: "Search for products under $50 with 'electronics' in the category"
AI: I'll search for those products... Found 12 matching products!
🔍 高度な検索の例:
You: "Search across all my indices for 'machine learning' and sort by date"
AI: Searching across all indices... Found 47 results from 3 indices:
- 'blog_posts': 23 articles about ML
- 'documentation': 15 technical guides
- 'tutorials': 9 hands-on tutorials
🔧 インストール
前提条件
- Python ≥ 3.10
- 起動中の Meilisearch インスタンス
- MCP 互換クライアント(Claude Desktop、OpenAI エージェントなど)
PyPI から
pip install meilisearch-mcp
ソースから(開発用)
# Clone repository
git clone https://github.com/meilisearch/meilisearch-mcp.git
cd meilisearch-mcp
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
Docker を使用
n8n のワークフローなど、コンテナ化された環境に最適です!
Docker Hub から
# Pull the latest image
docker pull getmeili/meilisearch-mcp:latest
# Or a specific version
docker pull getmeili/meilisearch-mcp:0.5.0
# Run the container
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
getmeili/meilisearch-mcp:latest
ソースからビルド
# Build your own image
docker build -t meilisearch-mcp .
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
meilisearch-mcp
n8n との連携
n8n ワークフローでは、Docker イメージをセットアップで直接使用できます。
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ できること
🔗 接続管理
- 現在の接続設定を表示
- Meilisearch インスタンスを動的に切り替え
- API キーをその場で更新
📁 インデックス操作
- カスタム主キーを指定して新しいインデックスを作成
- 統計情報とともにすべてのインデックスを一覧表示
- インデックスとそのデータを削除
- 詳細なインデックスのメトリクスを取得
📄 ドキュメント管理
- ドキュメントを追加または更新
- ページネーションを使用してドキュメントを取得
- データを一括インポート
🔍 検索機能
- フィルター、ソート、ファセットを使用して検索
- 複数のインデックスを検索
- ベクトルを使用したセマンティック検索
- ハイブリッド検索(キーワード+セマンティック)
⚙️ 設定と構成
- ランキングルールを構成
- ファセットとフィルタリングを設定
- 検索可能な属性を管理
- あいまい検索の許容度をカスタマイズ
🔐 セキュリティ
- API キーを作成および管理
- 詳細な権限を設定
- キーの使用状況を監視
⚠️ 注:利便性のため、チャットでホストや API キーを直接追加、更新できますが、この方法は主に開発用途(複数のインスタンスにその場で接続する場合など)を想定しています。MCP のベストセキュリティプラクティスに沿っていないため、適切な保護策なしで本番環境に使用しないでください。
📊 監視とヘルスチェック
- ヘルスチェック
- システム統計情報
- タスクの監視
- バージョン情報
🌍 環境変数
デフォルトの接続設定を構成します。
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 開発
開発環境のセットアップ
-
Meilisearch を起動:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
開発用依存関係をインストール:
uv pip install -r requirements-dev.txt -
テストを実行:
python -m pytest tests/ -v -
コードをフォーマット:
black src/ tests/
MCP Inspector でテスト
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 コミュニティとサポート
ぜひご意見をお寄せください。ヘルプの利用方法と交流方法をご紹介します。
- 💬 Discord に参加 - コミュニティで交流しましょう
- 🐛 問題を報告 - バグを見つけた場合はお知らせください。
- 💡 機能リクエスト - アイデアがあればぜひお聞かせください。
- 📖 Meilisearch ドキュメント - Meilisearch の詳細はこちら
🤗 貢献
貢献を歓迎します。始め方をご紹介します。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更内容のテストを作成します
- 変更を加えてテストを実行します
blackでコードをフォーマットします- 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
詳しくは、貢献ガイドラインをご覧ください。
📦 リリースプロセス
このプロジェクトでは、バージョン管理と公開を自動化しています。main ブランチで pyproject.toml のバージョンが変更されると、パッケージは自動的に PyPI に公開されます。
詳しい手順については、リリースプロセスのセクションをご覧ください。
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
Meilisearch は、快適な検索体験を提供するオープンソースの検索エンジンです。
Meilisearch の詳細については、meilisearch.comをご覧ください
📖 ドキュメント全文
利用可能なツール
接続管理
get-connection-settings:現在の Meilisearch 接続 URL と API キーの状態を表示update-connection-settings:別のインスタンスに接続するため、URL や API キーを更新
インデックス管理
create-index:オプションで主キーを指定して新しいインデックスを作成しますlist-indexes:利用可能なすべてのインデックスを一覧表示しますdelete-index:既存のインデックスとそのすべてのドキュメントを削除します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:オプションのフィルターを指定してタスクを一覧表示しますcancel-tasks:保留中またはキューに登録されたタスクをキャンセルします
システム監視
health-check:基本的なヘルスチェックを行いますget-health-status:包括的なヘルスステータスを取得しますget-version:Meilisearch のバージョン情報を取得しますget-stats:データベースの統計情報を取得しますget-system-info:システムレベルの情報を取得します
開発環境のセットアップ
前提条件
-
Meilisearch サーバーを起動する:
# Using Docker (recommended for development) docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 # Or using brew (macOS) brew install meilisearch meilisearch # Or download from https://github.com/meilisearch/meilisearch/releases -
開発ツールをインストールする:
# Install uv for Python package management pip install uv # Install Node.js for MCP Inspector testing # Visit https://nodejs.org/ or use your package manager
テストの実行
このプロジェクトには、MCP ツールの機能を検証する包括的な統合テストが含まれています。
# Run all tests
python -m pytest tests/ -v
# Run specific test file
python -m pytest tests/test_mcp_client.py -v
# Run tests with coverage report
python -m pytest --cov=src tests/
# Run tests in watch mode (requires pytest-watch)
pytest-watch tests/
重要:テストを実行するには、http://localhost:7700 で Meilisearch インスタンスが実行されている必要があります。
コード品質
# Format code with Black
black src/ tests/
# Run type checking (if mypy is configured)
mypy src/
# Lint code (if flake8 is configured)
flake8 src/ tests/
コントリビューションガイドライン
- リポジトリをフォークしてクローンします
- 上記の「開発環境のセットアップ」セクションに従って、開発環境をセットアップします
mainから機能ブランチを作成します- 新しい機能を追加する場合は、まずテストを作成します(テスト駆動開発)
- コミットする前に、ローカルでテストを実行し、すべてのテストが成功することを確認します
- Black でコードをフォーマットし、コード品質を確保します
- 説明的なコミットメッセージを付けて変更をコミットします
- フォークにプッシュし、プルリクエストを作成します
開発ワークフロー
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes, write tests first
# Edit files...
# Run tests to ensure everything works
python -m pytest tests/ -v
# Format code
black src/ tests/
# Commit and push
git add .
git commit -m "Add feature description"
git push origin feature/your-feature-name
テストガイドライン
- 新機能にはすべてテストを含めてください
- PR を提出する前にテストが成功することを確認してください
- 説明的なテスト名と明確なアサーションを使用してください
- 成功するケースとエラーケースの両方をテストしてください
- テストを実行する前に、Meilisearch が起動していることを確認してください
リリースプロセス
このプロジェクトでは、PyPI への自動バージョン管理と公開を使用しています。リリースプロセスは、シンプルで自動化されるように設計されています。
リリースの仕組み
-
自動公開:
mainブランチでpyproject.tomlのバージョン番号が変更されると、GitHub Action が自動的に以下を実行します。- Python パッケージをビルドします
- 信頼された公開を使用して PyPI に公開します
- GitHub で新しいリリースを作成します
-
バージョンの検出:ワークフローは、
pyproject.tomlの現在のバージョンと直前のコミットを比較し、変更を検出します -
PyPI への公開:信頼された公開を利用する PyPA 公式の公開アクションを使用します(手動で API キーを用意する必要はありません)
新しいリリースの作成
新しいリリースを作成するには、以下の手順に従います。
1. バージョン番号を決定する
セマンティックバージョニング(MAJOR.MINOR.PATCH)に従います。
- PATCH(例:0.4.0 → 0.4.1):バグ修正、ドキュメントの更新、小規模な改善
- MINOR(例:0.4.0 → 0.5.0):新機能、新しい MCP ツール、大幅な機能強化
- MAJOR(例:0.5.0 → 1.0.0):互換性を損なう変更、主要な API の変更
2. バージョンを更新して PR を作成する
# 1. Create a branch from latest main
git checkout main
git pull origin main
git checkout -b release/v0.5.0
# 2. Update version in pyproject.toml
# Edit the version = "0.4.0" line to your new version
# 3. Commit and push
git add pyproject.toml
git commit -m "Bump version to 0.5.0"
git push origin release/v0.5.0
# 4. Create PR and get it reviewed/merged
gh pr create --title "Release v0.5.0" --body "Bump version for release"
3. Main にマージする
PR が承認され、main にマージされると、GitHub Action が自動的に以下を実行します。
- バージョンの変更を検出します
- パッケージをビルドします
- https://pypi.org/p/meilisearch-mcp で PyPI に公開します
pip install meilisearch-mcpで新しいバージョンを利用できるようにします
4. リリースを確認する
マージ後、リリースを確認します。
# Check GitHub Action status
gh run list --workflow=publish.yml
# Verify on PyPI (may take a few minutes)
pip index versions meilisearch-mcp
# Test installation of new version
pip install --upgrade meilisearch-mcp
リリースワークフローファイル
自動リリースは .github/workflows/publish.yml で処理され、次の内容が実行されます。
mainブランチへのプッシュ時にトリガーされますpyproject.tomlのバージョンが変更されたかどうかを確認します- Python 3.10 と公式のビルドツールを使用します
- トラステッドパブリッシングを使用して公開します(API キーは不要です)
- デバッグ用に詳細な出力を提供します
リリースのトラブルシューティング
リリースがトリガーされない場合:コミット間で pyproject.toml のバージョンが実際に変更されているか確認してください
ビルドに失敗した場合:GitHub Actions のログで Python パッケージのビルドエラーを確認してください
PyPI への公開に失敗した場合:パッケージ名と、トラステッドパブリッシングが正しく設定されているかを確認してください
バージョンが競合する場合:新しいバージョン番号が PyPI で以前に使用されていないことを確認してください
開発版と本番版
- 開発版:
pip install -e .を使用してソースからインストールします - 本番版:
pip install meilisearch-mcpを使用して PyPI からインストールします - 特定のバージョン:
pip install meilisearch-mcp==0.5.0を使用してインストールします
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。