Meilisearch
официальныйВзаимодействие и запросы к Meilisearch (API полнотекстового и семантического поиска)
Что можно делать с Meilisearch MCP?
- Создание и управление индексами — Запросите создание индекса с пользовательским первичным ключом через
create-index, просмотрите существующие или удалите индекс и его документы. - Добавление и получение документов — Используйте
add-documentsдля массового импорта или обновления записей, аget-documents— для их получения с пагинацией из любого индекса. - Выполнение гибких поисков — Ищите по одному или нескольким индексам с фильтрами, сортировкой и фасетами с помощью инструмента
search, включая семантические и гибридные варианты. - Настройка параметров поиска — Просматривайте или обновляйте правила ранжирования, фасетирование и атрибуты поиска индекса через
get-settingsиupdate-settings. - Мониторинг задач и состояния — Проверяйте прогресс индексации с помощью
get-tasks, отменяйте поставленные в очередь операции или проверяйте статус экземпляра черезhealth-checkиget-stats.
Документация
Meilisearch MCP Server
Meilisearch | Meilisearch Cloud | Документация | Discord
⚡ Подключите любую LLM к Meilisearch и ускорьте свой ИИ с помощью молниеносного поиска! 🔍
🤔 Что это такое?
Meilisearch MCP Server — это сервер протокола Model Context Protocol, который позволяет любому MCP-совместимому клиенту (включая Claude, агентов OpenAI и другие LLM) взаимодействовать с Meilisearch. Этот сервер на основе stdio позволяет ИИ-ассистентам управлять поисковыми индексами, выполнять поиск и обрабатывать ваши данные через естественный диалог.
Зачем это использовать?
- 🤖 Универсальная совместимость — работает с любым MCP-клиентом, не только с Claude
- 🗣️ Управление на естественном языке — управляйте Meilisearch через диалог с любой LLM
- 🚀 Нулевой порог входа — не нужно изучать API Meilisearch
- 🔧 Полный доступ к функциям — все возможности Meilisearch под рукой
- 🔄 Динамические подключения — переключайтесь между экземплярами Meilisearch на лету
- 📡 Транспорт stdio — в настоящее время используется stdio; нативная поддержка MCP для Meilisearch скоро появится!
✨ Ключевые возможности
- 📊 Управление индексами и документами — создавайте, обновляйте и управляйте поисковыми индексами
- 🔍 Умный поиск — поиск по одному или нескольким индексам с расширенной фильтрацией
- ⚙️ Настройка параметров — точная настройка релевантности и производительности поиска
- 📈 Мониторинг задач — отслеживание прогресса индексации и системных операций
- 🔐 Управление API-ключами — безопасный контроль доступа
- 🏥 Мониторинг состояния — следите за своим экземпляром Meilisearch
- 🧱 Структурированный вывод инструментов — каждый инструмент, возвращающий данные, предоставляет
structuredContentвместе с текстом в соответствии с последней спецификацией MCP - 🔀 Современный стек MCP — построен на официальном Python SDK MCP 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
Вот и всё! Теперь вы можете попросить своего ИИ-ассистента искать и управлять вашими данными в Meilisearch! 🎉
📚 Примеры
💬 Общайтесь со своим ИИ-ассистентом естественно:
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
См. наши Рекомендации по вкладу для получения дополнительной информации.
📦 Процесс выпуска
В этом проекте используется автоматическое управление версиями и публикация. Когда версия в pyproject.toml изменяется в ветке main, пакет автоматически публикуется в PyPI.
См. раздел Процесс выпуска для получения подробных инструкций.
📄 Лицензия
Этот проект лицензирован под лицензией MIT — см. файл LICENSE.
Meilisearch — это поисковый движок с открытым исходным кодом, который обеспечивает восхитительный поисковый опыт.
Узнайте больше о Meilisearch на meilisearch.com
📖 Полная документация
Доступные инструменты
Управление подключениями
get-connection-settings: просмотр текущего URL подключения к Meilisearch и статуса 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: получение информации о версии Meilisearchget-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/
Важно: Для тестов требуется запущенный экземпляр Meilisearch на http://localhost:7700.
Качество кода
# 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 и обеспечьте качество кода
- Зафиксируйте изменения с описательными сообщениями коммитов
- Отправьте изменения в свой форк и создайте 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
-
Определение версии: Рабочий процесс сравнивает текущую версию в
pyproject.tomlс предыдущим коммитом для обнаружения изменений -
Публикация в PyPI: Использует официальное действие публикации PyPA с доверенной публикацией (без ручных 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 автоматически:
- Определит изменение версии
- Соберет пакет
- Опубликует в 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 . - Продакшен: Установка из PyPI с помощью
pip install meilisearch-mcp - Конкретная версия: Установка с помощью
pip install meilisearch-mcp==0.5.0