Meilisearch Hybrid Search MCP Server
@miiton
A mcp server that supports hybrid search for meilisearch written in Go
Overview
What is Meilisearch Hybrid Search MCP Server?
It is an MCP (Model Context Protocol) server that provides a single tool for performing hybrid searches on a Meilisearch index, combining keyword-based search with semantic vector search. It is intended for developers who use Meilisearch with an embedder configured and want to integrate hybrid search capabilities into AI-powered tools via MCP.
How to use Meilisearch Hybrid Search MCP Server?
Set the required environment variables (MEILI_HOST, MEILI_API_KEY, MEILI_INDEX, MEILI_EMBEDDER, and optionally MEILI_FILTERABLE_ATTRIBUTES), build the Go project, and run the binary. The server provides one tool named hybrid_search that accepts a required keywords string and optional semantic_ratio, filterable_attribute, and filter_word arguments.
Key features of Meilisearch Hybrid Search MCP Server
- Executes hybrid searches (keyword + semantic) on a Meilisearch index
- Adjustable balance between keyword and semantic search
- Optional filtering by a document attribute
- Configured entirely via environment variables
- Adheres to the MCP protocol for tool invocation
- Supports any embedder configured in Meilisearch
Use cases of Meilisearch Hybrid Search MCP Server
- Combine exact keyword matching with semantic similarity in a single query
- Adjust search relevance for different content types (e.g., technical docs vs. creative text)
- Filter hybrid search results by specific attribute values (e.g., genre, author)
- Integrate hybrid search into an AI agent or assistant via MCP
- Replace separate keyword and vector search endpoints with one unified tool
FAQ from Meilisearch Hybrid Search MCP Server
What does the hybrid_search tool do?
It performs a hybrid search on the configured Meilisearch index, combining keyword matching with semantic vector search according to the specified semantic_ratio.
What are the runtime requirements?
You need Go to build the server, and a running Meilisearch instance that has at least one embedder configured. The server itself runs as a binary.
How do I configure the server?
All configuration is done through environment variables: MEILI_HOST, MEILI_API_KEY, MEILI_INDEX, MEILI_EMBEDDER, and optionally MEILI_FILTERABLE_ATTRIBUTES. Set them before starting the server.
What transport protocol does the server use?
It communicates over standard input/output (stdio), following the MCP protocol for tool-based servers.
Can I filter search results?
Yes. Provide the filterable_attribute and filter_word arguments to the hybrid_search tool. The attribute name must be a filterable attribute in your Meilisearch index settings.