Meilisearch MCP Server
chính thứcTương tác & truy vấn với Meilisearch (API tìm kiếm toàn văn & ngữ nghĩa)
Tài liệu
Máy chủ Meilisearch MCP
Meilisearch | Meilisearch Cloud | Tài liệu | Discord
⚡ Kết nối bất kỳ LLM nào với Meilisearch và tăng sức mạnh cho AI của bạn với khả năng tìm kiếm nhanh như chớp! 🔍
🤔 Đây là gì?
Máy chủ Meilisearch MCP là một máy chủ Giao thức Ngữ cảnh Mô hình (Model Context Protocol) cho phép bất kỳ máy khách tương thích MCP nào (bao gồm Claude, các tác nhân OpenAI và các LLM khác) tương tác với Meilisearch. Máy chủ dựa trên stdio này cho phép các trợ lý AI quản lý chỉ mục tìm kiếm, thực hiện tìm kiếm và xử lý dữ liệu của bạn thông qua hội thoại tự nhiên.
Tại sao nên sử dụng?
- 🤖 Tương thích toàn cầu - Hoạt động với bất kỳ máy khách MCP nào, không chỉ Claude
- 🗣️ Điều khiển bằng ngôn ngữ tự nhiên - Quản lý Meilisearch thông qua hội thoại với bất kỳ LLM nào
- 🚀 Không cần học - Không cần phải học API của Meilisearch
- 🔧 Truy cập đầy đủ tính năng - Tất cả khả năng của Meilisearch trong tầm tay bạn
- 🔄 Kết nối động - Chuyển đổi giữa các phiên bản Meilisearch một cách nhanh chóng
- 📡 Vận chuyển stdio - Hiện đang sử dụng stdio; hỗ trợ Meilisearch MCP gốc sắp ra mắt!
✨ Tính năng chính
- 📊 Quản lý Chỉ mục & Tài liệu - Tạo, cập nhật và quản lý các chỉ mục tìm kiếm
- 🔍 Tìm kiếm thông minh - Tìm kiếm trên một hoặc nhiều chỉ mục với bộ lọc nâng cao
- ⚙️ Cấu hình Cài đặt - Tinh chỉnh độ liên quan và hiệu suất tìm kiếm
- 📈 Giám sát Tác vụ - Theo dõi tiến trình lập chỉ mục và các hoạt động hệ thống
- 🔐 Quản lý Khóa API - Kiểm soát truy cập an toàn
- 🏥 Giám sát Tình trạng - Theo dõi phiên bản Meilisearch của bạn
- 🐍 Triển khai Python - Cũng có phiên bản TypeScript
🚀 Bắt đầu nhanh
Chỉ cần 3 bước để bắt đầu!
1️⃣ Cài đặt gói
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Cấu hình Claude Desktop
Thêm phần này vào claude_desktop_config.json của bạn:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Khởi động Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
Vậy là xong! Bây giờ bạn có thể yêu cầu trợ lý AI của mình tìm kiếm và quản lý dữ liệu Meilisearch! 🎉
📚 Ví dụ
💬 Trò chuyện với trợ lý AI của bạn một cách tự nhiên:
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!
🔍 Ví dụ Tìm kiếm Nâng cao:
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
🔧 Cài đặt
Điều kiện tiên quyết
- Python ≥ 3.9
- Phiên bản Meilisearch đang chạy
- Máy khách tương thích MCP (Claude Desktop, tác nhân OpenAI, v.v.)
Từ PyPI
pip install meilisearch-mcp
Từ mã nguồn (để phát triển)
# 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 .
Sử dụng Docker
Hoàn hảo cho môi trường container hóa như quy trình làm việc n8n!
Từ 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
Xây dựng từ mã nguồn
# 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
Tích hợp với n8n
Đối với quy trình làm việc n8n, bạn có thể sử dụng trực tiếp image Docker trong thiết lập của mình:
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ Bạn có thể làm gì?
🔗 Quản lý Kết nối
- Xem cài đặt kết nối hiện tại
- Chuyển đổi động giữa các phiên bản Meilisearch
- Cập nhật khóa API nhanh chóng
📁 Thao tác Chỉ mục
- Tạo chỉ mục mới với khóa chính tùy chỉnh
- Liệt kê tất cả chỉ mục với số liệu thống kê
- Xóa chỉ mục và dữ liệu của chúng
- Lấy số liệu chi tiết của chỉ mục
📄 Quản lý Tài liệu
- Thêm hoặc cập nhật tài liệu
- Truy xuất tài liệu với phân trang
- Nhập dữ liệu hàng loạt
🔍 Khả năng Tìm kiếm
- Tìm kiếm với bộ lọc, sắp xếp và phân nhóm
- Tìm kiếm đa chỉ mục
- Tìm kiếm ngữ nghĩa với vector
- Tìm kiếm lai (từ khóa + ngữ nghĩa)
⚙️ Cài đặt & Cấu hình
- Cấu hình quy tắc xếp hạng
- Thiết lập phân nhóm và lọc
- Quản lý thuộc tính có thể tìm kiếm
- Tùy chỉnh dung sai lỗi chính tả
🔐 Bảo mật
- Tạo và quản lý khóa API
- Đặt quyền chi tiết
- Giám sát việc sử dụng khóa
⚠️ Lưu ý: Mặc dù bạn có thể thêm và cập nhật máy chủ và khóa API trực tiếp trong trò chuyện để thuận tiện, cách tiếp cận này chủ yếu được thiết kế cho các trường hợp sử dụng phát triển (như kết nối với nhiều phiên bản một cách nhanh chóng). Nó không tuân theo các phương pháp bảo mật MCP tốt nhất và không nên được sử dụng trong môi trường sản xuất nếu không có các biện pháp bảo vệ thích hợp.
📊 Giám sát & Tình trạng
- Kiểm tra tình trạng
- Thống kê hệ thống
- Giám sát tác vụ
- Thông tin phiên bản
🌍 Biến môi trường
Cấu hình cài đặt kết nối mặc định:
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 Phát triển
Thiết lập Môi trường Phát triển
-
Khởi động Meilisearch:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
Cài đặt Phụ thuộc Phát triển:
uv pip install -r requirements-dev.txt -
Chạy Kiểm thử:
python -m pytest tests/ -v -
Định dạng Mã:
black src/ tests/
Kiểm thử với MCP Inspector
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 Cộng đồng & Hỗ trợ
Chúng tôi rất mong nhận được phản hồi từ bạn! Đây là cách để nhận trợ giúp và kết nối:
- 💬 Tham gia Discord của chúng tôi - Trò chuyện với cộng đồng
- 🐛 Báo cáo Sự cố - Tìm thấy lỗi? Hãy cho chúng tôi biết!
- 💡 Yêu cầu Tính năng - Có ý tưởng? Chúng tôi đang lắng nghe!
- 📖 Tài liệu Meilisearch - Tìm hiểu thêm về Meilisearch
🤗 Đóng góp
Chúng tôi hoan nghênh các đóng góp! Đây là cách để bắt đầu:
- Fork kho lưu trữ
- Tạo nhánh tính năng của bạn (
git checkout -b feature/amazing-feature) - Viết kiểm thử cho các thay đổi của bạn
- Thực hiện thay đổi và chạy kiểm thử
- Định dạng mã của bạn với
black - Commit các thay đổi của bạn (
git commit -m 'Add amazing feature') - Đẩy lên nhánh của bạn (
git push origin feature/amazing-feature) - Mở Pull Request
Xem Hướng dẫn Đóng góp của chúng tôi để biết thêm chi tiết.
📦 Quy trình Phát hành
Dự án này sử dụng quản lý phiên bản và xuất bản tự động. Khi phiên bản trong pyproject.toml thay đổi trên nhánh main, gói sẽ tự động được xuất bản lên PyPI.
Xem phần Quy trình Phát hành để biết hướng dẫn chi tiết.
📄 Giấy phép
Dự án này được cấp phép theo Giấy phép MIT - xem tệp LICENSE để biết chi tiết.
Meilisearch là một công cụ tìm kiếm mã nguồn mở mang lại trải nghiệm tìm kiếm thú vị.
Tìm hiểu thêm về Meilisearch tại meilisearch.com
📖 Tài liệu đầy đủ
Công cụ có sẵn
Quản lý Kết nối
get-connection-settings: Xem URL kết nối Meilisearch hiện tại và trạng thái khóa APIupdate-connection-settings: Cập nhật URL và/hoặc khóa API để kết nối với một phiên bản khác
Quản lý Chỉ mục
create-index: Tạo chỉ mục mới với khóa chính tùy chọnlist-indexes: Liệt kê tất cả các chỉ mục có sẵndelete-index: Xóa chỉ mục hiện có và tất cả tài liệu của nóget-index-metrics: Lấy số liệu chi tiết cho một chỉ mục cụ thể
Thao tác Tài liệu
get-documents: Truy xuất tài liệu từ một chỉ mục với phân trangadd-documents: Thêm hoặc cập nhật tài liệu trong một chỉ mục
Tìm kiếm
search: Tìm kiếm linh hoạt trên một hoặc nhiều chỉ mục với các tùy chọn lọc và sắp xếp
Quản lý Cài đặt
get-settings: Xem cài đặt hiện tại cho một chỉ mụcupdate-settings: Cập nhật cài đặt chỉ mục (xếp hạng, phân nhóm, v.v.)
Quản lý Khóa API
get-keys: Liệt kê tất cả khóa APIcreate-key: Tạo khóa API mới với các quyền cụ thểdelete-key: Xóa khóa API hiện có
Quản lý Tác vụ
get-task: Lấy thông tin về một tác vụ cụ thểget-tasks: Liệt kê các tác vụ với bộ lọc tùy chọncancel-tasks: Hủy các tác vụ đang chờ hoặc đã xếp hàngdelete-tasks: Xóa các tác vụ đã hoàn thành
Giám sát Hệ thống
health-check: Kiểm tra tình trạng cơ bảnget-health-status: Trạng thái tình trạng toàn diệnget-version: Lấy thông tin phiên bản Meilisearchget-stats: Lấy thống kê cơ sở dữ liệuget-system-info: Lấy thông tin cấp hệ thống
Thiết lập Phát triển
Điều kiện tiên quyết
-
Khởi động máy chủ 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 -
Cài đặt công cụ phát triển:
# 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
Chạy Kiểm thử
Dự án này bao gồm các kiểm thử tích hợp toàn diện để xác minh chức năng công cụ 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/
Quan trọng: Các kiểm thử yêu cầu một phiên bản Meilisearch đang chạy trên http://localhost:7700.
Chất lượng Mã
# 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/
Hướng dẫn Đóng góp
- Fork và clone kho lưu trữ
- Thiết lập môi trường phát triển theo phần Thiết lập Phát triển ở trên
- Tạo nhánh tính năng từ
main - Viết kiểm thử trước nếu thêm chức năng mới (Phát triển hướng kiểm thử)
- Chạy kiểm thử cục bộ để đảm bảo tất cả kiểm thử đều vượt qua trước khi commit
- Định dạng mã bằng Black và đảm bảo chất lượng mã
- Commit thay đổi với thông điệp commit mô tả
- Đẩy lên fork của bạn và tạo pull request
Quy trình Phát triển
# 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
Hướng dẫn Kiểm thử
- Tất cả các tính năng mới nên bao gồm kiểm thử
- Kiểm thử phải vượt qua trước khi gửi PR
- Sử dụng tên kiểm thử mô tả và xác nhận rõ ràng
- Kiểm thử cả trường hợp thành công và lỗi
- Đảm bảo Meilisearch đang chạy trước khi chạy kiểm thử
Quy trình Phát hành
Dự án này sử dụng quản lý phiên bản và xuất bản tự động lên PyPI. Quy trình phát hành được thiết kế đơn giản và tự động.
Cách thức Phát hành Hoạt động
-
Xuất bản Tự động: Khi số phiên bản trong
pyproject.tomlthay đổi trên nhánhmain, GitHub Action sẽ tự động:- Xây dựng gói Python
- Xuất bản lên PyPI bằng cách sử dụng xuất bản tin cậy
- Tạo bản phát hành mới trên GitHub
-
Phát hiện Phiên bản: Quy trình làm việc so sánh phiên bản hiện tại trong
pyproject.tomlvới commit trước đó để phát hiện thay đổi -
Xuất bản PyPI: Sử dụng hành động xuất bản chính thức của PyPA với xuất bản tin cậy (không cần khóa API thủ công)
Tạo Bản phát hành Mới
Để tạo bản phát hành mới, hãy làm theo các bước sau:
1. Xác định Số Phiên bản
Tuân theo Phiên bản Ngữ nghĩa (MAJOR.MINOR.PATCH):
- PATCH (ví dụ: 0.4.0 → 0.4.1): Sửa lỗi, cập nhật tài liệu, cải tiến nhỏ
- MINOR (ví dụ: 0.4.0 → 0.5.0): Tính năng mới, công cụ MCP mới, cải tiến đáng kể
- MAJOR (ví dụ: 0.5.0 → 1.0.0): Thay đổi phá vỡ, thay đổi API lớn
2. Cập nhật Phiên bản và Tạo 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. Hợp nhất vào Main
Khi PR được phê duyệt và hợp nhất vào main, GitHub Action sẽ tự động:
- Phát hiện thay đổi phiên bản
- Xây dựng gói
- Xuất bản lên PyPI tại https://pypi.org/p/meilisearch-mcp
- Cung cấp phiên bản mới qua
pip install meilisearch-mcp
4. Xác minh Bản phát hành
Sau khi hợp nhất, hãy xác minh bản phát hành:
# 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
Tệp Quy trình Phát hành
Bản phát hành tự động được xử lý bởi .github/workflows/publish.yml, nó:
- Kích hoạt khi đẩy lên nhánh
main - Kiểm tra xem phiên bản
pyproject.tomlcó thay đổi không - Sử dụng Python 3.10 và các công cụ xây dựng chính thức
- Xuất bản bằng cách sử dụng xuất bản tin cậy (không yêu cầu khóa API)
- Cung cấp đầu ra chi tiết để gỡ lỗi
Khắc phục sự cố Phát hành
Bản phát hành không kích hoạt: Kiểm tra xem phiên bản trong pyproject.toml có thực sự thay đổi giữa các commit không
Xây dựng thất bại: Kiểm tra nhật ký GitHub Actions để tìm lỗi xây dựng gói Python
Xuất bản PyPI thất bại: Xác minh tên gói và rằng xuất bản tin cậy được cấu hình đúng cách Xung đột phiên bản: Đảm bảo số phiên bản mới chưa từng được sử dụng trước đây trên PyPI
Phiên bản Phát triển và Phiên bản Sản xuất
- Phát triển: Cài đặt từ mã nguồn bằng
pip install -e . - Sản xuất: Cài đặt từ PyPI bằng
pip install meilisearch-mcp - Phiên bản cụ thể: Cài đặt bằng
pip install meilisearch-mcp==0.5.0