使用说明

项目简介

Web Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 客户端提供网页搜索和网页内容浏览能力。它集成了 Google Custom Search API,并采用多种技术来规避Bot检测,确保在各种网站上稳定抓取信息。此服务器可以与兼容 MCP 协议的 LLM 客户端(如 Claude Desktop 或 Cline)配合使用,扩展 LLM 的信息获取和处理能力。

主要功能点

  • Google Custom Search: 利用 Google Custom Search API 进行强大的网页搜索,支持关键词过滤、域名限定、结果数量控制和安全搜索等高级选项。
  • 网页内容浏览: 能够抓取指定 URL 的网页内容,并将其转换为 Markdown 格式,方便 LLM 理解和处理。
  • Bot 检测规避: 采用 rebrowser-puppeteer 技术,包括运行时泄漏预防、Source URL 伪装、Utility World Name 混淆等多种手段,最大限度地减少被网站识别为 Bot 的风险。
  • 速率限制和缓存: 内置速率限制机制,防止滥用,同时使用缓存技术,提升性能并减少 Google API 的调用次数。
  • 浏览器实例池: 通过维护浏览器实例池,高效管理和复用浏览器资源,提升并发处理能力。

安装步骤

  1. 环境准备: 确保已安装 Bun 运行时 v1.0 或更高版本。
  2. 获取 Google API 凭据: 你需要拥有 Google API 密钥 (API Key) 和 Google Search Engine ID,请参考 Google Custom Search API 的文档获取。
  3. 安装依赖: 打开终端,进入项目仓库目录,运行命令 'bun install' 安装项目依赖。
  4. 构建项目: 运行命令 'bun run build' 构建 TypeScript 代码。

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以下是配置 Web Search MCP Server 的 JSON 格式配置信息,你需要将其添加到你的 MCP 客户端配置文件中。请务必根据你的实际安装路径修改 'args' 中的路径,并将 'env' 中的 Google API 密钥和搜索引擎 ID 替换为你自己的凭据。

{
  "mcpServers": {
    "web-search": {
      "command": "bun",
      "args": [
        "run",
        "/ABSOLUTE/PATH/TO/web_search_mcp/dist/index.js"  // 这里替换为你的 web_search_mcp 项目 dist 目录下的 index.js 文件的绝对路径
      ],
      "env": {
        "GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY",         // 替换为你的 Google API Key
        "GOOGLE_SEARCH_ENGINE_ID": "YOUR_GOOGLE_SEARCH_ENGINE_ID", // 替换为你的 Google Search Engine ID
        "MAX_CONCURRENT_BROWSERS": "3",                   // 最大并发浏览器实例数,根据你的硬件配置调整
        "BROWSER_TIMEOUT": "30000",                       // 浏览器操作超时时间,单位毫秒
        "RATE_LIMIT_WINDOW": "60000",                     // 速率限制窗口大小,单位毫秒
        "RATE_LIMIT_MAX_REQUESTS": "60",                  // 速率限制窗口内最大请求数
        "SEARCH_CACHE_TTL": "3600",                       // 搜索结果缓存时间,单位秒
        "VIEW_URL_CACHE_TTL": "7200",                     // 网页浏览结果缓存时间,单位秒
        "MAX_CACHE_ITEMS": "1000",                        // 最大缓存条目数
        "BROWSER_POOL_MIN": "1",                          // 浏览器实例池最小实例数
        "BROWSER_POOL_MAX": "5",                          // 浏览器实例池最大实例数
        "BROWSER_POOL_IDLE_TIMEOUT": "30000",             // 浏览器实例空闲超时时间,单位毫秒
        "BROWSER_COOKIES_PATH": "/path/to/cookies.json"   // 可选:用于认证网站的 cookies.json 文件路径
      }
    }
  }
}

注意:

  • '/ABSOLUTE/PATH/TO/web_search_mcp' 需要替换为你实际存放 'web_search_mcp' 项目的绝对路径。
  • 'YOUR_GOOGLE_API_KEY' 和 'YOUR_GOOGLE_SEARCH_ENGINE_ID' 需要替换为你自己的 Google API 凭据。
  • '/path/to/cookies.json' 是可选的,如果需要访问需要登录的网站,你需要配置 cookies 文件路径。你可以使用 Get cookies.txt LOCALLY Chrome 扩展导出 cookies 文件。

基本使用方法

配置完成后,在你的 MCP 客户端中,你就可以使用 'web-search' 服务器提供的工具了。

  • 搜索工具 (search): 用于执行 Google 搜索。
    • 工具名称: 'search'
    • 参数示例:
      {
        "query": "最新的AI技术发展",
        "resultCount": 5,
        "safeSearch": true
      }
  • 网页浏览工具 (view_url): 用于浏览指定 URL 的网页内容。
    • 工具名称: 'view_url'
    • 参数示例:
      {
        "url": "https://www.example.com",
        "includeImages": true,
        "formatCode": true
      }

具体工具的调用方式和参数使用请参考你的 MCP 客户端的使用文档。例如,在 Claude Desktop 中,你可能可以使用 '@web-search.search' 或 '@web-search.view_url' 来调用这些工具。

信息

分类

网页与API