OneSearch MCP Server 使用说明

项目简介

OneSearch MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型(LLM)客户端提供网页搜索、网页抓取和信息提取功能。它集成了 Searxng、Firecrawl 和 Tavily 等多个搜索引擎和网页抓取工具,允许 LLM 通过标准化的 MCP 协议调用这些功能,从而增强 LLM 的上下文感知和信息获取能力。

主要功能点

  • 网页搜索 (one_search): 支持使用 Searxng 或 Tavily 搜索引擎进行网页搜索,返回搜索结果列表,包含标题、URL 和描述等信息。
  • 网页抓取 (one_scrape): 支持抓取单个网页的内容,并可以提取多种格式的内容,如 Markdown、HTML、纯文本、截图和链接等。还支持在抓取前执行自定义操作,如等待、点击、滚动等。
  • 信息提取 (one_extract): (仓库中代码未完全实现,但 tools.ts 中有定义,此处描述可先包含,如果需要可以后续调整)支持使用 LLM 从多个网页中提取结构化信息。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm。
  2. 全局安装 'one-search-mcp' (可选):
    npm install -g one-search-mcp
    或者,你可以使用 'npx' 直接运行,无需全局安装。

服务器配置

MCP 客户端(如 Cursor 或 Windsurf)需要配置以下 JSON 信息来连接 OneSearch MCP Server。以下是配置示例,请根据你的实际情况修改:

{
  "mcpServers": {
    "one-search-mcp": {
      "command": "npx",
      "args": ["-y", "one-search-mcp"],
      "env": {
        "SEARCH_PROVIDER": "searxng",
        "SEARCH_API_URL": "http://127.0.0.1:8080",
        "SEARCH_API_KEY": "YOUR_API_KEY",
        "FIRECRAWL_API_URL": "http://127.0.0.1:3002",
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

配置参数说明:

  • 'server name': 'one-search-mcp' - 服务器名称,客户端用于识别和调用。
  • 'command': 'npx' - 用于启动服务器的命令。
  • 'args': '["-y", "one-search-mcp"]' - 传递给 'npx' 的参数,'-y' 表示自动确认安装 'one-search-mcp','one-search-mcp' 是要执行的 npm 包。
  • 'env': 环境变量配置,用于配置 OneSearch MCP Server 的行为。
    • 'SEARCH_PROVIDER': 搜索引擎提供商,可选 'searxng' 或 'tavily',默认为 'searxng'。
    • 'SEARCH_API_URL': Searxng API 的 URL,当 'SEARCH_PROVIDER' 为 'searxng' 时必需。 例如,如果你本地部署了 Searxng,可以使用 'http://127.0.0.1:8080'。
    • 'SEARCH_API_KEY': Tavily API 的 Key,当 'SEARCH_PROVIDER' 为 'tavily' 时必需。请替换为你的 Tavily API Key。
    • 'FIRECRAWL_API_URL': Firecrawl API 的 URL,用于网页抓取功能。 如果你本地部署了 Firecrawl,可以使用 'http://127.0.0.1:3002'。
    • 'FIRECRAWL_API_KEY': Firecrawl API 的 Key,如果使用 Firecrawl 云服务则需要。

环境变量配置 (可选):

你也可以通过设置环境变量来配置 OneSearch MCP Server,而不是在 'mcp.json' 或 'model_config.json' 中硬编码。

  • 'SEARCH_API_URL'
  • 'SEARCH_API_KEY'
  • 'SEARCH_PROVIDER'
  • 'FIRECRAWL_API_URL'
  • 'FIRECRAWL_API_KEY'

基本使用方法

  1. 启动 OneSearch MCP Server: 在配置好环境变量后,或者在 MCP 客户端配置中指定环境变量后,启动服务器。 如果你全局安装了 'one-search-mcp',可以直接运行 'one-search-mcp' 命令。 如果使用 'npx',则可以使用 'npx -y one-search-mcp' 命令。
  2. 在 MCP 客户端中使用工具: 在支持 MCP 协议的客户端(如 Cursor 或 Windsurf)中,配置并连接到 OneSearch MCP Server 后,即可使用 'one_search' 和 'one_scrape' 工具。 根据工具的 'inputSchema' 传入相应的参数即可调用。

示例 (在 LLM 客户端中调用 'one_search' 工具):

{
  "tool_calls": [
    {
      "id": "search-tool-1",
      "type": "function",
      "function": {
        "name": "one_search",
        "arguments": {
          "query": "最新的AI技术发展"
        }
      }
    }
  ]
}

这个示例展示了如何调用 'one_search' 工具来搜索 "最新的AI技术发展"。 LLM 客户端会将工具调用请求发送到 OneSearch MCP Server,服务器执行搜索后,将结果返回给客户端。 'one_scrape' 工具的使用方法类似,你需要根据其 'inputSchema' 提供 'url' 等参数。

请参考 Model Context Protocol (MCP) 文档 和你使用的 MCP 客户端的文档,了解更详细的使用方法和工具参数。

信息

分类

网页与API