meilisearch-mcp
by: meilisearch
A Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces.
📌Overview
Purpose: To provide a Model Context Protocol (MCP) server that facilitates interaction with Meilisearch using LLM interfaces.
Overview: The Meilisearch MCP Server enables seamless management and search operations for Meilisearch through a Python implementation, allowing users to efficiently manage indices, documents, and API configurations while benefiting from powerful logging and monitoring capabilities.
Key Features:
-
Index and Document Management: Easily create, list, retrieve, and update indices and documents, streamlining data handling operations.
-
Dynamic Connection Configuration: Change connection settings at runtime to connect to different Meilisearch instances, enhancing flexibility in managing multiple environments.
-
Search Functionality: Execute searches across single or multiple indices with customizable parameters such as filtering and sorting, improving the search experience.
-
Monitoring and Logging Tools: Built-in tools for logging and monitoring server performance, facilitating maintenance and troubleshooting.
-
API Key Management: Create, list, and delete API keys with defined permissions, ensuring secure access control to the server.
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
- Python implementation (Typescript integration available)
Installation
# Clone repository
git clone <repository_url>
cd meilisearch-mcp
# Create virtual environment and install
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
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 allows viewing and updating connection settings at runtime:
get-connection-settings
: View current connection URL and API key statusupdate-connection-settings
: Update URL and/or API key
Example usage:
// 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
Search across one or all indices:
search
: Search through Meilisearch indices with optional parameters
Example usage:
// 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 results per index (default: 20)offset
: Number of results to skip (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 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 the connection settings.
Index Management
create-index
: Create a new index.list-indexes
: List all available indexes.get-index-metrics
: Get metrics for a specific index.
Document Operations
get-documents
: Retrieve documents from an index.add-documents
: Add or update documents in an index.
Search
search
: Search across single or multiple indices.
Settings Management
get-settings
: View current settings for an index.update-settings
: Update index settings.
API Key Management
get-keys
: List all API keys.create-key
: Create new API key.delete-key
: Delete an API key.
Task Management
get-task
: Get information about a specific task.get-tasks
: List tasks with optional filters.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
- Fork the repository
- Create a feature branch
- Commit changes
- Create a pull request
License
MIT