mcpField
G
Google Custom Search MCP

Google Custom Search MCP

本地服务
github.com搜索与检索04 周前更新

关于 Google Custom Search MCP

Google Custom Search MCP 通过 Programmable Search Engine 为 AI 应用提供网页和图片搜索,适合按主题或条件检索内容。搜索范围由搜索引擎配置决定,并支持分页与原始 API 请求。

主要功能

  1. 01网页搜索
  2. 02图片搜索及缩略图
  3. 03按语言、国家、日期和站点筛选
  4. 04分页浏览结果
  5. 05通过原始 GET 请求调用 API
  6. 06只读操作

适用场景

  1. 01查找近期主题文章
  2. 02仅搜索指定网站
  3. 03查找特定语言或日期的页面
  4. 04按尺寸查找主题图片

MCP 相关

作为 MCP 服务,它向客户端提供网页搜索、图片搜索及原始 Custom Search API GET 请求工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"a1-x-tech-mcp-google-custom-search": {
"command": "npx",
"args": [
"-y",
"mcp-google-custom-search"
],
"env": {
"GOOGLE_CUSTOM_SEARCH_API_KEY": "<GOOGLE_CUSTOM_SEARCH_API_KEY>",
"GOOGLE_CUSTOM_SEARCH_ENGINE_ID": "<GOOGLE_CUSTOM_SEARCH_ENGINE_ID>",
"GOOGLE_CUSTOM_SEARCH_API_BASE": "<GOOGLE_CUSTOM_SEARCH_API_BASE>",
"GOOGLE_CUSTOM_SEARCH_TIMEOUT_MS": "<GOOGLE_CUSTOM_SEARCH_TIMEOUT_MS>",
"GOOGLE_CUSTOM_SEARCH_MAX_RETRIES": "<GOOGLE_CUSTOM_SEARCH_MAX_RETRIES>"
}
}
}
}
启动命令npx -y mcp-google-custom-search
需要配置的环境变量
GOOGLE_CUSTOM_SEARCH_API_KEY密钥Google Cloud API key with the Custom Search API enabled. Treat it as a secret.
GOOGLE_CUSTOM_SEARCH_ENGINE_IDDefault Programmable Search Engine id (cx). Tools accept a per-call engine_id override.
GOOGLE_CUSTOM_SEARCH_API_BASEAPI root override.
GOOGLE_CUSTOM_SEARCH_TIMEOUT_MSPer-request timeout in milliseconds.
GOOGLE_CUSTOM_SEARCH_MAX_RETRIESRetries on transient errors (429, and 5xx/network — the API is idempotent GETs only).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-google-custom-search1.0.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
numinteger否每页结果数,1..10(API 上限为 10;默认值为 10)。
safeenum否安全搜索:active 会过滤成人内容,off(API 默认值)则不会。off | active
sortstring否排序表达式,例如 "date" 表示按最新时间优先。留空则按相关性排序(通常效果更好)。
querystring是搜索查询,支持 Google 语法(引号、site:、filetype:、OR、-排除词)。
startinteger否结果的起始索引(从 1 开始)——请使用上一页返回的 next_start/previous_start。每个查询的 API 最多返回 100 条结果,因此 start + num - 1 必须不超过 100(系统会强制执行:超出范围的请求将被拒绝,且不消耗配额)。
rightsstring否许可证筛选条件:cc_publicdomain、cc_attribute、cc_sharealike、cc_noncommercial、cc_nonderived(使用 | 组合)。
countrystring否地理位置偏向——将结果排序为仿佛从该国家/地区进行搜索,例如 "de"。仅作为弱信号。
languagestring否仅返回此语言的结果,例如 "en"、"de"、"zh-CN"。
or_termsstring否以空格分隔的词语——每个结果都必须至少包含其中一个词语。
engine_idstring否用于搜索的 Programmable Search Engine ID(cx),覆盖已配置的 GOOGLE_CUSTOM_SEARCH_ENGINE_ID。省略则使用已配置的引擎。
file_typestring否仅返回此类型的文件,例如 "pdf"、"xlsx"、"svg"。
exact_termsstring否每个结果都必须包含的短语。
site_searchstring否要包含或排除的网站或域名,例如 "example.com"——需与 site_search_filter 配合使用。
date_restrictstring否仅返回最近 N 天/周/月/年的结果:"d7"、"w2"、"m6"、"y1" 等。
exclude_termsstring否任何结果都不得包含的词语或短语。
include_pagemapboolean否附加每个结果的原始 pagemap(OpenGraph/元标签/缩略图及其他结构化页面数据)。内容较多,除非需要页面元数据,否则请勿启用。
country_restrictstring否严格筛选——仅返回 Google 归属于此国家/地区的文档,例如 "DE"。
filter_duplicatesboolean否Google 的重复内容过滤器(默认开启)。false 也会返回近似重复结果。
interface_languagestring否用于解析查询的界面语言,例如 "de"。可提升非英语查询的相关性。
site_search_filterenum否include = 仅返回 site_search 中的结果,exclude = 返回除此之外的所有结果。默认值为 include。include | exclude

