Meilisearch MCP Server
Official MCP server for Meilisearch. Manage indices, documents, search, settings, API keys, and tasks on a Meilisearch instance via natural language.
The Meilisearch MCP Server is the official Model Context Protocol integration maintained by the Meilisearch organization. It lets LLM clients like Claude Desktop, Cursor, and OpenAI agents control a Meilisearch instance through natural language, covering index creation, document ingestion, advanced search (filters, sorting, facets, semantic/hybrid), settings configuration, API key management, task monitoring, and health checks.
The server is implemented in Python (requires Python 3.9+) and connects to any running Meilisearch instance via MEILI_HTTP_ADDR and an optional MEILI_MASTER_KEY. It supports multi-instance use via update-connection-settings, so an agent can switch between Meilisearch hosts during a session. Installation is available through PyPI, uvx, source, or a getmeili/meilisearch-mcp Docker image.
Because the server can change connection targets and create/delete API keys directly from chat, the maintainers explicitly position it for development use cases. Production deployments should add guardrails before exposing destructive tools to an agent.
Tools
| Tool | Description |
|---|---|
get-connection-settings |
Return the current Meilisearch host and key configuration the server is using. |
update-connection-settings |
Switch to a different Meilisearch instance or update the master key at runtime. |
create-index |
Create a new Meilisearch index. |
list-indexes |
List all indexes on the configured instance. |
delete-index |
Delete an index by its uid. |
get-index-metrics |
Return metrics for a specific index. |
get-documents |
Retrieve documents from an index with pagination. |
add-documents |
Add or update documents in an index. |
search |
Run a search query against one or multiple indexes with filters, sorting, facets, and semantic/hybrid options. |
get-settings |
Return the settings of an index (ranking rules, searchable attributes, etc.). |
update-settings |
Update index settings such as ranking rules, filterable/sortable attributes. |
get-keys |
List API keys defined on the Meilisearch instance. |
create-key |
Create a new API key with scoped permissions. |
delete-key |
Delete an API key. |
get-task |
Get details of a single task by ID. |
get-tasks |
List tasks with optional filters. |
cancel-tasks |
Cancel one or more queued or processing tasks. |
delete-tasks |
Delete finished tasks matching filters. |
health-check |
Check that the Meilisearch instance is reachable and healthy. |
get-health-status |
Return the health status payload from Meilisearch. |
get-version |
Return the Meilisearch server version. |
get-stats |
Return database stats (index sizes, document counts). |
get-system-info |
Return system-level information about the Meilisearch instance. |
Prerequisites
- Python 3.9 or newer
- A running Meilisearch instance (local or hosted)
- Optional: a Meilisearch master key if your instance requires authentication
Install
Install via uvx (recommended), pip, or Docker.
# uvx
uvx -n meilisearch-mcp
# pip
pip install meilisearch-mcp
# Docker
docker pull getmeili/meilisearch-mcp:latest
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-key \
getmeili/meilisearch-mcp:latest
Or from source:
git clone https://github.com/meilisearch/meilisearch-mcp.git
cd meilisearch-mcp
uv venv && source .venv/bin/activate
uv pip install -e .
Claude Desktop config
Add to claude_desktop_config.json:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"],
"env": {
"MEILI_HTTP_ADDR": "http://localhost:7700",
"MEILI_MASTER_KEY": "your-master-key"
}
}
}
}
Environment variables
MEILI_HTTP_ADDR: Meilisearch server URL. Defaults tohttp://localhost:7700.MEILI_MASTER_KEY: Optional master key used to authenticate against the instance.
You can also change hosts at runtime with the update-connection-settings tool, which is useful when an agent needs to work across multiple Meilisearch instances.
- Bootstrap a new Meilisearch index from a JSON dataset and configure ranking rules and filterable attributes in one agent session.
- Run ad hoc faceted search queries across multiple indexes (e.g. products + articles) and have the agent summarize results.
- Audit and rotate Meilisearch API keys, scoping new keys to specific indexes and actions.
- Monitor index size, task queue, and health of a Meilisearch instance during ingestion jobs.
- Switch between development and staging Meilisearch instances from chat to test the same query against both.
- "Create a
productsindex in Meilisearch withskuas the primary key, then add the documents from this JSON." - "Search the
articlesindex foronboardingand return facets bycategoryandauthor." - "Show me all failed tasks in the last hour and cancel anything still queued for the
logsindex." - "Create a search-only API key scoped to the
productsindex that expires in 30 days." - "Switch the connection to https://staging.meili.example.com and run a health check."
- Officially maintained by the Meilisearch organization, so it tracks the canonical API.
- Broad tool coverage: indexes, documents, search, settings, keys, tasks, and health in one server.
- Multiple install paths (uvx, pip, Docker, source) and runtime host switching via
update-connection-settings. - Supports advanced search features including filters, sorting, facets, and semantic/hybrid search.
- Maintainers explicitly call it development-oriented; exposing destructive tools like
delete-indexorcreate-keyto an agent in production needs added safeguards. - Requires a self-hosted or Meilisearch Cloud instance; the MCP server does not provide search on its own.
- Python 3.9+ runtime requirement, so it is not a zero-dependency Node binary.
- Algolia MCP: Official MCP server for Algolia, a hosted search alternative.
- Elasticsearch MCP Server: Official Elastic server for searching and querying Elasticsearch indices.
- Typesense: Community MCP implementations exist for Typesense, another open-source search engine.