Meilisearch MCP Server
officielInteragir et interroger avec Meilisearch (API de recherche plein texte et sémantique)
Documentation
Serveur MCP Meilisearch
Meilisearch | Meilisearch Cloud | Documentation | Discord
⚡ Connectez n'importe quel LLM à Meilisearch et boostez votre IA avec des capacités de recherche ultra-rapides ! 🔍
🤔 Qu'est-ce que c'est ?
Le serveur MCP Meilisearch est un serveur Model Context Protocol qui permet à tout client compatible MCP (y compris Claude, les agents OpenAI et autres LLM) d'interagir avec Meilisearch. Ce serveur basé sur stdio permet aux assistants IA de gérer les index de recherche, d'effectuer des recherches et de manipuler vos données par le biais 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 la 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 entre les instances Meilisearch à la volée
- 📡 Transport stdio - Utilise actuellement stdio ; le support natif MCP de Meilisearch arrive bientôt !
✨ Fonctionnalités clés
- 📊 Gestion des index et des documents - Créez, mettez à jour et gérez les index de recherche
- 🔍 Recherche intelligente - Recherchez dans un ou plusieurs index avec un filtrage avancé
- ⚙️ Configuration des paramètres - Ajustez la pertinence et les performances de la recherche
- 📈 Suivi des tâches - Suivez la progression de l'indexation et les opérations système
- 🔐 Gestion des clés API - Contrôle d'accès sécurisé
- 🏥 Surveillance de l'état - Gardez un œil sur votre instance Meilisearch
- 🐍 Implémentation Python - Version TypeScript également disponible
🚀 Démarrage rapide
Soyez opérationnel en seulement 3 étapes !
1️⃣ Installez le paquet
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Configurez Claude Desktop
Ajoutez ceci à votre claude_desktop_config.json :
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Démarrez Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
C'est tout ! Vous pouvez maintenant demander à votre assistant IA de rechercher et de gérer vos données Meilisearch ! 🎉
📚 Exemples
💬 Parlez naturellement à 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.9
- Instance Meilisearch en cours d'exécution
- Client compatible 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 .
Utiliser Docker
Parfait 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
Construire 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 l'image Docker directement 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 de la connexion
- Voir les paramètres de connexion actuels
- Basculer dynamiquement entre les 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, du tri et des facettes
- Recherche multi-index
- Recherche sémantique avec des vecteurs
- Recherche hybride (mots-clés + sémantique)
⚙️ Paramètres et configuration
- Configurer les règles de classement
- Mettre en place la facettisation et le filtrage
- Gérer les attributs interrogeables
- Personnaliser la tolérance aux fautes de frappe
🔐 Sécurité
- Créer et gérer des clés API
- Définir des permissions granulaires
- Surveiller l'utilisation des clés
⚠️ Remarque : Bien que vous puissiez ajouter et mettre à jour des hôtes et des clés API directement dans le chat pour plus de commodité, cette approche est principalement conçue pour des cas d'utilisation de développement (comme la connexion à plusieurs instances à la volée). Elle ne suit pas les meilleures pratiques de sécurité MCP et ne doit pas être utilisée dans des environnements de production sans mesures de protection appropriées.
📊 Surveillance et santé
- 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
Mise en place de l'environnement de développement
-
Démarrez Meilisearch :
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
Installez les dépendances de développement :
uv pip install -r requirements-dev.txt -
Exécutez les tests :
python -m pytest tests/ -v -
Formatez le code :
black src/ tests/
Tester avec MCP Inspector
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 Communauté et support
Nous aimerions avoir de vos nouvelles ! Voici comment obtenir de l'aide et vous connecter :
- 💬 Rejoignez notre Discord - Discutez avec la communauté
- 🐛 Signaler des problèmes - Vous avez trouvé un bug ? Faites-le nous savoir !
- 💡 Demandes de fonctionnalités - Vous avez une idée ? Nous sommes à l'écoute !
- 📖 Documentation Meilisearch - En savoir plus sur Meilisearch
🤗 Contribuer
Nous accueillons les contributions ! 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
- Apportez vos modifications et exécutez les tests
- Formatez votre code avec
black - Commitez vos modifications (
git commit -m 'Add amazing feature') - Poussez vers votre branche (
git push origin feature/amazing-feature) - Ouvrez une Pull Request
Consultez notre Guide de contribution pour plus de détails.
📦 Processus de publication
Ce projet utilise le versionnage et la publication automatisés. Lorsque la version dans pyproject.toml change sur la branche main, le paquet est automatiquement publié sur PyPI.
Consultez la section Processus de publication pour des instructions détaillées.
📄 Licence
Ce projet est sous licence MIT - voir 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.
En savoir plus sur Meilisearch sur meilisearch.com
📖 Documentation complète
Outils disponibles
Gestion de la connexion
get-connection-settings: Voir l'URL de connexion Meilisearch actuelle et le statut 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 nouvel index avec une clé primaire optionnellelist-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 spécifique
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: Recherche flexible dans un ou plusieurs index avec des options de filtrage et de tri
Gestion des paramètres
get-settings: Voir les paramètres actuels d'un indexupdate-settings: Mettre à jour les paramètres de l'index (classement, facettisation, etc.)
Gestion des clés API
get-keys: Lister toutes les clés APIcreate-key: Créer une nouvelle clé API avec des permissions spécifiquesdelete-key: Supprimer une clé API existante
Gestion des tâches
get-task: Obtenir des informations sur une tâche spécifiqueget-tasks: Lister les tâches avec des filtres optionnelscancel-tasks: Annuler les tâches en attente ou en file d'attentedelete-tasks: Supprimer les tâches terminées
Surveillance du système
health-check: Vérification de l'état de baseget-health-status: État de santé completget-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 des tests d'intégration complets qui vérifient la fonctionnalité 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/
Directives de contribution
- Forkez et clonez le dépôt
- Configurez l'environnement de développement en suivant la section Configuration du développement ci-dessus
- Créez une branche de fonctionnalité à partir de
main - Écrivez d'abord les tests si vous ajoutez de nouvelles fonctionnalités (Développement piloté par les tests)
- Exécutez les tests localement pour vous assurer que tous les tests passent avant de commiter
- Formatez le code avec Black et assurez la qualité du code
- Commitez les modifications avec des messages de commit descriptifs
- Poussez vers votre fork et créez une pull request
Flux de travail 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
Directives de test
- Toutes les nouvelles fonctionnalités doivent inclure des tests
- Les tests doivent passer avant de soumettre des PR
- Utilisez des noms de test descriptifs et des assertions claires
- Testez à la fois les cas de succès et d'erreur
- Assurez-vous que Meilisearch est en cours d'exécution avant d'exécuter les tests
Processus de publication
Ce projet utilise le versionnage et la publication automatisés sur PyPI. Le processus de publication est conçu pour être simple et automatisé.
Comment fonctionnent les publications
-
Publication automatisée : Lorsque le numéro de version dans
pyproject.tomlchange sur la branchemain, une GitHub Action automatiquement :- Construit le paquet Python
- Le publie sur PyPI en utilisant la publication de confiance
- Crée une nouvelle release sur GitHub
-
Détection de version : Le workflow compare la version actuelle dans
pyproject.tomlavec le commit précédent pour détecter les changements -
Publication PyPI : Utilise l'action de publication officielle de PyPA avec la publication de confiance (aucune clé API manuelle nécessaire)
Créer une nouvelle release
Pour créer une nouvelle release, suivez ces étapes :
1. Déterminer le numéro de version
Suivez la Version sémantique (MAJEURE.MINEURE.CORRECTIF) :
- CORRECTIF (ex : 0.4.0 → 0.4.1) : Corrections de bugs, mises à jour de la documentation, améliorations mineures
- MINEURE (ex : 0.4.0 → 0.5.0) : Nouvelles fonctionnalités, nouveaux outils MCP, améliorations significatives
- MAJEURE (ex : 0.5.0 → 1.0.0) : Changements cassants, changements majeurs d'API
2. Mettre à jour la version et créer une 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. Fusionner dans Main
Une fois la PR approuvée et fusionnée dans main, la GitHub Action va automatiquement :
- Détecter le changement de version
- Construire le paquet
- Publier sur PyPI à https://pypi.org/p/meilisearch-mcp
- Rendre la nouvelle version disponible via
pip install meilisearch-mcp
4. Vérifier la release
Après la fusion, vérifiez la release :
# 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 de workflow de release
La release automatisée est gérée par .github/workflows/publish.yml, qui :
- Se déclenche lors des poussées vers la branche
main - Vérifie si la version de
pyproject.tomla changé - Utilise Python 3.10 et les outils de construction officiels
- Publie en utilisant la publication de confiance (aucune clé API requise)
- Fournit une sortie verbeuse pour le débogage
Dépannage des releases
La release ne s'est pas déclenchée : Vérifiez que la version dans pyproject.toml a effectivement changé entre les commits
La construction a échoué : Vérifiez les journaux GitHub Actions pour les erreurs de construction du paquet Python
La publication PyPI a échoué : Vérifiez le nom du paquet et que la publication de confiance est correctement configurée Conflits de version : Assurez-vous que le nouveau numéro de version n'a pas déjà été utilisé sur PyPI
Versions de développement vs Production
- Développement : Installez depuis la source en utilisant
pip install -e . - Production : Installez depuis PyPI en utilisant
pip install meilisearch-mcp - Version spécifique : Installez en utilisant
pip install meilisearch-mcp==0.5.0