详细介绍

A1 Google Custom Search MCP

英语 | 俄语

npm Glama CI License: MIT

A1 Google Custom Search MCP 可让 AI 应用通过你的 Programmable Search Engine 使用自然语言搜索网页和图片。你可以查找网页,按语言、国家/地区、日期或网站缩小范围,翻阅搜索结果,并获取带缩略图的图片文件。

它使用 Google Custom Search JSON API 和你的 Google Cloud API 密钥。你可以决定搜索引擎涵盖的范围——几个网站或整个网络皆可;服务会明确说明 JSON API 的限制,而不会暗示它能完成所有搜索任务。

  • 3 个工具。 网页搜索、图片搜索,以及一个原始 GET 备用入口,可用于传入类型化工具未公开的参数。
  • 全程只读。 Custom Search JSON API 没有写入端点;所有工具都标记为只读,无法修改任何数据。
  • 搜索范围由你掌控。 搜索引擎的配置决定搜索内容;结果和排名可能与 google.com 不同。
  • 密钥保留在请求头中。 使用 API 密钥进行身份验证——无需 OAuth 或作用域;密钥通过 X-Goog-Api-Key 请求头传递,绝不会出现在 URL 中。
  • 不是 Google Search Console。 它无法报告你自己的网站如何被编入索引或排名。

从一个只读问题开始:

查找上个月有关通行密钥普及情况的最新文章,并总结排名前三的结果。

连接服务 · 探索使用场景 · 查看技术文档


一分钟了解它的工作方式

你: 查找上个月有关通行密钥普及情况的最新文章,只看英语内容。

助手: 通过你的搜索引擎执行一次搜索,并显示每条结果的标题、链接和摘要。不会有任何更改——所有工具都为只读。

你: 显示下一页。

助手: 从 next_start 游标继续,并显示同一查询的第 11–20 条结果。

你: 现在查找同一主题的大幅新闻照片。

助手: 切换到图片搜索,返回图片文件及其尺寸、缩略图和图片所在页面。

目录

快速开始

你需要 Node.js 20+、启用了 Custom Search API 的 Google Cloud API 密钥,以及 Programmable Search Engine ID(cx)。

  1. 获取 API 密钥和引擎 ID。
  2. 将服务添加到你的 AI 应用。
  3. 提出上面的只读问题。
Codex

**在应用中:**打开 Settings → MCP servers,选择 Add server,选择 STDIO,输入命令 npx -y mcp-google-custom-search@latest 和环境变量 GOOGLE_CUSTOM_SEARCH_API_KEY、GOOGLE_CUSTOM_SEARCH_ENGINE_ID,然后选择 Save 和 Restart。

通过命令行:

