Meilisearch logo

Meilisearch

official
search

Interact & query with Meilisearch (Full-text & semantic search API)

Meilisearch MCP Server

A Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces like Claude.
<a href="https://glama.ai/mcp/servers/tbc3n51jja"><img width="380" height="200" src="https://glama.ai/mcp/servers/tbc3n51jja/badge" alt="Meilisearch Server MCP server" /></a>

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

Related Servers

B

Brave Search

reference

Web and local search using Brave's Search API

View Details
G

Git

reference

Tools to read, search, and manipulate Git repositories

View Details
G

Google Drive

reference

File access and search capabilities for Google Drive

View Details
Aiven logo

Aiven

official

Navigate your [Aiven projects](https://go.aiven.io/mcp-server) and interact with the PostgreSQL®, Apache Kafka®, ClickHouse® and OpenSearch® services

View Details
Apify logo

Apify

official

[Actors MCP Server](https://apify.com/apify/actors-mcp-server): Use 3,000+ pre-built cloud tools to extract data from websites, e-commerce, social media, search engines, maps, and more

View Details