Meilisearch MCP Server

Meilisearch MCP Server

By meilisearch GitHub

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

Overview

what is Meilisearch MCP Server?

Meilisearch MCP Server is a Model Context Protocol server designed for interaction with Meilisearch through various LLM interfaces, such as Claude.

how to use Meilisearch MCP Server?

To use the Meilisearch MCP Server, clone its repository, set up the environment by installing dependencies, and configure necessary environment variables to connect to a Meilisearch instance. You can start the server and utilize specific commands through MCP to manage indices and perform searches.

key features of Meilisearch MCP Server?

  • Index and document management
  • Settings configuration and management
  • Task monitoring and API key management
  • Built-in logging and monitoring tools
  • Dynamic connection configuration to switch between Meilisearch instances
  • Smart search across single or multiple indices

use cases of Meilisearch MCP Server?

  1. Managing large datasets in Meilisearch for enhanced search capabilities
  2. Automatically adjusting API keys and connection settings for different environments
  3. Performing complex search queries across various indices seamlessly

FAQ from Meilisearch MCP Server?

  • What are the requirements to run Meilisearch MCP Server?

You need Python >= 3.9, an instance of Meilisearch running, and Node.js for testing.

  • How do I update the connection settings?

Use the update-connection-settings command to modify the URL and/or API key at runtime.

  • Can I manage multiple Meilisearch instances?

Yes! The server supports dynamic connection configurations allowing you to switch between instances easily.

Content

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

No tools information available.
No content found.