codex mcp add google-custom-search \
  --env GOOGLE_CUSTOM_SEARCH_API_KEY=your_api_key \
  --env GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your_engine_id \
  -- npx -y mcp-google-custom-search@latest
codex mcp list

Codex MCP 文档

Claude Code
claude mcp add \
  --env GOOGLE_CUSTOM_SEARCH_API_KEY=your_api_key \
  --env GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your_engine_id \
  --transport stdio --scope user google-custom-search \
  -- npx -y mcp-google-custom-search@latest
claude mcp list

Claude Code MCP 文档

Claude Desktop

目前官方的操作路径是 Settings → Extensions。要安装自定义桌面扩展,请打开 Advanced settings → Extension Developer → Install Extension…,选择 .mcpb 文件并按照提示操作。

此仓库目前发布的是 npm stdio 包,不包含 .mcpb 包。对于仍支持本地配置的 Claude Desktop 版本,可使用以下 JSON stdio 配置作为备用方案:

{
  "mcpServers": {
    "google-custom-search": {
      "command": "npx",
      "args": ["-y", "mcp-google-custom-search@latest"],
      "env": {
        "GOOGLE_CUSTOM_SEARCH_API_KEY": "your_api_key",
        "GOOGLE_CUSTOM_SEARCH_ENGINE_ID": "your_engine_id"
      }
    }
  }
}

在这些版本中,macOS 上将其保存到 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上则保存到 %APPDATA%\Claude\claude_desktop_config.json。

Claude Desktop MCP 文档

Cursor

在 macOS/Linux 上将以下内容添加到 ~/.cursor/mcp.json,或在 Windows 上添加到 %USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "google-custom-search": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-custom-search@latest"],
      "env": {
        "GOOGLE_CUSTOM_SEARCH_API_KEY": "your_api_key",
        "GOOGLE_CUSTOM_SEARCH_ENGINE_ID": "your_engine_id"
      }
    }
  }
}

Cursor MCP 文档

VS Code

运行 MCP: Open User Configuration 并添加:

{
  "servers": {
    "google-custom-search": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-custom-search@latest"],
      "env": {
        "GOOGLE_CUSTOM_SEARCH_API_KEY": "${input:custom_search_api_key}",
        "GOOGLE_CUSTOM_SEARCH_ENGINE_ID": "${input:custom_search_engine_id}"
      }
    }
  },
  "inputs": [
    { "type": "promptString", "id": "custom_search_api_key", "description": "Google Cloud API key", "password": true },
    { "type": "promptString", "id": "custom_search_engine_id", "description": "Programmable Search Engine id (cx)" }
  ]
}

使用 MCP: List Servers 检查。

VS Code MCP 文档

你可以让它做什么

搜索网络
  • 查找某个主题的近期教程,并总结排名靠前的结果。
  • 仅在 docs.python.org 内搜索,或排除你不信任的网站进行搜索。
  • 显示同一查询的下一页结果。
缩小结果范围
  • 仅搜索最近一个月发布的英文网页。
  • 仅搜索 PDF 文件;要求包含准确短语或排除某个词语。
  • 限定为某个国家/地区的内容,或限定为具有特定使用权限的资料。
查找图片
  • 查找某个主题的大幅照片,并显示尺寸和缩略图。
  • 仅查找剪贴画或线描图,或仅查找黑白图片。
  • 显示每张图片所在的网页。
超越类型化工具的能力
  • 使用类型化工具未公开的参数调用 API——使用 fields 精简响应、设置 lowRange/highRange、使用 hq。
  • 获取包含推广内容和完整 pagemap 的原始响应封装。

