Meilisearch
oficialInteractúa y consulta con Meilisearch (API de búsqueda de texto completo y semántica)
¿Qué puedes hacer con Meilisearch MCP?
- Gestión de índices — Crea, enumera y elimina índices de búsqueda, incluida la configuración de una clave primaria personalizada al crear uno.
- Gestión de documentos — Añade o actualiza documentos en un índice y recupéralos con paginación.
- Búsqueda — Realiza búsquedas en uno o varios índices con filtros, ordenación y facetas.
- Control de la configuración — Consulta y actualiza la configuración de los índices, como las reglas de clasificación, las facetas y los atributos de búsqueda.
- Supervisión de tareas y estado — Comprueba el estado, la versión y las estadísticas de la instancia, y realiza un seguimiento de las tareas de indexación o cancélalas.
- Gestión de claves de API — Enumera, crea y elimina claves de API con permisos específicos.
Documentación
Servidor MCP de Meilisearch
Meilisearch | Meilisearch Cloud | Documentación | Discord
[!WARNING] Este paquete está obsoleto. Usa el servidor MCP nativo de Meilisearch.
Meilisearch ahora incluye un servidor MCP integrado (Meilisearch v1.54 y posteriores). Está disponible en la ruta
/mcpde tu instancia a través de HTTP, por lo que ya no necesitas instalar ni ejecutar este paquete de Python.👉 Sigue la guía de MCP de Meilisearch para configurarlo.
Este repositorio es un contenedor local de stdio creado antes de que existiera la compatibilidad nativa. Ya no se mantiene activamente y se conserva únicamente para los usuarios actuales.
⚡ ¡Conecta cualquier LLM a Meilisearch y potencia tu IA con capacidades de búsqueda ultrarrápidas! 🔍
🤔 ¿Qué es esto?
El servidor MCP de Meilisearch es un servidor del Model Context Protocol que permite a cualquier cliente compatible con MCP (incluidos Claude, los agentes de OpenAI y otros LLM) interactuar con Meilisearch. Este servidor basado en stdio permite a los asistentes de IA administrar índices de búsqueda, realizar búsquedas y gestionar tus datos mediante conversaciones naturales.
¿Por qué usarlo?
- 🤖 Compatibilidad universal - Funciona con cualquier cliente MCP, no solo con Claude
- 🗣️ Control en lenguaje natural - Administra Meilisearch conversando con cualquier LLM
- 🚀 Sin curva de aprendizaje - No necesitas aprender la API de Meilisearch
- 🔧 Acceso completo a las funciones - Todas las capacidades de Meilisearch al alcance de tu mano
- 🔄 Conexiones dinámicas - Cambia de instancia de Meilisearch sobre la marcha
- 📡 Transporte stdio - Usa únicamente stdio; para HTTP, usa el servidor MCP nativo de Meilisearch
✨ Funciones principales
- 📊 Administración de índices y documentos - Crea, actualiza y administra índices de búsqueda
- 🔍 Búsqueda inteligente - Busca en uno o varios índices con filtros avanzados
- ⚙️ Configuración de ajustes - Ajusta la relevancia y el rendimiento de las búsquedas
- 📈 Supervisión de tareas - Sigue el progreso de la indexación y las operaciones del sistema
- 🔐 Administración de claves API - Control de acceso seguro
- 🏥 Supervisión del estado - Mantén vigilada tu instancia de Meilisearch
- 🧱 Salida estructurada de herramientas - Cada herramienta que devuelve datos proporciona
structuredContentjunto con texto, según la especificación MCP más reciente - 🔀 Pila MCP moderna - Basada en el SDK oficial de MCP para Python v2 (especificación 2026-07-28), compatible con versiones anteriores de clientes MCP
- 🐍 Implementación en Python - También hay una versión en TypeScript
🚀 Inicio rápido
¡Empieza a usarlo en solo 3 pasos!
1️⃣ Instala el paquete
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ Configura Claude Desktop
Añade esto a tu claude_desktop_config.json:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ Inicia Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
¡Eso es todo! Ahora puedes pedirle a tu asistente de IA que busque y administre tus datos de Meilisearch. 🎉
📚 Ejemplos
💬 Habla con tu asistente de IA de forma natural:
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!
🔍 Ejemplo de búsqueda avanzada:
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
🔧 Instalación
Requisitos previos
- Python ≥ 3.10
- Una instancia de Meilisearch en ejecución
- Un cliente compatible con MCP (Claude Desktop, agentes de OpenAI, etc.)
Desde PyPI
pip install meilisearch-mcp
Desde el código fuente (para desarrollo)
# 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 .
Con Docker
Ideal para entornos en contenedores, como los flujos de trabajo de n8n.
Desde 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
Compilar desde el código fuente
# 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
Integración con n8n
Para los flujos de trabajo de n8n, puedes usar directamente la imagen de Docker en tu configuración:
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ ¿Qué puedes hacer?
🔗 Administración de conexiones
- Consultar la configuración de conexión actual
- Cambiar dinámicamente entre instancias de Meilisearch
- Actualizar las claves API sobre la marcha
📁 Operaciones con índices
- Crear índices con claves primarias personalizadas
- Enumerar todos los índices con sus estadísticas
- Eliminar índices y sus datos
- Consultar métricas detalladas de los índices
📄 Administración de documentos
- Añadir o actualizar documentos
- Recuperar documentos con paginación
- Importar datos en bloque
🔍 Capacidades de búsqueda
- Buscar con filtros, ordenación y facetas
- Buscar en varios índices
- Búsqueda semántica con vectores
- Búsqueda híbrida (por palabras clave + semántica)
⚙️ Ajustes y configuración
- Configurar reglas de clasificación
- Configurar facetas y filtros
- Administrar atributos de búsqueda
- Personalizar la tolerancia a errores tipográficos
🔐 Seguridad
- Crear y administrar claves API
- Establecer permisos detallados
- Supervisar el uso de las claves
⚠️ Nota: Aunque puedes añadir y actualizar hosts y claves API directamente en el chat por comodidad, este enfoque está pensado principalmente para casos de uso de desarrollo (como conectarse sobre la marcha a varias instancias). No sigue las mejores prácticas de seguridad de MCP y no debe usarse en entornos de producción sin las protecciones adecuadas.
📊 Supervisión y estado
- Comprobaciones de estado
- Estadísticas del sistema
- Supervisión de tareas
- Información de la versión
🌍 Variables de entorno
Configura los ajustes de conexión predeterminados:
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 Desarrollo
Configuración del entorno de desarrollo
-
Inicia Meilisearch:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
Instala las dependencias de desarrollo:
uv pip install -r requirements-dev.txt -
Ejecuta las pruebas:
python -m pytest tests/ -v -
Da formato al código:
black src/ tests/
Pruebas con MCP Inspector
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 Comunidad y asistencia
¡Nos encantaría saber de ti! Estas son algunas formas de obtener ayuda y conectar con la comunidad:
- 💬 Únete a nuestro Discord - Conversa con la comunidad
- 🐛 Informa de problemas - ¿Encontraste un error? ¡Cuéntanoslo!
- 💡 Solicita funciones - ¿Tienes una idea? ¡Te escuchamos!
- 📖 Documentación de Meilisearch - Obtén más información sobre Meilisearch
🤗 Contribuciones
¡Agradecemos las contribuciones! Así puedes empezar:
- Haz un fork del repositorio
- Crea tu rama de función (
git checkout -b feature/amazing-feature) - Escribe pruebas para tus cambios
- Realiza los cambios y ejecuta las pruebas
- Da formato al código con
black - Confirma los cambios (
git commit -m 'Add amazing feature') - Sube los cambios a tu rama (
git push origin feature/amazing-feature) - Abre una solicitud de incorporación de cambios
Consulta nuestras directrices para contribuir para obtener más información.
📦 Proceso de publicación
Este proyecto usa el control de versiones y la publicación automatizados. Cuando cambia la versión en pyproject.toml en la rama main, el paquete se publica automáticamente en PyPI.
Consulta la sección Proceso de publicación para ver instrucciones detalladas.
📄 Licencia
Este proyecto está sujeto a la licencia MIT. Consulta el archivo LICENSE para obtener más información.
Meilisearch es un motor de búsqueda de código abierto que ofrece una experiencia de búsqueda excepcional.
Obtén más información sobre Meilisearch en meilisearch.com
📖 Documentación completa
Herramientas disponibles
Administración de conexiones
get-connection-settings: Consultar la URL de conexión actual de Meilisearch y el estado de la clave APIupdate-connection-settings: Actualizar la URL o la clave API, o ambas, para conectarse a otra instancia
Administración de índices
create-index: Crear un índice con una clave primaria opcionallist-indexes: Enumerar todos los índices disponiblesdelete-index: Eliminar un índice existente y todos sus documentosget-index-metrics: Consultar métricas detalladas de un índice específico
Operaciones con documentos
get-documents: Recuperar documentos de un índice con paginaciónadd-documents: Añadir o actualizar documentos en un índice
Búsqueda
search: Búsqueda flexible en uno o varios índices con opciones de filtrado y ordenación
Administración de ajustes
get-settings: Consultar los ajustes actuales de un índiceupdate-settings: Actualizar los ajustes del índice (clasificación, facetas, etc.)
Administración de claves API
get-keys: Enumerar todas las claves APIcreate-key: Crear una clave API con permisos específicosdelete-key: Eliminar una clave API existente
Administración de tareas
get-task: Consultar información sobre una tarea específicaget-tasks: Enumerar tareas con filtros opcionalescancel-tasks: Cancelar tareas pendientes o en cola
Supervisión del sistema
health-check: Comprobación básica del estadoget-health-status: Estado general del sistemaget-version: Consultar información de la versión de Meilisearchget-stats: Consultar estadísticas de la base de datosget-system-info: Consultar información del sistema
Configuración del entorno de desarrollo
Requisitos previos
-
Inicia el servidor de 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 -
Instala las herramientas de desarrollo:
# 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
Ejecución de pruebas
Este proyecto incluye pruebas de integración exhaustivas que verifican la funcionalidad de las herramientas 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/
Importante: Las pruebas requieren una instancia de Meilisearch en ejecución en http://localhost:7700.
Calidad del código
# 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/
Directrices para contribuir
- Haz un fork y clona el repositorio
- Configura el entorno de desarrollo siguiendo la sección Configuración del entorno de desarrollo anterior
- Crea una rama de función a partir de
main - Escribe primero las pruebas si añades nuevas funciones (desarrollo guiado por pruebas)
- Ejecuta las pruebas localmente para asegurarte de que todas pasen antes de confirmar los cambios
- Da formato al código con Black y asegúrate de que cumpla los estándares de calidad
- Confirma los cambios con mensajes descriptivos
- Sube los cambios a tu fork y crea una solicitud de incorporación de cambios
Flujo de trabajo de desarrollo
# 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
Directrices para las pruebas
- Todas las funciones nuevas deben incluir pruebas
- Las pruebas deben pasar antes de enviar solicitudes de incorporación de cambios
- Usa nombres de prueba descriptivos y aserciones claras
- Prueba tanto los casos de éxito como los de error
- Asegúrate de que Meilisearch esté en ejecución antes de ejecutar las pruebas
Proceso de publicación
Este proyecto usa el control de versiones y la publicación automatizados en PyPI. El proceso de publicación está diseñado para ser sencillo y automatizado.
Cómo funcionan las publicaciones
-
Publicación automatizada: Cuando cambia el número de versión en
pyproject.tomlen la ramamain, una acción de GitHub automáticamente:- Compila el paquete de Python
- Lo publica en PyPI mediante publicación de confianza
- Crea una nueva versión en GitHub
-
Detección de versiones: El flujo de trabajo compara la versión actual de
pyproject.tomlcon la del commit anterior para detectar cambios -
Publicación en PyPI: Usa la acción oficial de publicación de PyPA con publicación de confianza (no se necesitan claves API manuales)
Crear una nueva publicación
Para crear una nueva publicación, sigue estos pasos:
1. Determina el número de versión
Sigue el versionado semántico (MAJOR.MINOR.PATCH):
- PATCH (p. ej., 0.4.0 → 0.4.1): Correcciones de errores, actualizaciones de documentación y mejoras menores
- MINOR (p. ej., 0.4.0 → 0.5.0): Nuevas funciones, nuevas herramientas MCP y mejoras importantes
- MAJOR (p. ej., 0.5.0 → 1.0.0): Cambios incompatibles y cambios importantes en la API
2. Actualiza la versión y crea una solicitud de incorporación de cambios
# 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. Fusiona con Main
Una vez aprobada y fusionada la solicitud de incorporación de cambios en main, la acción de GitHub automáticamente:
- Detectar el cambio de versión
- Compilar el paquete
- Publicar en PyPI en https://pypi.org/p/meilisearch-mcp
- Poner la nueva versión a disposición mediante
pip install meilisearch-mcp
4. Verificar la publicación
Después de fusionar, verifica la publicación:
# 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
Archivo del flujo de publicación
La publicación automatizada se gestiona mediante .github/workflows/publish.yml, que:
- Se activa con los envíos a la rama
main - Comprueba si cambió la versión de
pyproject.toml - Usa Python 3.10 y las herramientas oficiales de compilación
- Publica mediante publicación de confianza (no se requieren claves de API)
- Proporciona una salida detallada para la depuración
Solución de problemas de publicación
La publicación no se activó: Comprueba que la versión en pyproject.toml haya cambiado realmente entre las confirmaciones
Error de compilación: Comprueba los registros de GitHub Actions para detectar errores de compilación del paquete de Python
Error al publicar en PyPI: Verifica el nombre del paquete y que la publicación de confianza esté configurada correctamente
Conflictos de versión: Asegúrate de que el nuevo número de versión no se haya usado antes en PyPI
Versiones de desarrollo y producción
- Desarrollo: Instala desde el código fuente usando
pip install -e . - Producción: Instala desde PyPI usando
pip install meilisearch-mcp - Versión específica: Instala usando
pip install meilisearch-mcp==0.5.0