Meilisearch

officiel

Interagir 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

Meilisearch

Serveur MCP Meilisearch

Meilisearch | Meilisearch Cloud | Documentation | Discord

PyPI version Python Versions Tests License Downloads

[!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 /mcp de 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 structuredContent en 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

  1. Démarrer Meilisearch :

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. Installer les dépendances de développement :

    uv pip install -r requirements-dev.txt
    
  3. Exécuter les tests :

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

🤗 Contribuer

Les contributions sont les bienvenues ! Voici comment commencer :

  1. Forkez le dépôt
  2. Créez votre branche de fonctionnalité (git checkout -b feature/amazing-feature)
  3. Écrivez des tests pour vos modifications
  4. Effectuez vos modifications et exécutez les tests
  5. Formatez votre code avec black
  6. Validez vos modifications (git commit -m 'Add amazing feature')
  7. Poussez votre branche (git push origin feature/amazing-feature)
  8. 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é API
  • update-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 facultative
  • list-indexes : Lister tous les index disponibles
  • delete-index : Supprimer un index existant et tous ses documents
  • get-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 pagination
  • add-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 index
  • update-settings : Mettre à jour les paramètres d’un index (classement, facettage, etc.)

Gestion des clés API

  • get-keys : Lister toutes les clés API
  • create-key : Créer une clé API avec des autorisations spécifiques
  • delete-key : Supprimer une clé API existante

Gestion des tâches

  • get-task : Obtenir des informations sur une tâche donnée
  • get-tasks : Lister les tâches avec des filtres facultatifs
  • cancel-tasks : Annuler les tâches en attente ou en file d’attente

Surveillance du système

  • health-check : Vérification de base de l’état
  • get-health-status : État détaillé du système
  • get-version : Obtenir les informations de version de Meilisearch
  • get-stats : Obtenir les statistiques de la base de données
  • get-system-info : Obtenir des informations au niveau du système

Configuration du développement

Prérequis

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

  1. Forker et cloner le dépôt
  2. Configurer l’environnement de développement en suivant la section Configuration du développement ci-dessus
  3. Créer une branche de fonctionnalité à partir de main
  4. Écrire les tests en premier si vous ajoutez une fonctionnalité (développement piloté par les tests)
  5. Exécuter les tests localement pour vérifier qu’ils réussissent tous avant de valider vos modifications
  6. Formater le code avec Black et veiller à sa qualité
  7. Valider les modifications avec des messages de commit descriptifs
  8. 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

  1. Publication automatisée : lorsque le numéro de version dans pyproject.toml change sur la branche main, 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
  2. Détection de version : le workflow compare la version actuelle dans pyproject.toml à celle du commit précédent pour détecter les changements

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

  1. Détecter le changement de version
  2. Construire le package
  3. Publier sur PyPI à l’adresse https://pypi.org/p/meilisearch-mcp
  4. 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.toml a 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