
Meilisearch MCP Server
A Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces.
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?
- Managing large datasets in Meilisearch for enhanced search capabilities
- Automatically adjusting API keys and connection settings for different environments
- 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.
Meilisearch MCP Server
A Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces like Claude.
Features
- 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
- This is a Python implementation, there is Typescript integration if you need to work with a Meilisearch MCP server within the browser
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 statusupdate-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 statusupdate-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 keylist-indexes
: List all available indexesget-index-metrics
: Get detailed metrics for a specific index
Document Operations
get-documents
: Retrieve documents from an index with paginationadd-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 indexupdate-settings
: Update index settings (ranking, faceting, etc.)
API Key Management
get-keys
: List all API keyscreate-key
: Create new API key with specific permissionsdelete-key
: Delete an existing API key
Task Management
get-task
: Get information about a specific taskget-tasks
: List tasks with optional filters:limit
: Maximum number of tasks to returnfrom
: Number of tasks to skipreverse
: Sort order of tasksbatchUids
: Filter by batch UIDsuids
: Filter by task UIDscanceledBy
: Filter by cancellation sourcetypes
: Filter by task typesstatuses
: Filter by task statusesindexUids
: Filter by index UIDsafterEnqueuedAt
/beforeEnqueuedAt
: Filter by enqueue timeafterStartedAt
/beforeStartedAt
: Filter by start timeafterFinishedAt
/beforeFinishedAt
: Filter by finish time
cancel-tasks
: Cancel pending or enqueued tasksdelete-tasks
: Delete completed tasks
System Monitoring
health-check
: Basic health checkget-health-status
: Comprehensive health statusget-version
: Get Meilisearch version informationget-stats
: Get database statisticsget-system-info
: Get system-level information
Contributing
- Fork repository
- Create feature branch
- Commit changes
- Create pull request
License
MIT