webfetch
webfetch
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 |
| |
Homebrew |
| |
Docker |
| |
curl | 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-errorMCP (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:
Sie kennen die Lizenz nicht, daher können Sie das Ergebnis nicht sicher verwenden.
Sie können es nicht skripten – jede neue Website bedeutet einen weiteren Nachmittag Arbeit.
Die Google Image Search API wurde eingestellt; Scraping ist fehleranfällig und rechtlich in einer Grauzone.
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 |
|
| nein |
pexels | Stockfotografie |
|
| nein |
pixabay | Stockfotos + Illustrationen |
|
| nein |
itunes | Albumcover, Künstlerporträts | EDITORIAL_LICENSED | — | nein |
musicbrainz-caa | kanonische Albumcover | EDITORIAL_LICENSED | — | nein |
spotify | Künstler- + Album-Bilder | EDITORIAL_LICENSED |
| nein |
youtube-thumb | Video-Thumbnails | EDITORIAL_LICENSED | — | ja |
brave | allgemeine Websuche | UNKNOWN (+Heuristik) |
| nein |
bing | allgemeine Websuche | UNKNOWN (+Heuristik) |
| ja |
serpapi | Google Bilder + Rückwärtssuche | UNKNOWN (+Heuristik) |
| ja |
browser | Headless-Fallback vs images.google.com | UNKNOWN | — | ja |
managed-browser | Bright Data Managed Browser Fallback | UNKNOWN |
| ja |
flickr | CC / Public-Domain-Fotografie | CC_BY (Metadaten) |
| nein |
internet-archive | Public-Domain / CC Archivmedien | PUBLIC_DOMAIN | — | nein |
smithsonian | Open Access Museum-Medien | CC0 |
| nein |
nasa | NASA-Bildmaterial | PUBLIC_DOMAIN | — | nein |
met-museum | The Met Open Access | CC0 | — | nein |
europeana | Europäisches Kulturerbe | CC_BY (Metadaten) |
| nein |
library-of-congress | US-historisches Archiv | PUBLIC_DOMAIN | — | nein |
wellcome-collection | medizinische/historische Bilder | CC_BY (Metadaten) | — | nein |
rawpixel | CC0 Stock-Auswahl | CC0 |
| nein |
burst | Shopify Burst Stockfotos | CC0 | — | nein |
europeana-archival | Europeana Text-/Manuskript-Datensätze | CC_BY (Metadaten) |
| 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 |
|
| Unsplash-Bedingungen; keine Creative Commons |
|
| Pexels-Bedingungen; keine Creative Commons |
|
| 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;UNKNOWNwird 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.txtwird 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.
Maintenance
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
- AlicenseAqualityDmaintenanceAn MCP server for searching and retrieving photos from Unsplash with proper attribution, designed for LLMs building content pages.316MIT
- FlicenseNot gradedqualityCmaintenanceEnables semantic image search using CLIP embeddings and visual question answering through MCP tools, allowing natural language interaction with images.
- AlicenseNot gradedqualityCmaintenanceMCP server for searching and retrieving Creative-Commons-licensed images and audio from Openverse. Enables AI agents to query open media content.6MIT
- AlicenseBqualityCmaintenanceMCP server for searching and attributing images from Openverse and Wikimedia Commons, enabling insertion via insertUrl and attribution formatting.2290MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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