Integrations
Integrates with dotenv for environment variable management, specifically for Meilisearch connection configuration including host, API key, and timeout settings.
Uses Express for the web server component that hosts the MCP server implementation, enabling the StreamableHTTP transport for communication between clients and the Meilisearch API.
Employs Lerna for workspace management across the MCP server components that provide Meilisearch integration.
MCP Meilisearch API Server
A comprehensive Model Context Protocol (MCP) server implementation that provides a bridge between AI models and the Meilisearch search engine using the StreamableHTTP transport. This project enables seamless integration of Meilisearch's powerful search capabilities within AI workflows.
Project Overview
This project implements an MCP (Model Context Protocol) server that provides AI models with direct access to Meilisearch's functionalities. The implementation follows a client-server architecture with these key components:
- MCP Server: Implements the Model Context Protocol to expose Meilisearch APIs as tools
- Web Client: Simple demo interface for testing the search functionality
- Command Line Client: Utility client for testing and development
Architecture
Key Features
- StreamableHTTP Transport: Implements the StreamableHTTP transport for MCP, enabling real-time communication between clients and server
- Full Meilisearch API Support: Exposes all Meilisearch functionalities as MCP tools
- Category-based Organization: Tools are organized by functional categories
- Error Handling: Comprehensive error handling for API requests
- Web Client Demo: Simple web interface to demonstrate search capabilities
- Command Line Client: For testing and development
Available Tool Categories
The MCP server exposes Meilisearch APIs organized into these functional categories:
- System Tools: Health checks, version information, server stats
- Index Tools: Managing indexes (create, update, delete, list)
- Document Tools: Document operations (add, update, delete, retrieve)
- Search Tools: Advanced search capabilities including vector search
- Settings Tools: Configuration management for indexes
- Task Tools: Asynchronous task management
- Vector Tools: Vector search capabilities (experimental feature)
Getting Started
Prerequisites
- Node.js v20 or higher
- Meilisearch instance running locally or remotely
- API key for Meilisearch (if required by your Meilisearch configuration)
Setup
- Clone the repository
- Install dependencies:
- Create a
.env
file in the server directory with your Meilisearch configuration:
Running the Server
Build and start the server:
Accessing the Web Interface
Once running, the web demo is available at:
Development
This project uses:
- TypeScript for type safety
- Lerna for workspace management
- Express for the web server
- Model Context Protocol SDK for AI integration
Project Structure
server/
: MCP server implementationsrc/tools/
: Implementation of Meilisearch API toolssrc/utils/
: Utility functions for API communication and error handlingsrc/server.ts
: StreamableHTTP MCP server implementation
client_web/
: Web demo clientclient_cmd/
: Command line client for testing
Related MCP Servers
- Gozlib License
- TypeScriptGPL 3.0
- PythonApache 2.0
- GoMIT License