关于 imagedata
imagedata 是连接 HasData Google Images 搜索服务的本地桥接程序,供需要结构化图片结果的客户端使用。支持筛选条件、地区设置和分页。
主要功能
- 01获取 Google Images 搜索结果
- 02按尺寸、颜色和类型筛选
- 03设置 SafeSearch 和地区
- 04选择设备类型并分页
- 05返回图片链接、缩略图和尺寸
适用场景
- 01查找符合关键词的图片
- 02按尺寸或类型缩小结果范围
- 03获取特定地区的搜索结果
- 04查看图片来源页面和尺寸
MCP 相关
向 MCP 客户端提供上游 Google Images 搜索工具,并将调用转发至 HasData,原样返回结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 是 | 用于检索图片结果的搜索词。 |
| gl | string | 否 | 要将搜索范围限制到的国家/地区的两字母国家代码。请提供一个精确的已记录值(共支持 245 个),例如 `ac`、`af`。 |
| hl | string | 否 | 要用于搜索的两位语言代码。请提供一个准确的文档所列值(共允许 159 个),例如 `af`、`ak`。 |
| ijn | number | 否 | 分页结果的页码,0 表示第一页。 |
| tbs | string | 否 | Google Images API 的 `tbs` 参数可通过逗号组合各种筛选条件,自定义图片搜索结果。可用选项如下: 图片尺寸筛选条件: - `isz:l` - 搜索大尺寸图片。 - `isz:m` - 搜索中尺寸图片。 - `isz:i` - 搜索图标尺寸的图片。 - `isz:lt,islt:qsvga` - 筛选大于 400×300 的图片。 - `isz:lt,islt:vga` - 筛选大于 640×480 的图片。 - `isz:lt,islt:svga` - 筛选大于 800×600 的图片。 - `isz:lt,islt:xga` - 筛选大于 1024×768 的图片。 - `isz:lt,islt:2mp` - 筛选大于 1600×1200 的图片。 - `isz:lt,islt:4mp` - 筛选大于 2272×1704 的图片。 - `isz:ex,iszw:1000,iszh:1000` - 搜索尺寸恰好为 1000×1000 的图片。 颜色筛选条件: - `ic:color` - 搜索全彩图片。 - `ic:gray` - 搜索黑白图片。 - `ic:specific,isc:red`(以及橙色、黄色、绿色等其他颜色)- 搜索以指定颜色为主的图片。 图片类型筛选条件: - `itp:face` - 搜索人脸图片。 - `itp:photo` - 搜索照片。 - `itp:clipart` - 搜索剪贴画图片。 - `itp:lineart` - 搜索线描图片。 - `itp:animated` - 搜索动画图片(GIF)。 |
| safe | enum | 否 | 成人内容过滤选项。active | off |
| uule | string | 否 | 编码后的地点参数。 |
| domain | string | 否 | 要使用的 Google 域名。默认值为 google.com。请提供一个精确的已记录值(共支持 195 个),例如 `google.ac`、`google.ad`。 |
| filter | number | 否 | 定义是否启用“相似结果”和“省略的结果”筛选条件。设为 1(默认值)可启用这些筛选条件,设为 0 可禁用。 |
| location | string | 否 | Google 标准地点,用于搜索。 |
| deviceType | enum | 否 | 指定搜索使用的设备类型。desktop | mobile | tablet |
详细介绍
imagedata
imagedata 是一个小型本地桥接服务,连接托管的 HasData
Google Images MCP 服务,该服务以 JSON 格式返回 Google Images
搜索结果。提供查询词后,它会获取该查询的图片结果:每张图片的标题、
图片所在页面、图片直链、缩略图、尺寸、来源名称以及在结果中的
位置。可以使用 tbs 筛选字符串(图片尺寸、主色调以及人脸、照片、剪贴画、线稿
或动画等图片类型)、安全搜索、相似结果/省略结果
筛选开关、Google 域名、国家和语言
代码、规范化或编码后的位置、设备类型以及基于页码的分页来调整搜索。
该桥接服务本身不存储任何结果。它会在本地提供上游服务的工具列表, 内容与从实时端点捕获的完全一致,并将每次 工具调用转发到上游,原样返回结果。 捕获到的接口仅包含一个只读查询: 没有写入、消息传递或支付工具。
工具
hasdata_google_images_images_getImageSearchResults— 获取一页 Google Images 搜索结果。必填参数:q(搜索词)。可选参数:location(Google 规范化位置)、uule(编码后的位置 参数)、domain(要使用的 Google 域名, 例如google.com)、gl(两个字母的国家代码)、hl(两个字母的语言代码)、tbs(筛选字符串, 可组合尺寸筛选条件,例如isz:l、颜色筛选条件,例如ic:color,以及类型筛选条件,例如itp:photo)、safe(active/off)、filter(1 或 0:相似结果/省略结果筛选)、deviceType(desktop/mobile/tablet),以及ijn(页码,0 表示第一页)。返回每张图片的标题、来源页面 URL、图片直链、 缩略图、尺寸、来源名称和 位置。
配置
HASDATA_GOOGLE_IMAGES_MCP_URL(可选)— 覆盖 上游端点。默认值为https://mcp.hasdata.com/mcp?apis=google_images。 (此覆盖钩子是本次重建自行标注的内容。)HASDATA_API_KEY(可选)— 设置后,每个上游请求都会携带x-api-key: <key>标头,使用调用者自己的 HasData API 密钥。未设置时,不会发送密钥标头。(标头名称 和环境变量名称由原始项目的注册表记录确定;从此环境 变量转发密钥是本次重建自行标注的内容——原始接口是在不带密钥的情况下捕获的。)
转发机制
首次调用工具时,客户端会与上游建立可流式传输的
HTTP 会话:发送 JSON-RPC
initialize 请求(protocolVersion 2025-03-26,
clientInfo 名称为 imagedata),然后发送
notifications/initialized 通知,最后发送携带调用者参数且未作任何更改的
tools/call 请求。上游在 initialize
响应中返回 Mcp-Session-Id 标头时,该值会随会话的每个后续请求发送;会话会在
进程运行期间重复使用。响应可能以普通 JSON 或服务器发送事件的形式返回;两种格式都会读取。
成功的上游结果会原样传递,包括上游设置的任何
isError 标志。
失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应或
无法完成的请求——都会作为 isError 结果返回,且文本以
imagedata error: 开头(此错误呈现方式是本次重建自行标注的内容)。
命令行
该工具也可作为子命令使用,接收一个 JSON 参数字符串:
npx @reneturcios/imagedata hasdata_google_images_images_getImageSearchResults '{"q":"golden retriever puppies","tbs":"isz:l,ic:color,itp:photo","safe":"active"}'
npx @reneturcios/imagedata --version
退出码:成功时为 0,结果为 isError 时为 1,用法错误时为 2。
MCP 服务
npx -y @reneturcios/imagedata mcp
MCP 客户端配置:
{
"mcpServers": {
"imagedata": {
"command": "npx",
"args": ["-y", "@reneturcios/imagedata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/imagedata
docker run --rm ghcr.io/cloudcorprecords/imagedata --version
容器的默认命令是 mcp,因此第一种形式会启动 stdio MCP 服务;其他参数则按常规方式传递给命令行工具。
开发
npm install
npm run build
npm test
npm run dev
测试套件完全针对桩接的 JSON-RPC 上游运行,不会进行实时网络调用。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。