Fire in da houseTop Tip:Most people pay up to $340 per month for Perplexity, MidJourney, Runway, ChatGPT, and more - but you can get them all your AI tools for $15 with Galaxy. It's free to test!Fire in da houseCheck it out

meilisearch-mcp

MCP.Pizza Chef: meilisearch

The Meilisearch MCP server is a Python-based Model Context Protocol server designed to integrate Meilisearch search engine capabilities with large language models like Claude. It provides comprehensive features including index and document management, settings configuration, task monitoring, and API key management. The server supports dynamic connection switching between multiple Meilisearch instances and offers smart search functionality across single or multiple indices. It includes built-in logging and monitoring tools to ensure operational transparency. For browser-based applications, a TypeScript integration is also available, enabling flexible deployment scenarios. This server facilitates advanced, real-time search and data interaction workflows powered by LLMs, making it ideal for developers building AI-enhanced search and data retrieval solutions.

Use This MCP server To

Manage Meilisearch indexes and documents via LLM commands Configure and update Meilisearch settings dynamically Monitor search tasks and API key usage in real time Perform smart searches across multiple Meilisearch indices Switch connections between different Meilisearch instances Integrate Meilisearch search capabilities into AI workflows Enable LLM-driven search interfaces in web or desktop apps

README

Meilisearch MCP Server

A Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces like Claude.

Meilisearch Server MCP server

Features

Installation

# 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 .

Requirements

  • Python ≥ 3.9
  • Running Meilisearch instance
  • Node.js (for testing with MCP Inspector)

Usage

Environment Variables

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

Dynamic Connection Configuration

The server provides tools to view and update connection settings at runtime:

  • get-connection-settings: View current connection URL and API key status
  • update-connection-settings: Update URL and/or API key to connect to a different Meilisearch instance

Example usage through 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"
  }
}

Search Functionality

The server provides a flexible search tool that can search across one or all indices:

  • search: Search through Meilisearch indices with optional parameters

Example usage through 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"]
  }
}

Available search parameters:

  • query: The search query (required)
  • indexUid: Specific index to search in (optional)
  • limit: Maximum number of results per index (optional, default: 20)
  • offset: Number of results to skip (optional, default: 0)
  • filter: Filter expression (optional)
  • sort: Sorting rules (optional)

Running the Server

python -m src.meilisearch_mcp

Usage with Claude Desktop

To use this with Claude Desktop, add the following to your claude_desktop_config.json:

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

Testing with MCP Inspector

npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp

Available Tools

Connection Management

  • get-connection-settings: View current Meilisearch connection URL and API key status
  • update-connection-settings: Update URL and/or API key to connect to a different instance

Index Management

  • create-index: Create a new index with optional primary key
  • list-indexes: List all available indexes
  • get-index-metrics: Get detailed metrics for a specific index

Document Operations

  • get-documents: Retrieve documents from an index with pagination
  • add-documents: Add or update documents in an index

Search

  • search: Flexible search across single or multiple indices with filtering and sorting options

Settings Management

  • get-settings: View current settings for an index
  • update-settings: Update index settings (ranking, faceting, etc.)

API Key Management

  • get-keys: List all API keys
  • create-key: Create new API key with specific permissions
  • delete-key: Delete an existing API key

Task Management

  • get-task: Get information about a specific task
  • get-tasks: List tasks with optional filters:
    • limit: Maximum number of tasks to return
    • from: Number of tasks to skip
    • reverse: Sort order of tasks
    • batchUids: Filter by batch UIDs
    • uids: Filter by task UIDs
    • canceledBy: Filter by cancellation source
    • types: Filter by task types
    • statuses: Filter by task statuses
    • indexUids: Filter by index UIDs
    • afterEnqueuedAt/beforeEnqueuedAt: Filter by enqueue time
    • afterStartedAt/beforeStartedAt: Filter by start time
    • afterFinishedAt/beforeFinishedAt: Filter by finish time
  • cancel-tasks: Cancel pending or enqueued tasks
  • delete-tasks: Delete completed tasks

System Monitoring

  • health-check: Basic health check
  • get-health-status: Comprehensive health status
  • get-version: Get Meilisearch version information
  • get-stats: Get database statistics
  • get-system-info: Get system-level information

Contributing

  1. Fork repository
  2. Create feature branch
  3. Commit changes
  4. Create pull request

License

MIT

meilisearch-mcp FAQ

How do I install the Meilisearch MCP server?
Clone the repository, create a Python virtual environment, activate it, and install dependencies using pip as described in the README.
Can I use the Meilisearch MCP server with browser-based applications?
Yes, there is a TypeScript integration available for browser environments to interact with the Meilisearch MCP server.
Does the server support managing multiple Meilisearch instances?
Yes, it supports dynamic connection configuration to switch between multiple Meilisearch instances seamlessly.
What monitoring features does the Meilisearch MCP server provide?
It includes built-in logging and monitoring tools for task tracking and API key management.
Is the Meilisearch MCP server limited to a specific LLM provider?
No, it is designed to work with various LLM interfaces such as Claude, OpenAI, and Gemini.
How does the server handle search queries across multiple indices?
It offers smart search capabilities that allow querying across single or multiple indices efficiently.
What programming languages are supported for integration?
The server is implemented in Python, with a TypeScript client available for browser integration.
Can I manage Meilisearch settings through the MCP server?
Yes, the server allows full configuration and management of Meilisearch settings via LLM commands.