Meilisearch
officielInteragir et interroger avec Meilisearch (API de recherche plein texte et sémantique)
Que pouvez-vous faire avec Meilisearch MCP ?
- Gestion des index — Créer, lister et supprimer des index de recherche, notamment en définissant une clé primaire personnalisée lors de la création.
- Gestion des documents — Ajouter ou mettre à jour des documents dans un index et les récupérer avec une pagination.
- Recherche — Effectuer des recherches dans un ou plusieurs index avec des filtres, un tri et des facettes.
- Contrôle des paramètres — Consulter et mettre à jour les paramètres d’un index, tels que les règles de classement, la facettisation et les attributs recherchables.
- Surveillance des tâches et de l’état de santé — Vérifier l’état de santé, la version et les statistiques de l’instance, et suivre ou annuler les tâches d’indexation.
- Gestion des clés API — Lister, créer et supprimer des clés API avec des autorisations spécifiques.
Documentation
Serveur MCP Meilisearch
Meilisearch | Meilisearch Cloud | Documentation | Discord
[!WARNING] Ce package est obsolète. Utilisez plutôt le serveur MCP natif de Meilisearch.
Meilisearch intègre désormais un serveur MCP (Meilisearch v1.54 et versions ultérieures). Il est accessible via la route
/mcpde votre instance en HTTP ; vous n’avez donc plus besoin d’installer ni d’exécuter ce package Python.👉 Suivez le guide MCP de Meilisearch pour le configurer.
Ce dépôt est un wrapper local utilisant stdio, créé avant l’existence de la prise en charge native. Il n’est plus activement maintenu et est conservé uniquement pour les utilisateurs existants.
⚡ Connectez n’importe quel LLM à Meilisearch et décuplez les capacités de votre IA grâce à une recherche ultra-rapide ! 🔍
🤔 De quoi s’agit-il ?
Le serveur MCP Meilisearch est un serveur Model Context Protocol qui permet à tout client compatible avec MCP (notamment Claude, les agents OpenAI et d’autres LLM) d’interagir avec Meilisearch. Ce serveur basé sur stdio permet aux assistants IA de gérer des index de recherche, d’effectuer des recherches et de traiter vos données au moyen d’une conversation naturelle.
Pourquoi l’utiliser ?
- 🤖 Compatibilité universelle - Fonctionne avec n’importe quel client MCP, pas seulement Claude
- 🗣️ Contrôle en langage naturel - Gérez Meilisearch par conversation avec n’importe quel LLM
- 🚀 Aucune courbe d’apprentissage - Pas besoin d’apprendre l’API de Meilisearch
- 🔧 Accès complet aux fonctionnalités - Toutes les capacités de Meilisearch à portée de main
- 🔄 Connexions dynamiques - Basculez à la volée entre différentes instances Meilisearch
- 📡 Transport stdio - Utilise uniquement stdio ; pour HTTP, utilisez le serveur MCP natif de Meilisearch
✨ Fonctionnalités clés
- 📊 Gestion des index et des documents - Créez, mettez à jour et gérez des index de recherche
- 🔍 Recherche intelligente - Recherchez dans un ou plusieurs index avec des filtres avancés
- ⚙️ Configuration des paramètres - Ajustez la pertinence et les performances de recherche
- 📈 Suivi des tâches - Suivez la progression de l’indexation et les opérations système
- 🔐 Gestion des clés API - Contrôlez les accès de manière sécurisée
- 🏥 Surveillance de l’état - Gardez un œil sur votre instance Meilisearch
- 🧱 Sortie structurée des outils - Chaque outil renvoyant des données fournit
structuredContenten plus du texte, conformément à la dernière spécification MCP - 🔀 Pile MCP moderne - Basée sur le SDK Python MCP officiel v2 (spécification 2026-07-28), compatible avec les anciens clients MCP
- 🐍 Implémentation Python - Une version TypeScript est également disponible
🚀 Démarrage rapide
Lancez-vous en seulement 3 étapes !
1️⃣ Installer le package
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Configurer Claude Desktop
Ajoutez ceci à votre claude_desktop_config.json :
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Démarrer Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
Et voilà ! Vous pouvez maintenant demander à votre assistant IA de rechercher et de gérer vos données Meilisearch ! 🎉
📚 Exemples
💬 Discutez naturellement avec votre assistant IA :
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!
🔍 Exemple de recherche avancée :
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
🔧 Installation
Prérequis
- Python ≥ 3.10
- Instance Meilisearch en cours d’exécution
- Client compatible avec MCP (Claude Desktop, agents OpenAI, etc.)
Depuis PyPI
pip install meilisearch-mcp
Depuis les sources (pour le développement)
# 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 .
Avec Docker
Idéal pour les environnements conteneurisés, comme les workflows n8n !
Depuis 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
Compiler depuis les sources
# 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
Intégration avec n8n
Pour les workflows n8n, vous pouvez utiliser directement l’image Docker dans votre configuration :
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ Que pouvez-vous faire ?
🔗 Gestion des connexions
- Afficher les paramètres de connexion actuels
- Basculer dynamiquement entre différentes instances Meilisearch
- Mettre à jour les clés API à la volée
📁 Opérations sur les index
- Créer de nouveaux index avec des clés primaires personnalisées
- Lister tous les index avec leurs statistiques
- Supprimer des index et leurs données
- Obtenir des métriques détaillées sur les index
📄 Gestion des documents
- Ajouter ou mettre à jour des documents
- Récupérer des documents avec pagination
- Importer des données en masse
🔍 Capacités de recherche
- Rechercher avec des filtres, un tri et des facettes
- Rechercher dans plusieurs index
- Effectuer une recherche sémantique avec des vecteurs
- Effectuer une recherche hybride (par mots-clés + sémantique)
⚙️ Paramètres et configuration
- Configurer les règles de classement
- Configurer le facettage et le filtrage
- Gérer les attributs recherchables
- Personnaliser la tolérance aux fautes de frappe
🔐 Sécurité
- Créer et gérer des clés API
- Définir des autorisations granulaires
- Surveiller l’utilisation des clés
⚠️ Remarque : vous pouvez ajouter et mettre à jour des hôtes et des clés API directement dans le chat pour plus de commodité, mais cette approche est principalement destinée au développement (par exemple, pour se connecter à plusieurs instances à la volée). Elle ne respecte pas les meilleures pratiques de sécurité MCP et ne doit pas être utilisée en production sans mesures de protection appropriées.
📊 Surveillance et état
- Vérifications de l’état
- Statistiques système
- Suivi des tâches
- Informations sur la version
🌍 Variables d’environnement
Configurez les paramètres de connexion par défaut :
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 Développement
Configuration de l’environnement de développement
-
Démarrer Meilisearch :
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
Installer les dépendances de développement :
uv pip install -r requirements-dev.txt -
Exécuter les tests :
python -m pytest tests/ -v -
Formater le code :
black src/ tests/
Tester avec MCP Inspector
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 Communauté et assistance
Nous serions ravis d’avoir de vos nouvelles ! Voici comment obtenir de l’aide et échanger avec la communauté :
- 💬 Rejoindre notre Discord - Discutez avec la communauté
- 🐛 Signaler un problème - Vous avez trouvé un bogue ? Faites-le-nous savoir !
- 💡 Proposer une fonctionnalité - Vous avez une idée ? Nous sommes à l’écoute !
- 📖 Documentation Meilisearch - En savoir plus sur Meilisearch
🤗 Contribuer
Les contributions sont les bienvenues ! Voici comment commencer :
- Forkez le dépôt
- Créez votre branche de fonctionnalité (
git checkout -b feature/amazing-feature) - Écrivez des tests pour vos modifications
- Effectuez vos modifications et exécutez les tests
- Formatez votre code avec
black - Validez vos modifications (
git commit -m 'Add amazing feature') - Poussez votre branche (
git push origin feature/amazing-feature) - Ouvrez une pull request
Consultez nos consignes de contribution pour plus de détails.
📦 Processus de publication
Ce projet utilise un système automatisé de gestion des versions et de publication. Lorsque la version dans pyproject.toml change sur la branche main, le package est automatiquement publié sur PyPI.
Consultez la section Processus de publication pour obtenir des instructions détaillées.
📄 Licence
Ce projet est distribué sous licence MIT. Consultez le fichier LICENSE pour plus de détails.
Meilisearch est un moteur de recherche open source qui offre une expérience de recherche agréable.
Pour en savoir plus sur Meilisearch, rendez-vous sur meilisearch.com
📖 Documentation complète
Outils disponibles
Gestion des connexions
get-connection-settings: Afficher l’URL de connexion Meilisearch actuelle et l’état de la clé APIupdate-connection-settings: Mettre à jour l’URL et/ou la clé API pour se connecter à une autre instance
Gestion des index
create-index: Créer un index avec une clé primaire facultativelist-indexes: Lister tous les index disponiblesdelete-index: Supprimer un index existant et tous ses documentsget-index-metrics: Obtenir des métriques détaillées pour un index donné
Opérations sur les documents
get-documents: Récupérer des documents d’un index avec paginationadd-documents: Ajouter ou mettre à jour des documents dans un index
Recherche
search: Effectuer des recherches flexibles dans un ou plusieurs index, avec des options de filtrage et de tri
Gestion des paramètres
get-settings: Afficher les paramètres actuels d’un indexupdate-settings: Mettre à jour les paramètres d’un index (classement, facettage, etc.)
Gestion des clés API
get-keys: Lister toutes les clés APIcreate-key: Créer une clé API avec des autorisations spécifiquesdelete-key: Supprimer une clé API existante
Gestion des tâches
get-task: Obtenir des informations sur une tâche donnéeget-tasks: Lister les tâches avec des filtres facultatifscancel-tasks: Annuler les tâches en attente ou en file d’attente
Surveillance du système
health-check: Vérification de base de l’étatget-health-status: État détaillé du systèmeget-version: Obtenir les informations de version de Meilisearchget-stats: Obtenir les statistiques de la base de donnéesget-system-info: Obtenir des informations au niveau du système
Configuration du développement
Prérequis
-
Démarrer le serveur 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 -
Installer les outils de développement :
# 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
Exécution des tests
Ce projet comprend une suite complète de tests d’intégration qui vérifient le fonctionnement des outils 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/
Important : les tests nécessitent une instance Meilisearch en cours d’exécution sur http://localhost:7700.
Qualité du code
# 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/
Consignes de contribution
- Forker et cloner le dépôt
- Configurer l’environnement de développement en suivant la section Configuration du développement ci-dessus
- Créer une branche de fonctionnalité à partir de
main - Écrire les tests en premier si vous ajoutez une fonctionnalité (développement piloté par les tests)
- Exécuter les tests localement pour vérifier qu’ils réussissent tous avant de valider vos modifications
- Formater le code avec Black et veiller à sa qualité
- Valider les modifications avec des messages de commit descriptifs
- Pousser vers votre fork et créer une pull request
Workflow de développement
# 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
Consignes de test
- Toute nouvelle fonctionnalité doit être accompagnée de tests
- Les tests doivent réussir avant l’envoi d’une pull request
- Utilisez des noms de test descriptifs et des assertions claires
- Testez les cas de réussite comme les cas d’erreur
- Vérifiez que Meilisearch est en cours d’exécution avant de lancer les tests
Processus de publication
Ce projet utilise un système automatisé de gestion des versions et de publication sur PyPI. Le processus de publication est conçu pour être simple et automatisé.
Fonctionnement des publications
-
Publication automatisée : lorsque le numéro de version dans
pyproject.tomlchange sur la branchemain, une action GitHub :- Compile le package Python
- Le publie sur PyPI à l’aide de la publication de confiance
- Crée une nouvelle version sur GitHub
-
Détection de version : le workflow compare la version actuelle dans
pyproject.tomlà celle du commit précédent pour détecter les changements -
Publication sur PyPI : utilise l’action de publication officielle de PyPA avec la publication de confiance (aucune clé API manuelle n’est nécessaire)
Créer une nouvelle version
Pour créer une nouvelle version, suivez ces étapes :
1. Déterminer le numéro de version
Suivez le versionnage sémantique (MAJOR.MINOR.PATCH) :
- PATCH (par ex. 0.4.0 → 0.4.1) : corrections de bogues, mises à jour de la documentation, améliorations mineures
- MINOR (par ex. 0.4.0 → 0.5.0) : nouvelles fonctionnalités, nouveaux outils MCP, améliorations importantes
- MAJOR (par ex. 0.5.0 → 1.0.0) : changements incompatibles, changements majeurs de l’API
2. Mettre à jour la version et créer une pull request
# 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. Fusionner dans Main
Une fois la pull request approuvée et fusionnée dans main, l’action GitHub s’exécutera automatiquement :
- Détecter le changement de version
- Construire le package
- Publier sur PyPI à l’adresse https://pypi.org/p/meilisearch-mcp
- Rendre la nouvelle version disponible via
pip install meilisearch-mcp
4. Vérifier la publication
Après la fusion, vérifiez la publication :
# 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
Fichier du workflow de publication
La publication automatisée est gérée par .github/workflows/publish.yml, qui :
- Se déclenche lors des pushs vers la branche
main - Vérifie si la version
pyproject.tomla changé - Utilise Python 3.10 et les outils de compilation officiels
- Publie à l’aide de la publication de confiance (aucune clé API requise)
- Fournit une sortie détaillée pour faciliter le débogage
Dépannage des publications
La publication ne s’est pas déclenchée : vérifiez que la version dans pyproject.toml a bien changé entre les commits
Échec de la compilation : consultez les journaux GitHub Actions pour repérer les erreurs de compilation du package Python
Échec de la publication sur PyPI : vérifiez le nom du package et la configuration de la publication de confiance
Conflits de versions : assurez-vous que le nouveau numéro de version n’a pas déjà été utilisé sur PyPI
Versions de développement et de production
- Développement : installez depuis les sources à l’aide de
pip install -e . - Production : installez depuis PyPI à l’aide de
pip install meilisearch-mcp - Version spécifique : installez à l’aide de
pip install meilisearch-mcp==0.5.0