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
Recommend MCP Servers 💡
mac-messages-mcp
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
eiz/fooddb
An MCP server for querying USDA Food Data Central nutritional information.
mcp-server-odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
notte-mcp
A MCP server for Notte's agentic ecosystem, enabling session management, page interaction, and agent operations.
grafana-loki-mcp
Grafana Loki MCP Repository
@mario-andreschak/mcp_video_recognition
An MCP server for image, audio, and video recognition using Google's Gemini AI.