Meilisearch
公式Meilisearchと対話・クエリを実行(全文検索&セマンティック検索API)
Meilisearch MCPで何ができますか?
- インデックス管理 — インデックスの作成、一覧表示、削除を行います。作成時にカスタム主キーを設定することもできます。
- ドキュメントの処理 — インデックス内のドキュメントを追加または更新し、ページネーションを使って取得します。
- 検索 — フィルター、ソート、ファセットを指定して、1つまたは複数のインデックスを検索します。
- 設定の管理 — ランキングルール、ファセット、検索可能な属性などのインデックス設定を表示・更新します。
- タスクとヘルスの監視 — インスタンスのヘルス状態、バージョン、統計情報を確認し、インデックス作成タスクの追跡やキャンセルを行います。
- APIキーの管理 — 特定の権限を持つAPIキーの一覧表示、作成、削除を行います。
ドキュメント
Meilisearch MCP Server
Meilisearch | Meilisearch Cloud | ドキュメント | Discord
[!WARNING] このパッケージは非推奨です。代わりにネイティブのMeilisearch MCPサーバーを使用してください。
Meilisearchには、組み込みのMCPサーバーが搭載されました(Meilisearch v1.54以降)。インスタンスのHTTP経由の
/mcpルートで公開されるため、このPythonパッケージをインストールしたり実行したりする必要はありません。👉 セットアップ方法については、Meilisearch MCPガイドをご覧ください。
このリポジトリは、ネイティブサポートが登場する前に作られたローカルstdioラッパーです。現在は積極的にメンテナンスされておらず、既存ユーザー向けにのみ維持されています。
⚡ あらゆるLLMをMeilisearchに接続し、超高速検索機能でAIを強化しましょう! 🔍
🤔 これは何ですか?
Meilisearch MCP Serverは、あらゆるMCP互換クライアント(Claude、OpenAIエージェント、その他のLLMを含む)がMeilisearchと連携できるようにするModel Context Protocolサーバーです。このstdioベースのサーバーを使うと、AIアシスタントが自然な会話を通じて検索インデックスを管理し、検索を実行し、データを扱えるようになります。
これを使う理由
- 🤖 幅広い互換性 - Claudeだけでなく、あらゆるMCPクライアントで動作
- 🗣️ 自然言語で操作 - あらゆるLLMとの会話を通じてMeilisearchを管理
- 🚀 学習不要 - MeilisearchのAPIを覚える必要なし
- 🔧 すべての機能にアクセス - Meilisearchの機能をすぐに利用可能
- 🔄 動的な接続 - Meilisearchインスタンスをその場で切り替え
- 📡 stdioトランスポート - stdioのみを使用。HTTPにはネイティブのMeilisearch MCPサーバーを使用してください
✨ 主な機能
- 📊 インデックスとドキュメントの管理 - 検索インデックスの作成、更新、管理
- 🔍 スマート検索 - 高度なフィルタリングを使って、単一または複数のインデックスを検索
- ⚙️ 設定 - 検索の関連性とパフォーマンスを微調整
- 📈 タスクの監視 - インデックス作成の進捗とシステム操作を追跡
- 🔐 APIキー管理 - 安全なアクセス制御
- 🏥 ヘルスモニタリング - Meilisearchインスタンスの状態を確認
- 🧱 構造化されたツール出力 - データを返す各ツールは、最新のMCP仕様に従い、テキストとともに
structuredContentを提供 - 🔀 最新のMCPスタック - 公式MCP Python SDK v2(仕様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) - Pull Requestを作成
詳しくはコントリビューションガイドラインをご覧ください。
📦 リリースプロセス
このプロジェクトでは、バージョン管理と公開を自動化しています。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パッケージをビルド
- trusted publishingを使ってPyPIに公開
- GitHubで新しいリリースを作成
-
バージョン検出:ワークフローは
pyproject.tomlの現在のバージョンと前回のコミットを比較し、変更を検出します。 -
PyPIへの公開:PyPA公式の公開アクションをtrusted publishingとともに使用します(手動で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が自動的に以下を実行します。
- バージョン変更を検出する
- パッケージをビルドする
- PyPI に公開する: https://pypi.org/p/meilisearch-mcp
- 新しいバージョンを
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を使用してインストールする