mcpField
M
Meilisearch MCP Server

Meilisearch MCP Server

本地服务
github.com/meilisearch数据库198今天更新

关于 Meilisearch MCP Server

Meilisearch MCP Server 是一个 MCP 服务,让兼容 MCP 的客户端通过自然语言管理 Meilisearch,包括索引、文档、搜索和设置。它面向希望让 LLM 直接操作搜索引擎的用户,采用 stdio 传输。

主要功能

  1. 01索引与文档管理
  2. 02多索引搜索,支持过滤和排序
  3. 03搜索设置与相关性配置
  4. 04任务监控与 API 密钥管理
  5. 05支持切换 Meilisearch 实例

适用场景

  1. 01通过对话创建索引并导入商品数据
  2. 02让 AI 助手在多个索引中检索内容
  3. 03查看任务进度和实例健康状态

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露索引、文档、搜索、设置、任务和系统监控等工具,通过 stdio 传输运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"meilisearch": {
"command": "uvx",
"args": [
"meilisearch-mcp"
]
}
}
}
启动命令uvx meilisearch-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimeilisearch-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Meilisearch

Meilisearch MCP 服务

Meilisearch | Meilisearch Cloud | 文档 | Discord

PyPI 版本 Python 版本 测试 许可证 下载量

⚡ 将任意大模型连接到 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

💻 开发

设置开发环境
  1. 启动 Meilisearch:

    docker run -d -p 7700:7700 getmeili/meilisearch:v1.28
    
  2. 安装开发依赖项:

    uv pip install -r requirements-dev.txt
    
  3. 运行测试:

    python -m pytest tests/ -v
    
  4. 格式化代码:

    black src/ tests/
    
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp

🤝 社区与支持

欢迎联系我们!以下是获取帮助和参与交流的方式:

🤗 贡献

欢迎贡献!以下是开始参与的步骤:

  1. Fork 此代码库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 为你的更改编写测试
  4. 进行更改并运行测试
  5. 使用 black 格式化代码
  6. 提交更改(git commit -m 'Add amazing feature')
  7. 将更改推送到你的分支(git push origin feature/amazing-feature)
  8. 创建 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:获取系统级信息
开发环境设置
前置条件
  1. 启动 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
    
  2. 安装开发工具:

    # 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/
贡献指南
  1. 复刻并克隆仓库
  2. 按照上文的“开发环境设置”部分设置开发环境
  3. 从 main 创建功能分支
  4. 如果要添加新功能,先编写测试(测试驱动开发)
  5. 提交前在本地运行测试,确保所有测试通过
  6. 使用 Black格式化代码并确保代码质量
  7. 使用描述性提交消息提交更改
  8. 推送到你的复刻仓库并创建拉取请求
开发工作流
# 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。发布流程简单且自动化。

发布的工作方式
  1. 自动发布:当 main 分支上的 pyproject.toml 版本号发生更改时,GitHub Action 会自动:

    • 构建 Python 软件包
    • 使用可信发布将其发布到 PyPI
    • 在 GitHub 上创建新版本
  2. 版本检测:工作流会将 pyproject.toml 中的当前版本与上一次提交进行比较,以检测更改

  3. 发布到 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 将自动:

  1. 检测版本更改
  2. 构建软件包
  3. 发布到 PyPI:https://pypi.org/p/meilisearch-mcp
  4. 通过 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 安装

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。