使用说明

项目简介

本项目 'mcp-google-custom-search-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它利用 Google Custom Search API 为大型语言模型 (LLM) 应用提供强大的网页搜索功能。通过这个服务器,LLM 可以调用 'search' 工具来获取最新的网络信息,从而提升回答问题、生成内容等任务的质量和准确性。

主要功能点

  • 网页搜索能力: LLM 可以通过调用服务器提供的 'search' 工具,使用 Google Custom Search API 进行网页搜索。
  • MCP 协议兼容: 完全遵循 Model Context Protocol 协议,可以与任何兼容 MCP 协议的 LLM 客户端(如 Claude Desktop)无缝集成。
  • 可配置搜索结果数量: 允许用户配置每次搜索返回的结果数量,最多可返回 10 条结果。
  • 结构化搜索结果: 返回的搜索结果包含标题、URL 和描述信息,方便 LLM 理解和利用。
  • 易于部署和配置: 通过简单的环境变量配置 Google API 密钥和搜索引擎 ID 即可快速启动服务。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/MCP-Mirror/alexatnordnet_mcp-google-custom-search-server.git
    cd alexatnordnet_mcp-google-custom-search-server
  2. 安装依赖:

    npm install
  3. 配置环境变量: 创建 '.env' 文件,并填入您的 Google Custom Search API 密钥和搜索引擎 ID。

    GOOGLE_API_KEY=YOUR_GOOGLE_API_KEY
    GOOGLE_SEARCH_ENGINE_ID=YOUR_SEARCH_ENGINE_ID

    请替换 'YOUR_GOOGLE_API_KEY' 和 'YOUR_GOOGLE_SEARCH_ENGINE_ID' 为您自己的 API 密钥和搜索引擎 ID。 您需要在 Google Cloud Console 启用 Custom Search API 并创建 API 密钥,然后在 Programmable Search Engine 创建自定义搜索引擎并获取搜索引擎 ID。

  4. 构建项目:

    npm run build
  5. 启动服务器:

    npm start

    服务器成功启动后,会在控制台输出 'Google Custom Search MCP Server running on stdio'。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是一个配置示例,您需要根据您的实际文件路径进行调整。

{
  "mcpServers": {
    "google-search": {
      "command": "node",
      "args": [
        "/absolute/path/to/alexatnordnet_mcp-google-custom-search-server/build/index.js"
      ]
    }
  }
}

配置参数说明:

  • '"google-search"': 服务器名称,您可以自定义。在客户端中通过此名称引用该服务器。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
  • '"args": [...]' : 命令参数,指向服务器入口文件 'index.js' 的绝对路径。 请将 '/absolute/path/to/alexatnordnet_mcp-google-custom-search-server/build/index.js' 替换为 'index.js' 文件在您系统中的实际绝对路径。

注意: 环境变量 'GOOGLE_API_KEY' 和 'GOOGLE_SEARCH_ENGINE_ID' 已经在服务器启动时通过 '.env' 文件加载,客户端配置中无需重复配置。

基本使用方法

配置完成后,在您的 MCP 客户端中,LLM 就可以通过调用名为 'search' 的工具来使用网页搜索功能。

例如,在 Claude Desktop 中,您可以指示 Claude 使用 'search' 工具来查找信息。客户端会向 MCP 服务器发送请求,服务器执行搜索并将结果返回给客户端,Claude 就可以利用这些搜索结果进行后续操作。

工具 'search' 接受以下参数:

  • 'query' (string, 必需): 搜索关键词。
  • 'numResults' (number, 可选): 返回的搜索结果数量,默认为 5,最大为 10。

例如,LLM 可以指示客户端调用 'search' 工具,参数设置为 '{"query": "最新的AI技术发展", "numResults": 3}',服务器将返回 3 条关于 "最新的AI技术发展" 的搜索结果。

信息

分类

网页与API