webfetch
webfetch
Уровень изображений с приоритетом лицензий для ИИ-агентов и людей.
Один MCP-сервер, один CLI и один HTTP-сервер, которые объединяют 25 провайдеров изображений, ранжируют результаты по лицензии и по умолчанию отклоняют результаты с лицензией UNKNOWN.
Любой агент, поддерживающий MCP (Claude Code, Cursor, Cline, Continue, Roo Code, Codex), подключается одной строкой конфигурации. Лендинг, цены и облачное использование доступны на getwebfetch.com.
Установка
Интерфейс | Команда | |
npm |
| |
Homebrew |
| |
Docker |
| |
curl | bash |
|
Установщик curl | bash также идемпотентно добавляет webfetch в ~/.claude/settings.json для Claude Code. Запускайте повторно в любое время для обновления.
Related MCP server: Multimodal MCP
Использование за 30 секунд
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 (изнутри любого агента, поддерживающего MCP):
search_images({ query: "drake portrait", limit: 5 })
search_artist_images({ artist: "Taylor Swift", kind: "portrait" })
download_image({ url: "..." })Библиотека TypeScript:
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);
}Какую проблему это решает
Ручной поиск изображений имеет четыре режима сбоя:
Вы не знаете лицензию, поэтому не можете безопасно использовать результат.
Это нельзя автоматизировать — каждый новый сайт требует отдельной настройки.
API поиска изображений Google закрыт; парсинг ненадежен и находится в «серой» зоне условий использования.
Нет общего кэша — вы скачиваете один и тот же файл десятки раз.
webfetch решает все четыре проблемы, объединяя API прямых источников, имеющих стабильные условия и структурированные метаданные лицензий, ранжируя кандидатов по приоритету лицензии и предоставляя результат как единый инструмент MCP.
Провайдеры
Провайдер | Что покрывает | Лицензия по умолчанию | Авторизация | Опционально |
wikimedia | портреты, события, логотипы, история | CC_BY_SA (метаданные) | — | нет |
openverse | любой контент с лицензией CC | CC_BY (метаданные) | — | нет |
unsplash | высококачественная фотография |
|
| нет |
pexels | стоковая фотография |
|
| нет |
pixabay | стоковые фото + иллюстрации |
|
| нет |
itunes | обложки альбомов, портреты артистов | EDITORIAL_LICENSED | — | нет |
musicbrainz-caa | канонические обложки альбомов | EDITORIAL_LICENSED | — | нет |
spotify | изображения артистов + альбомов | EDITORIAL_LICENSED |
| нет |
youtube-thumb | миниатюры видео | EDITORIAL_LICENSED | — | да |
brave | общий поиск изображений в сети | UNKNOWN (+эвристика) |
| нет |
bing | общий поиск изображений в сети | UNKNOWN (+эвристика) |
| да |
serpapi | Google Images + обратный поиск | UNKNOWN (+эвристика) |
| да |
browser | headless-резерв для images.google.com | UNKNOWN | — | да |
managed-browser | резерв через Bright Data | UNKNOWN |
| да |
flickr | CC / общественное достояние | CC_BY (метаданные) |
| нет |
internet-archive | общественное достояние / CC медиа | PUBLIC_DOMAIN | — | нет |
smithsonian | музейные медиа (Open Access) | CC0 |
| нет |
nasa | изображения NASA | PUBLIC_DOMAIN | — | нет |
met-museum | The Met Open Access | CC0 | — | нет |
europeana | европейское культурное наследие | CC_BY (метаданные) |
| нет |
library-of-congress | исторический архив США | PUBLIC_DOMAIN | — | нет |
wellcome-collection | медицинские/исторические изображения | CC_BY (метаданные) | — | нет |
rawpixel | стоковый контент CC0 | CC0 |
| нет |
burst | стоковые фото Shopify Burst | CC0 | — | нет |
europeana-archival | архивы текстов/рукописей Europeana | CC_BY (метаданные) |
| да |
См. docs/PROVIDERS.md для информации об ограничениях и docs/PROVIDER_TUNING.md для выбора провайдеров под конкретные задачи.
Локальный и облачный режимы
CLI ориентирован на локальное использование: по умолчанию webfetch search, artist, album, download, probe, license и batch вызывают webfetch-core внутри процесса и используют ключи API провайдеров из вашего окружения. Используйте --cloud или установите WEBFETCH_MODE=cloud для обращения к https://api.getwebfetch.com/v1/* с WEBFETCH_API_KEY или через webfetch config set apiKey wf_live_....
Используйте локальный режим, если хотите прямые вызовы провайдеров и локальный кэш. Используйте облачный режим для хостинга авторизации, пула ключей провайдеров, управляемого резервного браузера, учета использования или контроля доступа для команд.
Почему приоритет лицензий
Единственный результат, который мы отклоняем по умолчанию — это изображение, которое мы не можем обосновать. Фотография, которая чуть лучше, но с неизвестной лицензией, бесполезна для конвейера, который должен работать без участия человека. Релевантность легко оценить; происхождение — нет.
Ранжирование происходит по: тегу лицензии -> уверенности в метаданных -> разрешению -> приоритету провайдера. UNKNOWN отклоняется по умолчанию (Бернская конвенция: большая часть сети защищена авторским правом, если не доказано обратное). См. docs/LICENSE_POLICY.md.
Миграция: стоковые провайдеры CC0
Старые сборки webfetch обрабатывали Unsplash, Pexels и Pixabay как CC0. Текущие сборки явно указывают их платформенные условия:
Старый тег | Новый тег | Что проверить |
|
| Условия Unsplash; не Creative Commons |
|
| Условия Pexels; не Creative Commons |
|
| Условия Pixabay; не Creative Commons |
Большинству пользователей следует оставить licensePolicy: "safe-only", так как это позволяет использовать открытые, платформенные, редакционные категории и пресс-киты, отклоняя при этом UNKNOWN. Конвейеры, требующие только активы Creative Commons или общественного достояния, должны использовать licensePolicy: "open-only" и обновить проверки типов для обработки трех платформенных тегов отдельно.
webfetch против альтернатив
Возможность | webfetch | Обычный Google Images | Только Unsplash | Bing CSE |
Скриптуемость через API | да | нет (закрыт) | да | да |
Метаданные лицензии для результата | да | нет | да (одна лиц.) | частично |
Покрытие редакционных музыкальных артов | да | частично | нет | частично |
Покрытие CC / общественного достояния | да | нет | нет | нет |
Безопасность по умолчанию (отклоняет UNKNOWN) | да | н/д | н/д | нет |
Общий кэш по контенту | да | нет | нет | нет |
Готовая строка атрибуции | да | нет | нет | нет |
Одна строка конфигурации MCP для всех IDE | да | нет | нет | нет |
Нет стоимости за запрос по умолчанию | да | н/д | да | нет |
Архитектура
+------------------+
| 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|
+-------------------------------------------+Все интерфейсы используют общий ~/.webfetch/cache/, индексируемый по SHA-256, поэтому загрузка из CLI мгновенно доступна для MCP-сервера и наоборот.
Настройки безопасности по умолчанию
licensePolicy: "safe-only"— разрешены открытые, платформенные и редакционные/пресс категории;UNKNOWNотклоняется.safeSearch: "strict".Опциональные провайдеры (
youtube-thumb,bing,serpapi,browser,managed-browser,europeana-archival) по умолчанию выключены.Лимит 20 МБ на загрузку, проверка content-type, черный список хостов.
robots.txtучитывается при проверке страниц.
Дорожная карта
webfetch watch— демонический режим для повторяющихся запросов / инкрементального обновления.API плагинов для добавления своих провайдеров.
Облачный уровень на getwebfetch.com — пул ключей провайдеров, управляемый резервный браузер, дашборд использования для команд.
Участие в разработке
Проблемы и PR приветствуются. Запустите bun install && bun test для начала. См. docs/ для документации по конкретным областям.
Лицензия
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