Meilisearch MCP Server

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides a Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces, supporting index and document management, settings configuration, task monitoring, API key management, and search capabilities across single or multiple indices.

Servidor MCP de Meilisearch

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con Meilisearch a través de interfaces LLM como Claude.

Características

Instalación

# Clone repository git clone <repository_url> cd meilisearch-mcp # Create virtual environment and install uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e .

Requisitos

  • Python ≥ 3.9
  • Ejecución de la instancia de Meilisearch
  • Node.js (para pruebas con MCP Inspector)

Uso

Variables de entorno

MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL MEILI_MASTER_KEY=your_master_key # Optional: Default Meilisearch API key

Configuración de conexión dinámica

El servidor proporciona herramientas para ver y actualizar la configuración de conexión en tiempo de ejecución:

  • get-connection-settings : Ver la URL de conexión actual y el estado de la clave API
  • update-connection-settings : Actualiza la URL y/o la clave API para conectarse a una instancia de Meilisearch diferente

Ejemplo de uso a través de MCP:

// Get current settings { "name": "get-connection-settings" } // Update connection settings { "name": "update-connection-settings", "arguments": { "url": "http://new-host:7700", "api_key": "new-api-key" } }

Funcionalidad de búsqueda

El servidor proporciona una herramienta de búsqueda flexible que puede buscar en uno o todos los índices:

  • search : Busque en los índices de Meilisearch con parámetros opcionales

Ejemplo de uso a través de MCP:

// Search in a specific index { "name": "search", "arguments": { "query": "search term", "indexUid": "movies", "limit": 10 } } // Search across all indices { "name": "search", "arguments": { "query": "search term", "limit": 5, "sort": ["releaseDate:desc"] } }

Parámetros de búsqueda disponibles:

  • query : La consulta de búsqueda (obligatoria)
  • indexUid : Índice específico en el que buscar (opcional)
  • limit : Número máximo de resultados por índice (opcional, predeterminado: 20)
  • offset : Número de resultados a omitir (opcional, predeterminado: 0)
  • filter : expresión de filtro (opcional)
  • sort : Reglas de ordenación (opcional)

Ejecución del servidor

python -m src.meilisearch_mcp

Uso con Claude Desktop

Para usar esto con Claude Desktop, agregue lo siguiente a su claude_desktop_config.json :

{ "mcpServers": { "meilisearch": { "command": "uvx", "args": ["-n", "meilisearch-mcp"] } } }

Pruebas con MCP Inspector

npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp

Herramientas disponibles

Gestión de conexiones

  • get-connection-settings : Ver la URL de conexión actual de Meilisearch y el estado de la clave API
  • update-connection-settings : Actualiza la URL y/o la clave API para conectarse a una instancia diferente

Gestión de índices

  • create-index : Crea un nuevo índice con una clave principal opcional
  • list-indexes : Lista todos los índices disponibles
  • get-index-metrics : Obtenga métricas detalladas para un índice específico

Operaciones de documentos

  • get-documents : Recuperar documentos de un índice con paginación
  • add-documents : Agregar o actualizar documentos en un índice

Buscar

  • search : Búsqueda flexible en uno o varios índices con opciones de filtrado y clasificación.

Administración de configuraciones

  • get-settings : Ver la configuración actual de un índice
  • update-settings : Actualizar la configuración del índice (clasificación, facetado, etc.)

Gestión de claves API

  • get-keys : enumera todas las claves API
  • create-key : crea una nueva clave API con permisos específicos
  • delete-key : eliminar una clave API existente

Gestión de tareas

  • get-task : Obtener información sobre una tarea específica
  • get-tasks : Lista de tareas con filtros opcionales:
    • limit : Número máximo de tareas a devolver
    • from : Número de tareas a omitir
    • reverse : Orden de clasificación de tareas
    • batchUids : Filtrar por UID de lote
    • uids : Filtrar por UID de tarea
    • canceledBy : Filtrar por origen de cancelación
    • types : Filtrar por tipos de tareas
    • statuses : Filtrar por estados de tareas
    • indexUids : Filtrar por UID de índice
    • afterEnqueuedAt / beforeEnqueuedAt : Filtrar por tiempo de puesta en cola
    • afterStartedAt / beforeStartedAt : Filtrar por hora de inicio
    • afterFinishedAt / beforeFinishedAt : Filtrar por hora de finalización
  • cancel-tasks : Cancelar tareas pendientes o en cola
  • delete-tasks : Eliminar tareas completadas

Monitoreo del sistema

  • health-check : chequeo de salud básico
  • get-health-status : Estado de salud completo
  • get-version : Obtener información de la versión de Meilisearch
  • get-stats : Obtener estadísticas de la base de datos
  • get-system-info : Obtener información a nivel del sistema

Contribuyendo

  1. Repositorio de bifurcaciones
  2. Crear rama de características
  3. Confirmar cambios
  4. Crear una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

ID: tbc3n51jja