CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

webfetch

ashlrai/webfetch
2authSTDIOregistry active
Summary

Federates image search across 25 providers including Wikimedia, Unsplash, Pexels, Spotify, and institutional archives like the Smithsonian and Library of Congress. Exposes three MCP tools: search_images for general queries, search_artist_images for music-focused lookups with kind filtering, and download_image with local caching and SHA-256 verification. Results rank by license quality first, rejecting UNKNOWN licenses by default unless you explicitly opt in providers like Bing or headless browser fallbacks. Each result includes attribution lines, dimensions, and structured license metadata. Reach for this when you need programmatic image sourcing that won't create compliance headaches, especially for content involving public figures, album art, or historical material where editorial and Creative Commons licensing matters.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

webfetch

npm version CI License: MIT webfetch MCP server Discord GitHub stars

The license-first image layer for AI agents and humans.

One MCP server, one CLI, and one HTTP server that federate across 25 image providers, rank results license-first, and reject UNKNOWN results by default. Any agent that speaks MCP (Claude Code, Cursor, Cline, Continue, Roo Code, Codex) wires up from one config line. Landing page, pricing, and hosted usage live at getwebfetch.com.

Install

SurfaceOne-liner
npmnpm i -g getwebfetch
Homebrewbrew tap ashlrai/webfetch && brew install webfetch
Dockerdocker run --rm ghcr.io/ashlrai/webfetch cli help
curl | bashcurl -fsSL https://raw.githubusercontent.com/ashlrai/webfetch/main/install/install.sh | bash

The curl | bash installer also wires webfetch into Claude Code's ~/.claude/settings.json idempotently. Re-run any time to update.

Surfaces

SurfaceBest forEntry point
CLIscripts, shell work, agent handoffwebfetch search ...
MCP serverClaude Code, Cursor, Cline, Continue, Roo Code, Codexnpx -y getwebfetch-mcp
HTTP serverlocal integrations and extensionsnpx -y webfetch-server
Core libraryTypeScript apps and custom toolingnpm i webfetch-core
Browser layerfallback extraction and managed-browser flowsnpm i webfetch-browser
Hosted cloudpooled keys, usage tracking, team controlsapp.getwebfetch.com

Package-level API notes live in packages/core/README.md, packages/browser/README.md, and the other package READMEs under packages/.

30-second usage

CLI:

webfetch search "drake portrait" --limit 5
webfetch artist "Taylor Swift" --kind portrait --min-width 1200
webfetch download <url> --out ./portrait.jpg
printf "drake portrait\nradiohead album\n" | webfetch batch --jsonl --continue-on-error

MCP (from inside any MCP-speaking agent):

search_images({ query: "drake portrait", limit: 5 })
search_artist_images({ artist: "Taylor Swift", kind: "portrait" })
download_image({ url: "..." })

TypeScript library:

import { searchArtistImages, pickBest, downloadImage } from "webfetch-core";

const { candidates } = await searchArtistImages("Drake", "portrait");
const best = pickBest(candidates, { minWidth: 1200 });
if (best) {
  const { cachedPath, sha256 } = await downloadImage(best.url);
  console.log(best.attributionLine, "->", cachedPath);
}

What problem this solves

Manually sourcing an image has four failure modes:

  1. You don't know the license, so you can't safely ship the result.
  2. You can't script it — every new site means another afternoon.
  3. Google's Image Search API is retired; scraping is brittle and ToS-grey.
  4. No shared cache — you re-download the same file dozens of times.

webfetch fixes all four by federating across direct-source APIs that have stable terms and structured license metadata, ranking candidates license-first, and exposing the result as a single MCP tool.

Providers

ProviderCoversLicense defaultAuthOpt-in
wikimediaportraits, events, logos, historyCC_BY_SA (metadata)—no
openverseany CC-licensed contentCC_BY (metadata)—no
unsplashhigh-quality photographyUNSPLASH_LICENSEUNSPLASH_ACCESS_KEYno
pexelsstock photographyPEXELS_LICENSEPEXELS_API_KEYno
pixabaystock photos + illustrationsPIXABAY_LICENSEPIXABAY_API_KEYno
itunesalbum covers, artist portraitsEDITORIAL_LICENSED—no
musicbrainz-caacanonical album artEDITORIAL_LICENSED—no
spotifyartist + album imagesEDITORIAL_LICENSEDSPOTIFY_CLIENT_ID/SECRETno
youtube-thumbvideo thumbnailsEDITORIAL_LICENSED—yes
bravegeneral web image searchUNKNOWN (+heuristic)BRAVE_API_KEYno
binggeneral web image searchUNKNOWN (+heuristic)BING_API_KEYyes
serpapiGoogle Images + reverse lookupUNKNOWN (+heuristic)SERPAPI_KEYyes
browserheadless fallback vs images.google.comUNKNOWN—yes
managed-browserBright Data managed browser fallbackUNKNOWNBRIGHTDATA_API_TOKENyes
flickrCC / public-domain photographyCC_BY (metadata)FLICKR_API_KEYno
internet-archivepublic-domain / CC archive mediaPUBLIC_DOMAIN—no
smithsonianOpen Access museum mediaCC0SMITHSONIAN_API_KEYno
nasaNASA imageryPUBLIC_DOMAIN—no
met-museumThe Met Open AccessCC0—no
europeanaEuropean cultural heritageCC_BY (metadata)EUROPEANA_API_KEYno
library-of-congressUS historical archivePUBLIC_DOMAIN—no
wellcome-collectionmedical/historical imageryCC_BY (metadata)—no
rawpixelCC0 stock sliceCC0RAWPIXEL_API_KEY optionalno
burstShopify Burst stock photosCC0—no
europeana-archivalEuropeana text/manuscript recordsCC_BY (metadata)EUROPEANA_API_KEYyes

