使用说明

项目简介

Algolia MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,它允许LLM客户端通过标准化的MCP协议与Algolia搜索引擎进行交互。该服务器提供了一系列工具,使得LLM能够利用Algolia强大的搜索和数据管理功能,从而增强LLM应用的上下文感知和功能扩展性。

注意: 此项目是Algolia的实验性项目,非官方支持,可能随时更新、修改或移除,不适用于生产环境。

主要功能点

  • 搜索查询 (run_query): 允许LLM客户端向Algolia索引发送查询请求,并获取搜索结果。
  • 获取对象 (get_object): 根据对象ID从Algolia索引中检索特定的数据记录。
  • 插入对象 (insert_object): 向Algolia索引添加或更新单个数据记录。
  • 批量插入对象 (insert_objects): 高效地向Algolia索引添加或更新多个数据记录。
  • 获取索引设置 (get_settings): 检索Algolia索引的配置信息。
  • 搜索规则 (search_rules): 在Algolia索引中搜索配置的规则。
  • 搜索同义词 (search_synonyms): 在Algolia索引中搜索配置的同义词。

安装步骤

  1. 安装Go: 确保你的开发环境已安装Go语言环境(版本参考https://go.dev/doc/install)。
  2. 克隆仓库: 使用Git克隆Algolia MCP服务器仓库到本地:
    git clone [email protected]:algolia/mcp.git
  3. 构建服务器: 进入服务器代码目录并构建可执行文件:
    cd mcp/cmd/mcp
    go build
    构建成功后,会在当前目录下生成名为 'mcp' 的可执行文件。

服务器配置

要将Algolia MCP服务器配置到MCP客户端(例如Claude Desktop),你需要提供服务器的启动命令和必要的环境变量。以下是配置示例(JSON格式):

{
   "mcpServers": {
      "algolia": {
         "command": "/path/to/the/repo/cmd/mcp/mcp",
         "env": {
            "ALGOLIA_APP_ID": "<你的Algolia应用ID>",
            "ALGOLIA_INDEX_NAME": "<你的Algolia索引名称>",
            "ALGOLIA_API_KEY": "<你的Algolia只读API密钥>",
            "ALGOLIA_WRITE_API_KEY": "<你的Algolia管理API密钥>"  /* 可选:如果需要写入操作,请使用管理API密钥 */
         }
      }
   }
}

配置参数说明:

  • '"algolia"': 服务器名称,可以自定义。
  • '"command"': 指向构建生成的可执行文件 'mcp' 的绝对路径。请替换 '/path/to/the/repo/cmd/mcp/mcp' 为你实际的路径。
  • '"env"': 环境变量配置,包含连接Algolia服务所需的凭据:
    • '"ALGOLIA_APP_ID"': 你的Algolia应用ID。必填
    • '"ALGOLIA_INDEX_NAME"': 你想要访问的Algolia索引名称。必填
    • '"ALGOLIA_API_KEY"': 用于读取Algolia索引的API密钥(建议使用只读密钥以保证安全)。必填
    • '"ALGOLIA_WRITE_API_KEY"': 可选,如果需要使用写入工具(如 'insert_object', 'insert_objects'),则需要提供Algolia的管理API密钥(Admin API Key)。请谨慎使用管理API密钥,确保仅在必要时启用写入功能。

如何获取Algolia API密钥和应用ID: 请登录你的Algolia控制台 (https://www.algolia.com/) 在 "API Keys" 或 "凭据" 部分创建或查找你的应用ID和API密钥。

基本使用方法

  1. 启动MCP服务器: 配置完成后,MCP客户端(如Claude Desktop 或 Ollama 通过 mcphost)将根据你提供的配置启动Algolia MCP服务器。
  2. 在LLM中使用工具: 在支持MCP协议的LLM应用中,你可以调用Algolia MCP服务器提供的工具。例如,在Claude中,你可以指示Claude使用 'algolia:run_query' 工具来执行搜索查询,或使用 'algolia:get_object' 工具来获取特定的数据记录。

示例 (Claude 指令):

请使用 "algolia:run_query" 工具在 Algolia 索引中搜索关键词 "example"。

LLM客户端会将指令转换为MCP请求发送到Algolia MCP服务器,服务器执行相应的Algolia API调用并将结果返回给LLM客户端。

信息

分类

数据库与文件