Meilisearch
官方與 Meilisearch 互動及查詢(全文與語意搜尋 API)
你可以用 Meilisearch MCP 做什麼?
- 建立與管理索引 — 透過
create-index要求建立具有自訂主鍵的索引、列出既有索引,或刪除索引及其文件。 - 新增與擷取文件 — 使用
add-documents進行大量匯入或更新記錄,並以get-documents從任何索引分頁擷取文件。 - 執行彈性搜尋 — 使用
search工具在單一或多個索引中進行搜尋,支援篩選、排序與 Facet,並包含語意與混合搜尋選項。 - 調整搜尋設定 — 透過
get-settings與update-settings檢視或更新索引的排名規則、Facet 設定與可搜尋屬性。 - 監控任務與健康狀態 — 使用
get-tasks檢查索引處理進度、取消佇列中的操作,或透過health-check與get-stats驗證執行個體狀態。
文件
Meilisearch MCP Server
Meilisearch | Meilisearch Cloud | Documentation | Discord
⚡ 將任何 LLM 連接到 Meilisearch,以閃電般的搜尋能力為您的 AI 加速!🔍
🤔 這是什麼?
Meilisearch MCP Server 是一個 Model Context Protocol 伺服器,讓任何相容 MCP 的用戶端(包括 Claude、OpenAI agents 和其他 LLM)都能與 Meilisearch 互動。這個基於 stdio 的伺服器允許 AI 助手透過自然對話來管理搜尋索引、執行搜尋和處理您的資料。
為什麼要使用這個?
- 🤖 通用相容性 - 適用於任何 MCP 用戶端,不僅限於 Claude
- 🗣️ 自然語言控制 - 透過對話與任何 LLM 管理 Meilisearch
- 🚀 零學習曲線 - 無需學習 Meilisearch 的 API
- 🔧 完整功能存取 - 所有 Meilisearch 功能盡在掌握
- 🔄 動態連線 - 隨時切換不同的 Meilisearch 實例
- 📡 stdio 傳輸 - 目前使用 stdio;原生 Meilisearch MCP 支援即將推出!
✨ 主要功能
- 📊 索引與文件管理 - 建立、更新和管理搜尋索引
- 🔍 智慧搜尋 - 在單一或多個索引中進行進階篩選搜尋
- ⚙️ 設定配置 - 微調搜尋相關性和效能
- 📈 任務監控 - 追蹤索引進度和系統操作
- 🔐 API 金鑰管理 - 安全存取控制
- 🏥 健康監控 - 隨時掌握您的 Meilisearch 實例狀態
- 🧱 結構化工具輸出 - 每個回傳資料的工具都會在文字之外提供
structuredContent,符合最新的 MCP 規範 - 🔀 現代 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 agents 等)
從 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 金鑰
📁 索引操作
- 使用自訂主鍵建立新索引
- 列出所有索引及其統計資料
- 刪除索引及其資料
- 取得詳細的索引指標
📄 文件管理
- 新增或更新文件
- 使用分頁擷取文件
- 大量匯入資料
🔍 搜尋功能
- 使用篩選、排序和 Facet 進行搜尋
- 多索引搜尋
- 使用向量的語意搜尋
- 混合搜尋(關鍵字 + 語意)
⚙️ 設定與配置
- 配置排名規則
- 設定 Facet 和篩選
- 管理可搜尋屬性
- 自訂錯字容錯
🔐 安全性
- 建立和管理 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
🤗 貢獻
我們歡迎貢獻!以下是如何開始:
- Fork 儲存庫
- 建立您的功能分支(
git checkout -b feature/amazing-feature) - 為您的變更撰寫測試
- 進行變更並執行測試
- 使用
black格式化您的程式碼 - 提交您的變更(
git commit -m 'Add amazing feature') - 推送到您的分支(
git push origin feature/amazing-feature) - 開啟 Pull Request
請參閱我們的貢獻指南以了解更多詳情。
📦 發佈流程
此專案使用自動化版本控制和發佈。當 pyproject.toml 中的版本在 main 分支上變更時,套件會自動發佈到 PyPI。
請參閱發佈流程章節以取得詳細說明。
📄 授權
此專案採用 MIT 授權 - 請參閱 LICENSE 檔案以了解詳情。
Meilisearch 是一個開源搜尋引擎,提供令人愉悅的搜尋體驗。
在 meilisearch.com 了解更多關於 Meilisearch 的資訊
📖 完整文件
可用工具
連線管理
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:更新索引設定(排名、Facet 等)
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/
貢獻指南
- Fork 並複製儲存庫
- 設定開發環境,依照上方「開發設定」章節
- 從
main建立功能分支 - 先撰寫測試(若新增功能,請採用測試驅動開發)
- 在本機執行測試以確保所有測試在提交前通過
- 使用 Black 格式化程式碼並確保程式碼品質
- 提交變更並使用描述性的提交訊息
- 推送到您的 fork並建立 pull request
開發工作流程
# 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。發佈流程設計為簡單且自動化。
發佈如何運作
-
自動化發佈:當
pyproject.toml中的版本號在main分支上變更時,GitHub Action 會自動:- 建置 Python 套件
- 使用受信任發佈將其發佈到 PyPI
- 在 GitHub 上建立新的 release
-
版本偵測:工作流程會比較
pyproject.toml中的目前版本與前一次提交,以偵測變更 -
PyPI 發佈:使用 PyPA 的官方發佈 action 搭配受信任發佈(無需手動 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. 合併到主分支
一旦 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安裝