See docs/PROVIDERS.md for gotchas, rate limits, and docs/PROVIDER_TUNING.md for per-use-case picks.

Local and cloud modes

The CLI is local-first: by default webfetch search, artist, album, download, probe, license, and batch call webfetch-core in-process and use provider API keys from your environment. Pass --cloud or set WEBFETCH_MODE=cloud to call https://api.getwebfetch.com/v1/* with WEBFETCH_API_KEY or webfetch config set apiKey wf_live_....

Use local mode when you want direct provider calls and a local cache. Use cloud mode when you want hosted auth, pooled provider keys, managed browser fallback, usage accounting, or team controls.

Why license-first

The only outcome we reject by default is an image we can't justify. A marginally-better photo under an unknown license is worthless to a pipeline that needs to ship without human review. Relevance ties are easy to break; provenance is not.

The ranker sorts by: license tag -> metadata confidence -> resolution -> provider priority. UNKNOWN is rejected by default (Berne Convention: most of the web is all-rights-reserved unless proven otherwise). See docs/LICENSE_POLICY.md.

Migration: CC0 stock providers

Older webfetch builds treated Unsplash, Pexels, and Pixabay as CC0. Current builds expose their platform terms explicitly:

Old tagNew tagWhat to check
CC0 from UnsplashUNSPLASH_LICENSEUnsplash terms; not Creative Commons
CC0 from PexelsPEXELS_LICENSEPexels terms; not Creative Commons
CC0 from PixabayPIXABAY_LICENSEPixabay terms; not Creative Commons

Most callers should keep licensePolicy: "safe-only" because it still allows open, platform, editorial, and press-kit categories while rejecting UNKNOWN. Pipelines that require only Creative Commons or public-domain assets should use licensePolicy: "open-only" and update type guards to handle the three platform tags separately.

webfetch vs alternatives

CapabilitywebfetchRaw Google ImagesUnsplash-onlyBing CSE
Scriptable via APIyesno (retired)yesyes
License metadata per resultyesnoyes (one lic)partial
Covers editorial music artyespartialnopartial
Covers CC / public-domainyesnonono
Safe-by-default (rejects UNKNOWN)yesn/an/ano
Shared content-addressed cacheyesnonono
Attribution line pre-builtyesnonono
One MCP config line across all IDEsyesnonono
No per-query cost on defaultsyesn/ayesno

Architecture

                             +------------------+
                             |  webfetch-core  |
                             |  (ranker, cache, |
                             |   license coerce)|
                             +---------+--------+
                                       |
          +----------------+-----------+-----------+----------------+
          |                |                       |                |
  +-------v------+  +------v-------+       +-------v------+  +------v-------+
  | webfetch     |  | webfetch-mcp |       | webfetch-    |  | browser      |
  | CLI          |  | (stdio)      |       | server (HTTP)|  | extensions   |
  +-------+------+  +------+-------+       +-------+------+  +------+-------+
          |                |                       |                |
          |                |                       |                |
          +----------------+-----------+-----------+----------------+
                                       |
                 +---------------------v---------------------+
                 |              provider adapters            |
                 |  wikimedia  openverse  unsplash  pexels    |
                 |  pixabay    itunes     mb-caa    spotify   |
                 |  youtube    brave      bing      serpapi   |
                 |  flickr     nasa       met       europeana |
                 |  loc        wellcome   rawpixel  burst     |
                 |  browser + managed-browser + archival opt-in|
                 +-------------------------------------------+

Every surface shares ~/.webfetch/cache/ keyed by SHA-256, so a download from the CLI is instantly available to the MCP server and vice versa.

Safety defaults

  • licensePolicy: "safe-only" — open, platform-license, and editorial/press categories are allowed; UNKNOWN is rejected.
  • safeSearch: "strict".
  • Opt-in providers (youtube-thumb, bing, serpapi, browser, managed-browser, europeana-archival) off by default.
  • 20 MB per-download cap, content-type guard, host blocklist.
  • robots.txt respected on generic page probes.

Roadmap

  • webfetch watch — daemon mode for repeated queries / incremental refresh.
  • Bring-your-own-provider plugin API.
  • Hosted tier at getwebfetch.com — pooled provider keys, managed browser fallback, team usage dashboard.

Contributing

Issues and PRs welcome. Run bun install && bun test to get started. See docs/ for per-area reference docs.

License

MIT.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

UNSPLASH_ACCESS_KEYsecret

Optional Unsplash API key for Unsplash provider results.

PEXELS_API_KEYsecret

Optional Pexels API key for Pexels provider results.

PIXABAY_API_KEYsecret

Optional Pixabay API key for Pixabay provider results.

BRAVE_API_KEYsecret

Optional Brave Search API key for Brave image search results.

SERPAPI_KEYsecret

Optional SerpApi key for Google Images results.

Categories
Search & Web Crawling
Registryactive
Packagegetwebfetch-mcp
TransportSTDIO
AuthRequired
UpdatedMay 9, 2026
View on GitHub

Related Search & Web Crawling MCP Servers

View all →
Google Search

com.mcparmory/google-search

Scrape Google search results with SERP data, ads, and knowledge panels
25
Brave Search

io.github.pipeworx-io/brave-search

Brave Search MCP — independent web index (no Google/Bing dependency)
Serper Search and Scrape

marcopesani/mcp-server-serper

Serper MCP Server supporting search and webpage scraping
154
Brave Search Mcp Server

brave/brave-search-mcp-server

Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
1.2k
Google Search Console

com.mcparmory/google-search-console

Query search analytics, manage sitemaps, and inspect site URLs and status
25
Google Search Console

acamolese/google-search-console-mcp

Google Search Console MCP server: SEO audits, performance queries, URL inspection, indexing checks.
3