Meilisearch MCP Server

chính thức

Tươ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

Meilisearch

Máy chủ Meilisearch MCP

Meilisearch | Meilisearch Cloud | Tài liệu | Discord

PyPI version Python Versions Tests License Downloads

⚡ 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

  1. Khởi động Meilisearch:

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. Cài đặt Phụ thuộc Phát triển:

    uv pip install -r requirements-dev.txt
    
  3. Chạy Kiểm thử:

    python -m pytest tests/ -v
    
  4. Đị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:

🤗 Đóng góp

Chúng tôi hoan nghênh các đóng góp! Đây là cách để bắt đầu:

  1. Fork kho lưu trữ
  2. Tạo nhánh tính năng của bạn (git checkout -b feature/amazing-feature)
  3. Viết kiểm thử cho các thay đổi của bạn
  4. Thực hiện thay đổi và chạy kiểm thử
  5. Định dạng mã của bạn với black
  6. Commit các thay đổi của bạn (git commit -m 'Add amazing feature')
  7. Đẩy lên nhánh của bạn (git push origin feature/amazing-feature)
  8. 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 API
  • update-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ọn
  • list-indexes: Liệt kê tất cả các chỉ mục có sẵn
  • delete-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 trang
  • add-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ục
  • update-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 API
  • create-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ọn
  • cancel-tasks: Hủy các tác vụ đang chờ hoặc đã xếp hàng
  • delete-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ản
  • get-health-status: Trạng thái tình trạng toàn diện
  • get-version: Lấy thông tin phiên bản Meilisearch
  • get-stats: Lấy thống kê cơ sở dữ liệu
  • get-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

  1. 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
    
  2. 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

  1. Fork và clone kho lưu trữ
  2. 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
  3. Tạo nhánh tính năng từ main
  4. 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ử)
  5. 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
  6. Định dạng mã bằng Black và đảm bảo chất lượng mã
  7. Commit thay đổi với thông điệp commit mô tả
  8. Đẩ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

  1. Xuất bản Tự động: Khi số phiên bản trong pyproject.toml thay đổi trên nhánh main, 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
  2. 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.toml với commit trước đó để phát hiện thay đổi

  3. 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:

  1. Phát hiện thay đổi phiên bản
  2. Xây dựng gói
  3. Xuất bản lên PyPI tại https://pypi.org/p/meilisearch-mcp
  4. 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.toml có 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