搜索的工作方式

  1. 每次查询都会通过一个 Programmable Search Engine,由其 cx ID 标识——可以是已配置的默认引擎,也可以是单次调用指定的 engine_id。引擎的配置决定搜索范围:特定网站列表,或启用“Search the entire web”后的整个网络。
  2. 返回的结果经过规范化处理,包含标题、URL、摘要和元数据,并提供用于翻页的 next_start/previous_start 游标。total_results 是 Google 的估算值,翻页过程中可能会减少。
  3. 每次调用最多返回 10 条结果,每次查询最多返回 100 条(start + num - 1 必须 ≤ 100)。服务器会在发出请求前拒绝超出范围的窗口——API 会在消耗一个配额单位后返回 400。
  4. 引擎控制面板中必须启用 Image search,才能进行图片搜索;否则 API 会返回 400。

响应中的 corrected_query 仅提供拼写建议——结果仍对应原始查询。这是 Programmable Search,而不是 Google Search Console:此 API 无法报告你自己的网站如何被编入索引或排名。

可能发生的变化

操作结果确认边界
网页搜索(search)从你的引擎读取搜索结果无变化
图片搜索(search_images)从你的引擎读取图片结果无变化
原始 API 请求(raw_request)对任意 Custom Search API 路径发出 GET 请求无变化——此 API 没有写入端点

所有工具(包括应急通道)都带有只读标注。Custom Search JSON API 只有一个 GET 端点,不支持写入,因此调用唯一消耗的是你的每日配额单位。

获取访问权限

Google Custom Search 使用 API 密钥进行身份验证;不涉及 OAuth 或权限范围。

  1. 创建或选择一个 Google Cloud 项目,并启用 Custom Search API。
  2. 在 APIs & Services → Credentials 下创建 API key。将密钥限制为仅用于 Custom Search API 是个好习惯。
  3. 在控制面板中创建 Programmable Search Engine,并复制其 Search engine ID(cx)。启用 Search the entire web 以搜索开放网络,启用 Image search 以使用图片工具。

请将 API 密钥视为密码。服务器会在 X-Goog-Api-Key 标头中发送密钥,绝不会将其放入 URL,因此记录或回显的 URL 不会泄露密钥。

配置

变量必填描述
GOOGLE_CUSTOM_SEARCH_API_KEY是已启用 Custom Search API 的 Google Cloud API 密钥。机密信息。
GOOGLE_CUSTOM_SEARCH_ENGINE_ID建议默认 Programmable Search Engine ID(cx);工具支持在单次调用中通过 engine_id 覆盖。
GOOGLE_CUSTOM_SEARCH_API_BASE否自定义 Custom Search API 基础 URL 覆盖值。
GOOGLE_CUSTOM_SEARCH_TIMEOUT_MS否每次请求的超时时间;默认值为 30000 毫秒。
GOOGLE_CUSTOM_SEARCH_MAX_RETRIES否临时错误(429/5xx/网络)的重试次数;默认值为 3。

即使没有凭据,服务器仍会启动并完成 MCP 握手;首次调用工具时会明确说明需要设置哪些变量。唯一无效的配置是只设置引擎 ID、未设置 API 密钥——密钥无法按次调用提供,因此两者必须同时设置。

数据、限额与后台工作

  • 请求会发送到 Google。 本地服务会调用 Custom Search JSON API。匿名遥测包含安装 ID、软件包版本、AI 客户端和平台版本以及工具名称,但绝不会包含 API 密钥、搜索查询、结果或工具参数。设置 ASKADS_TELEMETRY=0 即可选择退出。
  • Google 设有每日配额。 三种工具中的任何一种每次调用都会消耗项目配额中的 1 个单位——免费额度为每天 100 次查询,启用结算后最高为每天 10,000 次。遇到 429 时,服务会遵循 Retry-After 进行退避;由于整个 API 都是幂等 GET 请求,5xx 和网络错误也会重试,而 400/403 则会立即失败。
  • 没有后台轮询。 服务仅在被调用时运行。如果你的 AI 应用支持计划任务,可以定期重新运行搜索——每次运行仍会消耗配额单位。

技术文档

支持

发现 Bug 或有使用场景需求?创建 Issue或在 Telegram 上留言。


两只 Mona 击掌

你已经读到最后啦!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。