webfetch

io.github.ashlrai由 GitHub 账号 ashlrai 发布v0.1.5更新于 Nov 3, 2026

License-first federated image search with attribution, dimensions, and download tooling.

概览

AI 生成的概览

面向智能体的联合图片搜索与下载服务,返回许可证标签、置信度和可直接使用的署名行。

可以做什么
  • 跨 25 个提供商搜索图片,支持许可证策略、尺寸过滤与署名信息
  • 按类型搜索艺术家图片,并查找标准专辑封面
  • 将图片下载到本地缓存,带大小上限、内容类型校验和 SHA-256 哈希
  • 解析任意网址的许可证,并列出网页上的图片及其启发式许可证
  • 以参考图进行反向图片搜索,寻找相似图片
适用场景
适合需要为网页、演示文稿或唱片内页寻找可复用图片,并需判断结果是开放许可、平台许可、仅编辑用途还是仅供探索,同时附带署名文本的场景。
运行要求
通过 npm 包 getwebfetch-mcp 以 stdio 在本地运行,需要 Node 18 或更高版本,或 Bun 1.0 或更高版本。使用 Wikimedia Commons 和 Openverse 的基础功能无需密钥。可选密钥:UNSPLASH_ACCESS_KEY、PEXELS_API_KEY、PIXABAY_API_KEY、BRAVE_API_KEY、SERPAPI_KEY(反向图片搜索必需);README 还列出 Spotify 与 Bright Data 的变量。需要网络访问。
安装前请注意
可选提供商密钥以环境变量形式传入,属于机密信息。download_image 会向本地缓存目录写入文件。probe_page 与 fetch_with_license 会抓取第三方网页和图片,反向图片搜索结果仅为线索,需自行核实。README 的一行安装脚本会下载并执行远程脚本并修改智能体设置文件,建议改为手动配置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 webfetch,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

webfetch MCP

License-first image search and download for any MCP-speaking agent.

Every result ships with a structured license tag (CC0, CC_BY, CC_BY_SA, platform-license tags, EDITORIAL_LICENSED, ...), a confidence score, and a ready-to-render attribution line. Covers 25 providers, with 19 in the default set — no API key needed for Wikimedia Commons, Openverse, iTunes, MusicBrainz CAA, NASA, The Met, Library of Congress, Internet Archive, Wellcome Collection, and Burst.


Why webfetch MCP?

Most image-search tools give you URLs. webfetch gives you URLs plus the legal metadata needed to classify them as open/commercial reusable, platform-license, editorial-only, or exploration-only. The MCP layer exposes seven composable tools — search, specialize by artist/album, download with a hash, resolve an arbitrary URL's license, reverse-image-search, and triage a source page — so an agent can go from prompt to attributed asset in a single conversation turn.

  • 25 providers, 19 in the default set and many requiring no key at all
  • License-first ranking: CC0 floats to the top; heuristic-only results stay below 0.5 confidence
  • Attribution always included: one attributionLine string, ready for a tooltip or credits footer
  • Free tier needs no API key for Wikimedia and Openverse; full provider coverage adds optional keys per provider

Install

One-line (recommended)

bash
curl -fsSL https://raw.githubusercontent.com/ashlrai/webfetch/main/install/install.sh | bash

Installs bun if missing, builds the server, symlinks webfetch onto $PATH, and merges the MCP block into ~/.claude/settings.json.

Claude Desktop / Claude Code

Add to ~/.claude/settings.json:

json
{  "mcpServers": {    "webfetch": {      "command": "bun",      "args": ["run", "/path/to/webfetch/packages/mcp/src/index.ts"]    }  }}

Cursor

Add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "webfetch": {      "command": "bun",      "args": ["run", "/path/to/webfetch/packages/mcp/src/index.ts"]    }  }}

Cline

Paste into Cline's MCP settings JSON (VSCode sidebar → Cline → MCP Servers):

json
{  "mcpServers": {    "webfetch": {      "command": "bun",      "args": ["run", "/path/to/webfetch/packages/mcp/src/index.ts"],      "disabled": false,      "autoApprove": ["search_images", "search_artist_images", "search_album_cover", "probe_page"]    }  }}

Replace /path/to/webfetch with your clone path (default after installer: ~/.webfetch/repo).


Tools

ToolDescriptionKey params
search_imagesFederated search across 25 providers. Returns the top candidates with license + attribution. Does not download. For large batches, use CLI handoff: webfetch batch --jsonl.query, providers[], licensePolicy, minWidth, minHeight
search_artist_imagesSpecialized artist image search with kind-aware provider routing: portrait, album, logo, performing.artist, kind, providers[]
search_album_coverCanonical album artwork via MusicBrainz CAA + iTunes + Spotify. Results are EDITORIAL_LICENSED.artist, album
download_imageDownload a URL to local disk cache. 20 MB cap, content-type guard, SHA-256 hash, host blocklist enforced.url, maxBytes, cacheDir
fetch_with_licenseResolve license for any URL via host heuristics + page metadata (<link rel=license>, dc.rights, OG tags).url, probe (also download bytes)
find_similarReverse-image-search a reference URL. Requires SERPAPI_KEY. Returns leads — verify before shipping.url, providers[]
probe_pageEnumerate every <img> on a webpage with inferred dimensions and per-image heuristic license. Respects robots.txt.url, respectRobots

License tags

Results carry one of: CC0 · PUBLIC_DOMAIN · CC_BY · CC_BY_SA · UNSPLASH_LICENSE · PEXELS_LICENSE · PIXABAY_LICENSE · EDITORIAL_LICENSED · PRESS_KIT_ALLOWLIST · UNKNOWN (rejected by default). Use open-only when platform/editorial licenses are not acceptable.

Migration note: Unsplash, Pexels, and Pixabay are no longer reported as CC0. Agents should treat UNSPLASH_LICENSE, PEXELS_LICENSE, and PIXABAY_LICENSE as platform-license results, not Creative Commons/public domain results.

Batch handoff

MCP tools are meant for interactive agent calls. For hundreds or thousands of queries, have the agent hand off to the CLI:

bash
webfetch batch --file queries.txt --jsonl --continue-on-error --candidates 3

Input lines are query or query<TAB>provider-a,provider-b. Each output line contains index, query, status, candidateCount, candidates, top, downloads, and provider diagnostics.


Auth / env vars

ProviderEnv varFree tier?
Wikimedia Commons—Yes (no key)
Openverse—Yes (no key)
UnsplashUNSPLASH_ACCESS_KEYDemo key rate-limited
PexelsPEXELS_API_KEYFree tier available
PixabayPIXABAY_API_KEYFree tier available
SpotifySPOTIFY_CLIENT_ID + SPOTIFY_CLIENT_SECRETDev app required
Brave SearchBRAVE_API_KEYFree tier available
SerpApiSERPAPI_KEYRequired for find_similar
Bright Data managed browserBRIGHTDATA_API_TOKENOptional server/cloud fallback

MusicBrainz CAA and iTunes require no key. Missing keys cause the provider to skip gracefully — other providers still respond.


Demo prompts

Try these in Claude Code or Cursor after installing:

Find me a CC-licensed portrait of Miles Davis I can use on an album liner page.
Search for album artwork for "Kind of Blue" by Miles Davis and show me the attribution line.
Probe the page at https://commons.wikimedia.org/wiki/File:Miles_Davis.jpg and tell me if I can use it commercially.

Requirements

  • Node ≥ 18 or Bun ≥ 1.0
  • No API key required for basic use (Wikimedia + Openverse cover most editorial needs)

Links

来源:packages/mcp/README.md,提交 656d37f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.5最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分