项目简介

Searchcraft MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将 Searchcraft 垂直搜索引擎的功能无缝集成到大型语言模型 (LLM) 应用程序中。它允许 LLM 客户端(如 Claude Desktop, Claude Code, Open WebUI)通过标准化的 JSON-RPC 协议,以自然语言指令的形式,执行 Searchcraft 集群的各项管理任务,并进行复杂的搜索操作。

主要功能点

  • Searchcraft 集群全面管理: 提供了一套丰富的工具,用于管理您的 Searchcraft 集群中的索引、文档、联邦、API 密钥、停用词和同义词。
  • 智能搜索与分析: 能够执行支持模糊匹配、精确匹配、日期范围和分面过滤的搜索查询,获取初步搜索数据,并检索 Searchcraft 的性能分析指标。
  • JSON 数据导入流程: 支持从 URL 或本地文件分析 JSON 数据的结构,自动生成 Searchcraft 索引 Schema,并提供一键式工作流来创建索引和导入文档。
  • 多传输协议支持: 服务器支持 Stdio (标准输入/输出) 和 Streamable HTTP (可流式传输的 HTTP) 两种传输协议,方便与不同类型的 LLM 客户端集成。
  • 安全性与可配置性: 通过环境变量管理 Searchcraft 集群的连接端点 ('ENDPOINT_URL') 和管理员密钥 ('ADMIN_KEY'),确保操作的安全性。

安装步骤

在开始之前,请确保您的系统已安装 Node.js (推荐版本 22+) 和 Yarn 或 npm。

  1. 克隆仓库:
    git clone https://github.com/searchcraft-inc/searchcraft-mcp-server.git
    cd searchcraft-mcp-server
  2. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入您的 Searchcraft 集群信息。
    # Server Config
    USER_AGENT=searchcraft-mcp-server/<project-version>
    DEBUG=true
    PORT=3100
    
    # Searchcraft Config
    ENDPOINT_URL= # 您的 Searchcraft 集群的端点 URL
    ADMIN_KEY= # 您的 Searchcraft 集群的管理员密钥
  3. 安装依赖:
    yarn install # 或者使用 npm install
  4. 构建服务器:
    yarn build
    这将生成两个版本的服务器:'dist/server.js' (HTTP 服务器) 和 'dist/stdio-server.js' (Stdio 服务器)。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 MCP 服务器建立连接。

  • 对于 Claude Desktop: 在 macOS 上,'claude_desktop_config.json' 文件通常位于 '~/Library/Application Support/Claude/'。在 Windows 上,位于 '%APPDATA%\Claude'。如果文件不存在,请创建它。 您需要在 'mcpServers' 部分添加服务器配置。

    • 服务器名称: 'searchcraft'
    • 启动命令: 'node'
    • 参数: '"/path/to/searchcraft-mcp-server/dist/stdio-server.js"' (请替换为实际路径)
  • 对于 Claude Code (CLI): 在命令行中使用 'claude mcp add' 命令来添加服务器配置,并可直接设置环境变量。

    • 服务器名称: 'searchcraft'
    • 环境变量: 'ENDPOINT_URL=https://your-cluster.searchcraft.io' 'ADMIN_KEY=your_admin_key_here' (请替换为实际值)
    • 启动命令: 'node'
    • 参数: '"/path/to/searchcraft-mcp-server/dist/stdio-server.js"' (请替换为实际路径)

基本使用方法

  1. 启动服务器:

    • Stdio 服务器 (推荐用于本地开发): 'yarn start:stdio'
    • HTTP 服务器 (用于远程部署或测试): 'yarn start' 服务器将监听 'PORT' 环境变量中指定的端口 (默认为 3100)。
  2. 通过 LLM 客户端交互: 配置好您的 LLM 客户端 (如 Claude Desktop 或 Claude Code) 后,您可以直接在聊天界面中向 LLM 提问,以调用 Searchcraft MCP 服务器提供的工具。 例如:

    • “列出我的所有 Searchcraft 索引。” (LLM 可能会调用 'list_all_indexes' 工具)
    • “为我的产品数据创建一个新的 Searchcraft 索引。” (LLM 可能会引导您使用 'create_index' 工具,并请求索引 Schema 信息)
    • “从 URL 'http://example.com/data.json' 分析 JSON 并生成 Searchcraft Schema。” (LLM 可能会调用 'analyze_json_from_url' 工具)

    LLM 会根据您的指令,自动识别并调用相应的 Searchcraft MCP 工具来完成任务。

信息

分类

AI与计算