Skip to main content
Glama
ashlrai
by ashlrai

webfetch

npm version CI License: MIT Discord GitHub stars

Die lizenzorientierte Bild-Ebene für KI-Agenten und Menschen.

Ein MCP-Server, ein CLI und ein HTTP-Server, die über 25 Bildanbieter föderieren, Ergebnisse nach Lizenzen priorisieren und UNKNOWN-Ergebnisse standardmäßig ablehnen. Jeder Agent, der MCP spricht (Claude Code, Cursor, Cline, Continue, Roo Code, Codex), lässt sich mit einer einzigen Konfigurationszeile anbinden. Landingpage, Preise und gehostete Nutzung finden Sie unter getwebfetch.com.

Installation

Oberfläche

Einzeiler

npm

npm i -g getwebfetch

Homebrew

brew tap ashlrai/webfetch && brew install webfetch

Docker

docker run --rm ghcr.io/ashlrai/webfetch cli help

curl

bash

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

Das curl | bash-Installationsprogramm bindet webfetch außerdem idempotent in die ~/.claude/settings.json von Claude Code ein. Führen Sie es jederzeit erneut aus, um ein Update durchzuführen.

Related MCP server: Multimodal MCP

30-Sekunden-Nutzung

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 (aus einem MCP-fähigen Agenten heraus):

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

TypeScript-Bibliothek:

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);
}

Welches Problem dies löst

Das manuelle Beschaffen eines Bildes hat vier Fehlerquellen:

  1. Sie kennen die Lizenz nicht, daher können Sie das Ergebnis nicht sicher verwenden.

  2. Sie können es nicht skripten – jede neue Website bedeutet einen weiteren Nachmittag Arbeit.

  3. Die Google Image Search API wurde eingestellt; Scraping ist fehleranfällig und rechtlich in einer Grauzone.

  4. Kein gemeinsamer Cache – Sie laden dieselbe Datei dutzende Male herunter.

webfetch behebt alle vier Probleme, indem es über APIs direkter Quellen föderiert, die stabile Bedingungen und strukturierte Lizenzmetadaten bieten, Kandidaten nach Lizenzen priorisiert und das Ergebnis als einzelnes MCP-Tool bereitstellt.

Anbieter

Anbieter

Deckt ab

Standard-Lizenz

Authentifizierung

Opt-in

wikimedia

Porträts, Events, Logos, Geschichte

CC_BY_SA (Metadaten)

nein

openverse

alle CC-lizenzierten Inhalte

CC_BY (Metadaten)

nein

unsplash

hochwertige Fotografie

UNSPLASH_LICENSE

UNSPLASH_ACCESS_KEY

nein

pexels

Stockfotografie

PEXELS_LICENSE

PEXELS_API_KEY

nein

pixabay

Stockfotos + Illustrationen

PIXABAY_LICENSE

PIXABAY_API_KEY

nein

itunes

Albumcover, Künstlerporträts

EDITORIAL_LICENSED

nein

musicbrainz-caa

kanonische Albumcover

EDITORIAL_LICENSED

nein

spotify

Künstler- + Album-Bilder

EDITORIAL_LICENSED

SPOTIFY_CLIENT_ID/SECRET

nein

youtube-thumb

Video-Thumbnails

EDITORIAL_LICENSED

ja

brave

allgemeine Websuche

UNKNOWN (+Heuristik)

BRAVE_API_KEY

nein

bing

allgemeine Websuche

UNKNOWN (+Heuristik)

BING_API_KEY

ja

serpapi

Google Bilder + Rückwärtssuche

UNKNOWN (+Heuristik)

SERPAPI_KEY

ja

browser

Headless-Fallback vs images.google.com

UNKNOWN

ja

managed-browser

Bright Data Managed Browser Fallback

UNKNOWN

BRIGHTDATA_API_TOKEN

ja

flickr

CC / Public-Domain-Fotografie

CC_BY (Metadaten)

FLICKR_API_KEY

nein

internet-archive

Public-Domain / CC Archivmedien

PUBLIC_DOMAIN

nein

smithsonian

Open Access Museum-Medien

CC0

SMITHSONIAN_API_KEY

nein

nasa

NASA-Bildmaterial

PUBLIC_DOMAIN

nein

met-museum

The Met Open Access

CC0

nein

europeana

Europäisches Kulturerbe

CC_BY (Metadaten)

EUROPEANA_API_KEY

nein

library-of-congress

US-historisches Archiv

PUBLIC_DOMAIN

nein

wellcome-collection

medizinische/historische Bilder

CC_BY (Metadaten)

nein

rawpixel

CC0 Stock-Auswahl

CC0

RAWPIXEL_API_KEY optional

nein

burst

Shopify Burst Stockfotos

CC0

nein

europeana-archival

Europeana Text-/Manuskript-Datensätze

CC_BY (Metadaten)

EUROPEANA_API_KEY

ja

Siehe docs/PROVIDERS.md für Fallstricke, Ratenbegrenzungen und docs/PROVIDER_TUNING.md für Empfehlungen je nach Anwendungsfall.

Lokale und Cloud-Modi

Das CLI ist lokal orientiert: Standardmäßig rufen webfetch search, artist, album, download, probe, license und batch webfetch-core im Prozess auf und verwenden Anbieter-API-Schlüssel aus Ihrer Umgebung. Übergeben Sie --cloud oder setzen Sie WEBFETCH_MODE=cloud, um https://api.getwebfetch.com/v1/* mit WEBFETCH_API_KEY oder webfetch config set apiKey wf_live_... aufzurufen.

