项目简介
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。
- 克隆仓库:
git clone https://github.com/searchcraft-inc/searchcraft-mcp-server.git cd searchcraft-mcp-server - 配置环境变量:
在项目根目录下创建 '.env' 文件,并填入您的 Searchcraft 集群信息。
# Server Config USER_AGENT=searchcraft-mcp-server/<project-version> DEBUG=true PORT=3100 # Searchcraft Config ENDPOINT_URL= # 您的 Searchcraft 集群的端点 URL ADMIN_KEY= # 您的 Searchcraft 集群的管理员密钥 - 安装依赖:
yarn install # 或者使用 npm install - 构建服务器:
这将生成两个版本的服务器:'dist/server.js' (HTTP 服务器) 和 'dist/stdio-server.js' (Stdio 服务器)。yarn build
服务器配置
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"' (请替换为实际路径)
基本使用方法
-
启动服务器:
- Stdio 服务器 (推荐用于本地开发): 'yarn start:stdio'
- HTTP 服务器 (用于远程部署或测试): 'yarn start' 服务器将监听 'PORT' 环境变量中指定的端口 (默认为 3100)。
-
通过 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与计算