关于 Meilisearch MCP Server
Meilisearch MCP Server 是一个 MCP 服务,让兼容 MCP 的客户端通过自然语言管理 Meilisearch,包括索引、文档、搜索和设置。它面向希望让 LLM 直接操作搜索引擎的用户,采用 stdio 传输。
主要功能
- 01索引与文档管理
- 02多索引搜索,支持过滤和排序
- 03搜索设置与相关性配置
- 04任务监控与 API 密钥管理
- 05支持切换 Meilisearch 实例
适用场景
- 01通过对话创建索引并导入商品数据
- 02让 AI 助手在多个索引中检索内容
- 03查看任务进度和实例健康状态
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露索引、文档、搜索、设置、任务和系统监控等工具,通过 stdio 传输运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Meilisearch MCP 服务
Meilisearch | Meilisearch Cloud | 文档 | Discord
⚡ 将任意大模型连接到 Meilisearch,借助闪电般快速的搜索能力增强你的 AI!🔍
🤔 这是什么?
Meilisearch MCP 服务是一个模型上下文协议服务,可让任何兼容 MCP 的客户端(包括 Claude、OpenAI Agent 和其他大模型)与 Meilisearch 交互。这个基于 stdio 的服务可让 AI 助手通过自然对话管理搜索索引、执行搜索并处理你的数据。
为什么要使用它?
- 🤖 普遍兼容 - 可与任何 MCP 客户端配合使用,不限于 Claude
- 🗣️ 自然语言控制 - 通过与任意大模型对话来管理 Meilisearch
- 🚀 零学习成本 - 无需学习 Meilisearch 的 API
- 🔧 全面访问功能 - 尽享 Meilisearch 的全部功能
- 🔄 动态连接 - 随时切换 Meilisearch 实例
- 📡 stdio 传输 - 目前使用 stdio;即将支持 Meilisearch 原生 MCP!
✨ 主要功能
- 📊 索引和文档管理 - 创建、更新和管理搜索索引
- 🔍 智能搜索 - 使用高级筛选条件,在单个或多个索引中搜索
- ⚙️ 设置配置 - 微调搜索相关性和性能
- 📈 任务监控 - 跟踪索引进度和系统操作
- 🔐 API 密钥管理 - 安全访问控制
- 🏥 运行状况监控 - 随时掌握 Meilisearch 实例的状态
- 🧱 结构化工具输出 - 根据最新的 MCP 规范,每个返回数据的工具都会提供
structuredContent和文本 - 🔀 现代 MCP 技术栈 - 基于官方 MCP Python SDK v2(规范 2026-07-28)构建,并向后兼容旧版 MCP 客户端
- 🐍 Python 实现 - 另有 TypeScript 版本
🚀 快速开始
只需 3 个步骤即可启动!
1️⃣ 安装软件包
# Using pip
pip install meilisearch-mcp
# Or using uvx (recommended)
uvx -n meilisearch-mcp
2️⃣ 配置 Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": ["-n", "meilisearch-mcp"]
}
}
}
3️⃣ 启动 Meilisearch
# Using Docker (recommended)
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
# Or using Homebrew
brew install meilisearch
meilisearch
就这样!现在你可以让 AI 助手搜索和管理 Meilisearch 数据了!🎉
📚 示例
💬 自然地与 AI 助手对话:
You: "Create a new index called 'products' with 'id' as the primary key"
AI: I'll create that index for you... ✓ Index 'products' created successfully!
You: "Add some products to the index"
AI: I'll add those products... ✓ Added 5 documents to 'products' index
You: "Search for products under $50 with 'electronics' in the category"
AI: I'll search for those products... Found 12 matching products!
🔍 高级搜索示例:
You: "Search across all my indices for 'machine learning' and sort by date"
AI: Searching across all indices... Found 47 results from 3 indices:
- 'blog_posts': 23 articles about ML
- 'documentation': 15 technical guides
- 'tutorials': 9 hands-on tutorials
🔧 安装
前提条件
- Python ≥ 3.10
- 正在运行的 Meilisearch 实例
- 兼容 MCP 的客户端(Claude Desktop、OpenAI Agent 等)
从 PyPI 安装
pip install meilisearch-mcp
从源代码安装(用于开发)
# Clone repository
git clone https://github.com/meilisearch/meilisearch-mcp.git
cd meilisearch-mcp
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
使用 Docker
非常适合 n8n 工作流等容器化环境!
从 Docker Hub 获取
# Pull the latest image
docker pull getmeili/meilisearch-mcp:latest
# Or a specific version
docker pull getmeili/meilisearch-mcp:0.5.0
# Run the container
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
getmeili/meilisearch-mcp:latest
从源代码构建
# Build your own image
docker build -t meilisearch-mcp .
docker run -it \
-e MEILI_HTTP_ADDR=http://your-meilisearch:7700 \
-e MEILI_MASTER_KEY=your-master-key \
meilisearch-mcp
与 n8n 集成
对于 n8n 工作流,你可以在设置中直接使用 Docker 镜像:
meilisearch-mcp:
image: getmeili/meilisearch-mcp:latest
environment:
- MEILI_HTTP_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=masterKey
🛠️ 你可以做什么?
🔗 连接管理
- 查看当前连接设置
- 动态切换 Meilisearch 实例
- 随时更新 API 密钥
📁 索引操作
- 使用自定义主键创建新索引
- 列出所有索引及其统计信息
- 删除索引及其数据
- 获取详细的索引指标
📄 文档管理
- 添加或更新文档
- 分页检索文档
- 批量导入数据
🔍 搜索功能
- 使用筛选条件、排序和分面进行搜索
- 多索引搜索
- 使用向量进行语义搜索
- 混合搜索(关键词 + 语义)
⚙️ 设置与配置
- 配置排名规则
- 设置分面和筛选
- 管理可搜索属性
- 自定义拼写容错
🔐 安全
- 创建和管理 API 密钥
- 设置细粒度权限
- 监控密钥使用情况
⚠️ 注意:虽然你可以直接在聊天中添加和更新主机及 API 密钥,以方便使用,但这种方式主要面向开发场景(例如,随时连接多个实例)。它不符合 MCP 安全最佳实践,未经适当的防护措施,不应在生产环境中使用。
📊 监控与运行状况
- 运行状况检查
- 系统统计信息
- 任务监控
- 版本信息
🌍 环境变量
配置默认连接设置:
MEILI_HTTP_ADDR=http://localhost:7700 # Default Meilisearch URL
MEILI_MASTER_KEY=your_master_key # Optional: Default API key
💻 开发
设置开发环境
-
启动 Meilisearch:
docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 -
安装开发依赖项:
uv pip install -r requirements-dev.txt -
运行测试:
python -m pytest tests/ -v -
格式化代码:
black src/ tests/
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
🤝 社区与支持
欢迎联系我们!以下是获取帮助和参与交流的方式:
- 💬 加入我们的 Discord - 与社区交流
- 🐛 报告问题 - 发现了 Bug?请告诉我们!
- 💡 功能请求 - 有什么想法?欢迎告诉我们!
- 📖 Meilisearch 文档 - 进一步了解 Meilisearch
🤗 贡献
欢迎贡献!以下是开始参与的步骤:
- Fork 此代码库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 为你的更改编写测试
- 进行更改并运行测试
- 使用
black格式化代码 - 提交更改(
git commit -m 'Add amazing feature') - 将更改推送到你的分支(
git push origin feature/amazing-feature) - 创建 Pull Request
更多详情请参阅我们的贡献指南。
📦 发布流程
本项目使用自动版本管理和发布机制。当 main 分支上的 pyproject.toml 中的版本发生更改时,软件包会自动发布到 PyPI。
详细说明请参阅发布流程部分。
📄 许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
Meilisearch 是一款开源搜索引擎,可提供令人愉悦的搜索体验。
在 meilisearch.com 了解更多关于 Meilisearch 的信息
📖 完整文档
可用工具
连接管理
get-connection-settings:查看当前 Meilisearch 连接 URL 和 API 密钥状态update-connection-settings:更新 URL 和/或 API 密钥,以连接到其他实例
索引管理
create-index:创建索引,可选指定主键list-indexes:列出所有可用索引delete-index:删除现有索引及其所有文档get-index-metrics:获取特定索引的详细指标
文档操作
get-documents:分页检索索引中的文档add-documents:在索引中添加或更新文档
搜索
search:跨单个或多个索引灵活搜索,并支持筛选和排序选项
设置管理
get-settings:查看索引的当前设置update-settings:更新索引设置(排名、分面等)
API 密钥管理
get-keys:列出所有 API 密钥create-key:创建具有特定权限的 API 密钥delete-key:删除现有 API 密钥
任务管理
get-task:获取特定任务的信息get-tasks:列出任务,可选应用筛选条件cancel-tasks:取消待处理或已入队的任务
系统监控
health-check:基本健康检查get-health-status:全面的健康状态get-version:获取 Meilisearch 版本信息get-stats:获取数据库统计信息get-system-info:获取系统级信息
开发环境设置
前置条件
-
启动 Meilisearch 服务:
# Using Docker (recommended for development) docker run -d -p 7700:7700 getmeili/meilisearch:v1.28 # Or using brew (macOS) brew install meilisearch meilisearch # Or download from https://github.com/meilisearch/meilisearch/releases -
安装开发工具:
# Install uv for Python package management pip install uv # Install Node.js for MCP Inspector testing # Visit https://nodejs.org/ or use your package manager
运行测试
本项目包含全面的集成测试,用于验证 MCP 工具功能:
# Run all tests
python -m pytest tests/ -v
# Run specific test file
python -m pytest tests/test_mcp_client.py -v
# Run tests with coverage report
python -m pytest --cov=src tests/
# Run tests in watch mode (requires pytest-watch)
pytest-watch tests/
重要:测试需要在 http://localhost:7700 上运行的 Meilisearch 实例。
代码质量
# Format code with Black
black src/ tests/
# Run type checking (if mypy is configured)
mypy src/
# Lint code (if flake8 is configured)
flake8 src/ tests/
贡献指南
- 复刻并克隆仓库
- 按照上文的“开发环境设置”部分设置开发环境
- 从
main创建功能分支 - 如果要添加新功能,先编写测试(测试驱动开发)
- 提交前在本地运行测试,确保所有测试通过
- 使用 Black格式化代码并确保代码质量
- 使用描述性提交消息提交更改
- 推送到你的复刻仓库并创建拉取请求
开发工作流
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes, write tests first
# Edit files...
# Run tests to ensure everything works
python -m pytest tests/ -v
# Format code
black src/ tests/
# Commit and push
git add .
git commit -m "Add feature description"
git push origin feature/your-feature-name
测试指南
- 所有新功能都应包含测试
- 提交 PR 前应确保测试通过
- 使用描述性测试名称和清晰的断言
- 测试成功和错误情况
- 运行测试前确保 Meilisearch 正在运行
发布流程
本项目使用自动版本管理并发布到 PyPI。发布流程简单且自动化。
发布的工作方式
-
自动发布:当
main分支上的pyproject.toml版本号发生更改时,GitHub Action 会自动:- 构建 Python 软件包
- 使用可信发布将其发布到 PyPI
- 在 GitHub 上创建新版本
-
版本检测:工作流会将
pyproject.toml中的当前版本与上一次提交进行比较,以检测更改 -
发布到 PyPI:使用 PyPA 官方发布 Action 进行可信发布(无需手动 API 密钥)
创建新版本
创建新版本请按以下步骤操作:
1. 确定版本号
遵循语义化版本(MAJOR.MINOR.PATCH):
- PATCH(例如,0.4.0 → 0.4.1):错误修复、文档更新、小幅改进
- MINOR(例如,0.4.0 → 0.5.0):新功能、新的 MCP 工具、重大增强
- MAJOR(例如,0.5.0 → 1.0.0):不兼容更改、重大 API 更改
2. 更新版本并创建 PR
# 1. Create a branch from latest main
git checkout main
git pull origin main
git checkout -b release/v0.5.0
# 2. Update version in pyproject.toml
# Edit the version = "0.4.0" line to your new version
# 3. Commit and push
git add pyproject.toml
git commit -m "Bump version to 0.5.0"
git push origin release/v0.5.0
# 4. Create PR and get it reviewed/merged
gh pr create --title "Release v0.5.0" --body "Bump version for release"
3. 合并到 Main
PR 获得批准并合并到 main 后,GitHub Action 将自动:
- 检测版本更改
- 构建软件包
- 发布到 PyPI:https://pypi.org/p/meilisearch-mcp
- 通过
pip install meilisearch-mcp提供新版本
4. 验证发布
合并后,验证发布:
# Check GitHub Action status
gh run list --workflow=publish.yml
# Verify on PyPI (may take a few minutes)
pip index versions meilisearch-mcp
# Test installation of new version
pip install --upgrade meilisearch-mcp
发布工作流文件
自动发布由 .github/workflows/publish.yml 处理,该文件会:
- 在推送到
main分支时触发 - 检查
pyproject.toml中的版本是否已更改 - 使用 Python 3.10 和官方构建工具
- 使用可信发布进行发布(无需 API 密钥)
- 提供详细输出,便于调试
发布故障排查
未触发发布:检查 pyproject.toml 中的版本在提交之间是否确实发生了更改
构建失败:检查 GitHub Actions 日志,查看 Python 软件包构建错误
PyPI 发布失败:确认软件包名称无误,且已正确配置可信发布
版本冲突:确保新版本号尚未在 PyPI 上使用过
开发版与生产版
- 开发版:使用
pip install -e .从源码安装 - 生产版:使用
pip install meilisearch-mcp从 PyPI 安装 - 指定版本:使用
pip install meilisearch-mcp==0.5.0安装
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。