Verwenden Sie den lokalen Modus, wenn Sie direkte Anbieteraufrufe und einen lokalen Cache wünschen. Verwenden Sie den Cloud-Modus, wenn Sie gehostete Authentifizierung, gepoolte Anbieterschlüssel, Managed-Browser-Fallback, Nutzungsabrechnung oder Team-Kontrollen benötigen.

Warum lizenzorientiert?

Das einzige Ergebnis, das wir standardmäßig ablehnen, ist ein Bild, das wir nicht rechtfertigen können. Ein geringfügig besseres Foto unter einer unbekannten Lizenz ist wertlos für eine Pipeline, die ohne menschliche Überprüfung auskommen muss. Relevanz-Gleichstände sind leicht aufzulösen; Herkunftsnachweise nicht.

Die Sortierung erfolgt nach: Lizenz-Tag -> Metadaten-Konfidenz -> Auflösung -> Anbieter-Priorität. UNKNOWN wird standardmäßig abgelehnt (Berner Übereinkunft: Das meiste im Web ist urheberrechtlich geschützt, sofern nicht anders bewiesen). Siehe docs/LICENSE_POLICY.md.

Migration: CC0-Stock-Anbieter

Ältere webfetch-Builds behandelten Unsplash, Pexels und Pixabay als CC0. Aktuelle Builds legen deren Plattformbedingungen explizit offen:

Alter Tag

Neuer Tag

Was zu prüfen ist

CC0 von Unsplash

UNSPLASH_LICENSE

Unsplash-Bedingungen; keine Creative Commons

CC0 von Pexels

PEXELS_LICENSE

Pexels-Bedingungen; keine Creative Commons

CC0 von Pixabay

PIXABAY_LICENSE

Pixabay-Bedingungen; keine Creative Commons

Die meisten Aufrufer sollten licensePolicy: "safe-only" beibehalten, da dies weiterhin offene, Plattform-, redaktionelle und Presse-Kategorien erlaubt, während UNKNOWN abgelehnt wird. Pipelines, die nur Creative Commons oder Public-Domain-Assets benötigen, sollten licensePolicy: "open-only" verwenden und Typ-Wächter aktualisieren, um die drei Plattform-Tags separat zu behandeln.

webfetch vs. Alternativen

Fähigkeit

webfetch

Raw Google Images

Nur Unsplash

Bing CSE

Skriptbar via API

ja

nein (eingestellt)

ja

ja

Lizenz-Metadaten pro Ergebnis

ja

nein

ja (eine Lizenz)

teilweise

Deckt redaktionelle Musik-Art ab

ja

teilweise

nein

teilweise

Deckt CC / Public-Domain ab

ja

nein

nein

nein

Sicher-standardmäßig (lehnt UNKNOWN ab)

ja

n/a

n/a

nein

Gemeinsamer inhaltsadressierter Cache

ja

nein

nein

nein

Attributionszeile vorgefertigt

ja

nein

nein

nein

Eine MCP-Konfigurationszeile für alle IDEs

ja

nein

nein

nein

Keine Kosten pro Abfrage bei Standards

ja

n/a

ja

nein

Architektur

                             +------------------+
                             |  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|
                 +-------------------------------------------+

Jede Oberfläche teilt sich ~/.webfetch/cache/, indiziert durch SHA-256, sodass ein Download aus dem CLI sofort für den MCP-Server verfügbar ist und umgekehrt.

Sicherheitsstandards

  • licensePolicy: "safe-only" — offene, Plattform-Lizenz- und redaktionelle/Presse-Kategorien sind erlaubt; UNKNOWN wird abgelehnt.

  • safeSearch: "strict".

  • Opt-in-Anbieter (youtube-thumb, bing, serpapi, browser, managed-browser, europeana-archival) standardmäßig deaktiviert.

  • 20 MB Limit pro Download, Content-Type-Wächter, Host-Blockliste.

  • robots.txt wird bei allgemeinen Seiten-Probes respektiert.

Roadmap

  • webfetch watch — Daemon-Modus für wiederholte Abfragen / inkrementelle Aktualisierung.

  • Bring-your-own-provider Plugin-API.

  • Gehostete Ebene unter getwebfetch.com — gepoolte Anbieterschlüssel, Managed-Browser-Fallback, Team-Nutzungs-Dashboard.

Mitwirken

Issues und PRs sind willkommen. Führen Sie bun install && bun test aus, um zu beginnen. Siehe docs/ für bereichsspezifische Referenzdokumentationen.

Lizenz

MIT.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for searching and retrieving photos from Unsplash with proper attribution, designed for LLMs building content pages.
    3
    16
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables semantic image search using CLIP embeddings and visual question answering through MCP tools, allowing natural language interaction with images.
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for searching and retrieving Creative-Commons-licensed images and audio from Openverse. Enables AI agents to query open media content.
    6
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for searching and attributing images from Openverse and Wikimedia Commons, enabling insertion via insertUrl and attribution formatting.
    2
    290
    MIT

View all related MCP servers

Related MCP Connectors

  • Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.

  • Licensed, rights-cleared content for AI agents - verifiable license keys + EU AI Act attestation.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ashlrai/webfetch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server