使用说明

项目简介

Meilisearch Lite MCP Server 是一个将 Meilisearch 搜索引擎与 MCP (Model Context Protocol) 服务器集成的单容器镜像。它允许 LLM 客户端通过 MCP 协议,利用 Meilisearch 的强大搜索能力来访问和检索 Markdown 文档内容。该服务器特别针对日语和英语 Markdown 文档进行了优化,并支持自动索引本地目录中的文档。

主要功能点

  • Markdown 文档搜索: 支持日语和英语 Markdown 文档的全文和向量搜索。
  • 自动索引: 启动时自动索引主机挂载的最多三个目录中的 '.md' 文件。
  • 可配置性: 通过环境变量灵活配置文档目录、健康检查重试次数和 Meilisearch 主密钥。
  • 单容器部署: 所有组件(Meilisearch 和 MCP 服务器)打包在一个 Docker 容器中,方便部署和管理。

安装步骤

本项目以 Docker 镜像的形式提供,无需额外安装步骤。只需确保你的环境中已安装 Docker。

  1. 拉取镜像: 使用以下命令从 GitHub Container Registry (GHCR) 拉取最新镜像:

    docker run --pull always --rm \
      -e DOCUMENT_DIRS="/app/example/spec,/app/example/guide" \
      -e CHECK_RETRIES=30 \
      -v /path/to/your/repo/example/spec:/app/example/spec \
      -v /path/to/your/repo/example/guide:/app/example/guide \
      ghcr.io/upamune/meilisearch-lite-mcp:latest
  2. 配置环境变量和卷:

    • '-e DOCUMENT_DIRS="/app/example/spec,/app/example/guide"': 设置要索引的 Markdown 文档所在的目录。请将 '/app/example/spec,/app/example/guide' 替换为容器内的实际路径,这些路径需要通过 '-v' 参数从主机挂载。
    • '-e CHECK_RETRIES=30': 设置健康检查的重试次数,默认值为 30。可以根据需要调整。
    • '-v /path/to/your/repo/example/spec:/app/example/spec': 将主机上的 '/path/to/your/repo/example/spec' 目录挂载到容器内的 '/app/example/spec' 目录。你需要将 '/path/to/your/repo/example/spec' 和 '/path/to/your/repo/example/guide' 替换为你本地 Markdown 文档所在的实际路径。

服务器配置 (MCP 客户端)

为了让 MCP 客户端连接到 Meilisearch Lite MCP Server,你需要在客户端的配置文件中指定服务器的启动命令和参数。以下是一个 JSON 格式的配置示例,适用于支持 Docker 子进程启动的 MCP 客户端:

{
  "mcpServers": {
    "meilisearch-mcp": {  // 服务器名称,客户端用于标识和引用
      "command": "docker",  // 启动服务器的命令,这里使用 Docker
      "args": [  // 启动命令的参数列表
        "run",  // Docker run 命令
        "-i",   // 保持 STDIN 打开,即使未连接
        "--rm", // 容器退出后自动删除
        "-e", "DOCUMENT_DIRS", // 设置环境变量 DOCUMENT_DIRS
        "-v", "/path/to/your/repo/example/spec:/app/example/spec", // 挂载卷,将主机目录 /path/to/your/repo/example/spec 挂载到容器内 /app/example/spec
        "-v", "/path/to/your/repo/example/guide:/app/example/guide", // 挂载卷,将主机目录 /path/to/your/repo/example/guide 挂载到容器内 /app/example/guide
        "ghcr.io/upamune/meilisearch-lite-mcp:latest" // 使用的 Docker 镜像名称
      ],
      "env": {  // 额外的环境变量配置
        "DOCUMENT_DIRS": "/app/example/spec,/app/example/guide" // 再次指定环境变量 DOCUMENT_DIRS,确保容器内可用
      }
    }
  }
}

重要说明:

  • 请将 '/path/to/your/repo/example/spec' 和 '/path/to/your/repo/example/guide' 替换为你实际存放 Markdown 文档的主机路径。
  • 'server name' (例如 "meilisearch-mcp") 可以自定义,客户端会使用这个名称来引用该服务器。
  • 'command' 和 'args' 部分需要根据你的 MCP 客户端的具体配置要求进行调整,但核心思想是使用 Docker 启动该镜像,并挂载包含 Markdown 文档的目录。

基本使用方法

  1. 启动服务器: 按照上述 "安装步骤" 中的 Docker 命令启动 Meilisearch Lite MCP Server 容器。
  2. 配置 MCP 客户端: 根据 "服务器配置 (MCP 客户端)" 中的示例,配置你的 MCP 客户端,指定连接到 'meilisearch-mcp' 服务器。
  3. 通过 MCP 客户端与服务器交互: 启动 MCP 客户端后,客户端将通过 MCP 协议与 Meilisearch Lite MCP Server 进行通信。你可以使用客户端提供的接口来执行以下操作:
    • 资源访问: 通过 MCP 协议请求访问被索引的 Markdown 文档资源。
    • 工具调用: 如果服务器实现了工具功能(根据仓库信息,主要功能是搜索),可以通过 MCP 客户端调用搜索工具,对 Markdown 文档进行检索。
    • Prompt 模板: 如果服务器定义了 Prompt 模板,客户端可以请求获取并使用这些模板与 LLM 进行交互,结合从服务器获取的上下文信息。

注意: 仓库描述主要侧重于文档搜索功能,关于更详细的 MCP 协议交互方式和具体的功能调用,可能需要参考 'meilisearch-mcp' Python 包的文档或代码。

信息

分类

数据库与文件