使用说明

项目简介

Google Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 客户端提供强大的网络信息访问能力。它集成了 Google 搜索 API 和网页内容分析功能,允许 LLM 通过调用工具的方式,programmatically 地进行 Google 搜索并提取、分析网页内容,从而扩展 LLM 的知识库和信息处理能力。

主要功能点

  • Google 搜索工具 (google_search): 允许 LLM 使用 Google 搜索引擎检索网络信息,支持关键词查询、结果数量控制、时间范围过滤、语言和国家/地区限制、安全搜索等高级选项,帮助 LLM 精准获取所需信息。
  • 网页内容提取工具 (extract_webpage_content): 允许 LLM 获取指定 URL 的网页内容,并将其转换为易于理解的 Markdown 格式文本。该工具能有效去除网页中的广告、导航等干扰元素,提取核心内容,提升 LLM 对网页信息的理解效率。
  • 批量网页内容提取工具 (extract_multiple_webpages): 支持一次性提取多个网页的内容,方便 LLM 对比分析不同来源的信息,或进行多网页信息的整合处理。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/mixelpixx/GoogleSearch_McpServer.git
    cd GoogleSearch_McpServer
  2. 安装 Node.js 依赖: (用于运行 MCP 服务器主程序)

    npm install
  3. 安装 Python 依赖: (用于运行 Google 搜索和网页内容提取 Python 服务)

    pip install flask google-api-python-client flask-cors beautifulsoup4 trafilatura markdownify
  4. 构建 TypeScript 代码: (编译 MCP 服务器主程序)

    npm run build
  5. 配置 Google API 凭据:

    • 方法一:环境变量 (推荐): 设置 'GOOGLE_API_KEY' 和 'GOOGLE_SEARCH_ENGINE_ID' 环境变量。
    • 方法二:配置文件: 在项目根目录下创建 'api-keys.json' 文件,并填入你的 API Key 和 Custom Search Engine ID。
      {
          "api_key": "YOUR_GOOGLE_API_KEY",
          "search_engine_id": "YOUR_CUSTOM_SEARCH_ENGINE_ID"
      }

    获取 Google API 凭据和 Custom Search Engine ID 的步骤请参考仓库 README 文档。

  6. 启动 Python 服务:

    • 你可以运行 'start-python-servers.cmd' (Windows) 或自行编写类似的脚本 (Linux/macOS) 来启动 'google_search.py' 和 'link_view.py' 两个 Python 服务。
    • 或者,你可以使用 'npm run start:all' 命令同时启动 TypeScript MCP 服务器和 Python 服务。

服务器配置 (MCP 客户端)

要将此 MCP 服务器配置到 MCP 客户端(例如 Cline VS Code 扩展 或 Claude 桌面应用),你需要提供以下 JSON 配置信息。请根据你的实际项目路径进行调整。

{
  "mcpServers": {
    "google-search": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\path\\to\\GoogleSearch_McpServer\\dist\\google-search.js"],
      "cwd": "C:\\path\\to\\GoogleSearch_McpServer",
      "env": {
        "GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY",
        "GOOGLE_SEARCH_ENGINE_ID": "YOUR_CUSTOM_SEARCH_ENGINE_ID"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置参数说明:

  • '"google-search"': 服务器名称,在 MCP 客户端中用于标识此服务器。
  • '"command"': 启动服务器的命令,这里指向 Node.js 可执行文件。
  • '"args"': 传递给 'command' 的参数,这里指定了 'google-search.js' 文件的路径,这是 TypeScript MCP 服务器的入口文件。请将 'C:\path\to\GoogleSearch_McpServer' 替换为你的实际项目路径。
  • '"cwd"': 服务器进程的工作目录,设置为项目根目录 请将 'C:\path\to\GoogleSearch_McpServer' 替换为你的实际项目路径。
  • '"env"': 环境变量配置,用于传递 Google API 凭据。 请将 'YOUR_GOOGLE_API_KEY' 和 'YOUR_CUSTOM_SEARCH_ENGINE_ID' 替换为你的实际 API Key 和 Search Engine ID。 你也可以选择在系统环境变量中配置,此处可以省略 '"env"' 部分。
  • '"disabled": false': 设置为 'false' 表示启用此服务器。
  • '"autoApprove": []': 自动批准的工具列表,默认为空,表示所有工具都需要手动批准才能调用。

将以上 JSON 配置添加到你的 MCP 客户端的配置文件中:

  • Cline (VS Code Extension): '%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json'
  • Claude Desktop App: '%APPDATA%\Claude\claude_desktop_config.json'

基本使用方法

配置完成后,在 MCP 客户端中,你可以通过自然语言指令或工具调用请求来使用以下工具:

  • 使用 'google_search' 工具进行搜索: 例如,你可以指示 LLM "使用 google_search 工具搜索关于人工智能的最新进展"。LLM 会根据你的指令生成包含 'google_search' 工具调用请求的 MCP 消息,并发送给 Google Search MCP Server。服务器执行搜索后,会将搜索结果以 JSON 格式返回给 LLM。

  • 使用 'extract_webpage_content' 工具提取网页内容: 例如,你可以指示 LLM "使用 extract_webpage_content 工具提取链接为 https://example.com/article 的网页内容"。服务器会提取指定网页的内容并转换为 Markdown 文本返回给 LLM。

  • 使用 'extract_multiple_webpages' 工具批量提取网页内容: 例如,你可以指示 LLM "使用 extract_multiple_webpages 工具分析以下几个网页的内容:https://example1.com, https://example2.com"。服务器会批量处理这些网页并返回内容分析结果。

请参考仓库 README 文档和 'src/google-search.ts' 文件中工具的 'inputSchema' 了解每个工具的具体参数和使用方法。

信息

分类

网页与API