Meilisearch

公式

Meilisearchと対話・クエリを実行(全文検索&セマンティック検索API)

Meilisearch MCPで何ができますか?

  • インデックス管理 — インデックスの作成、一覧表示、削除を行います。作成時にカスタム主キーを設定することもできます。
  • ドキュメントの処理 — インデックス内のドキュメントを追加または更新し、ページネーションを使って取得します。
  • 検索 — フィルター、ソート、ファセットを指定して、1つまたは複数のインデックスを検索します。
  • 設定の管理 — ランキングルール、ファセット、検索可能な属性などのインデックス設定を表示・更新します。
  • タスクとヘルスの監視 — インスタンスのヘルス状態、バージョン、統計情報を確認し、インデックス作成タスクの追跡やキャンセルを行います。
  • APIキーの管理 — 特定の権限を持つAPIキーの一覧表示、作成、削除を行います。

ドキュメント

Meilisearch

Meilisearch MCP Server

Meilisearch | Meilisearch Cloud | ドキュメント | Discord

PyPI version Python Versions Tests License Downloads

[!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

💻 開発

開発環境のセットアップ

  1. Meilisearchを起動:

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. 開発用依存関係をインストール:

    uv pip install -r requirements-dev.txt
    
  3. テストを実行:

    python -m pytest tests/ -v
    
  4. コードをフォーマット:

    black src/ tests/
    

MCP Inspectorでテスト

npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp

🤝 コミュニティとサポート

ぜひご意見をお聞かせください!サポートを受けたり、交流したりする方法はこちらです。

🤗 コントリビューション

コントリビューションを歓迎します!始め方はこちらです。

  1. リポジトリをフォーク
  2. フィーチャーブランチを作成(git checkout -b feature/amazing-feature)
  3. 変更内容のテストを作成
  4. 変更を加えてテストを実行
  5. blackでコードをフォーマット
  6. 変更をコミット(git commit -m 'Add amazing feature')
  7. ブランチにプッシュ(git push origin feature/amazing-feature)
  8. 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:システムレベルの情報を取得

開発環境のセットアップ

前提条件

  1. 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
    
  2. 開発ツールをインストール:

    # 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/

コントリビューションガイドライン

  1. リポジトリをフォークしてクローン
  2. 上記の「開発環境のセットアップ」セクションに従って開発環境をセットアップ
  3. mainからフィーチャーブランチを作成
  4. 新機能を追加する場合は、まずテストを作成(テスト駆動開発)
  5. コミット前にローカルでテストを実行し、すべて成功することを確認
  6. Blackでコードをフォーマットし、コード品質を確認
  7. 説明的なコミットメッセージを付けて変更をコミット
  8. フォークにプッシュし、プルリクエストを作成

開発ワークフロー

# 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への公開を自動化しています。リリースプロセスはシンプルで自動化されています。

リリースの仕組み

  1. 自動公開:mainブランチ上でpyproject.tomlのバージョンが変更されると、GitHub Actionが自動的に以下を実行します。

    • Pythonパッケージをビルド
    • trusted publishingを使ってPyPIに公開
    • GitHubで新しいリリースを作成
  2. バージョン検出:ワークフローはpyproject.tomlの現在のバージョンと前回のコミットを比較し、変更を検出します。

  3. 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が自動的に以下を実行します。

  1. バージョン変更を検出する
  2. パッケージをビルドする
  3. PyPI に公開する: https://pypi.org/p/meilisearch-mcp
  4. 新しいバージョンを 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 を使用してインストールする