Skip to main content
Glama
ashlrai
by ashlrai

webfetch

npm version CI License: MIT Discord GitHub stars

Уровень изображений с приоритетом лицензий для ИИ-агентов и людей.

Один MCP-сервер, один CLI и один HTTP-сервер, которые объединяют 25 провайдеров изображений, ранжируют результаты по лицензии и по умолчанию отклоняют результаты с лицензией UNKNOWN. Любой агент, поддерживающий MCP (Claude Code, Cursor, Cline, Continue, Roo Code, Codex), подключается одной строкой конфигурации. Лендинг, цены и облачное использование доступны на getwebfetch.com.

Установка

Интерфейс

Команда

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

Установщик 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-error

MCP (изнутри любого агента, поддерживающего 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);
}

Какую проблему это решает

Ручной поиск изображений имеет четыре режима сбоя:

  1. Вы не знаете лицензию, поэтому не можете безопасно использовать результат.

  2. Это нельзя автоматизировать — каждый новый сайт требует отдельной настройки.

  3. API поиска изображений Google закрыт; парсинг ненадежен и находится в «серой» зоне условий использования.

  4. Нет общего кэша — вы скачиваете один и тот же файл десятки раз.

webfetch решает все четыре проблемы, объединяя API прямых источников, имеющих стабильные условия и структурированные метаданные лицензий, ранжируя кандидатов по приоритету лицензии и предоставляя результат как единый инструмент MCP.

Провайдеры

Провайдер

Что покрывает

Лицензия по умолчанию

Авторизация

Опционально

wikimedia

портреты, события, логотипы, история

CC_BY_SA (метаданные)

нет

openverse

любой контент с лицензией CC

CC_BY (метаданные)

нет

unsplash

высококачественная фотография

UNSPLASH_LICENSE

UNSPLASH_ACCESS_KEY

нет

pexels

стоковая фотография

PEXELS_LICENSE

PEXELS_API_KEY

нет

pixabay

стоковые фото + иллюстрации

PIXABAY_LICENSE

PIXABAY_API_KEY

нет

itunes

обложки альбомов, портреты артистов

EDITORIAL_LICENSED

нет

musicbrainz-caa

канонические обложки альбомов

EDITORIAL_LICENSED

нет

spotify

изображения артистов + альбомов

EDITORIAL_LICENSED

SPOTIFY_CLIENT_ID/SECRET

нет

youtube-thumb

миниатюры видео

EDITORIAL_LICENSED

да

brave

общий поиск изображений в сети

UNKNOWN (+эвристика)

BRAVE_API_KEY

нет

bing

общий поиск изображений в сети

UNKNOWN (+эвристика)

BING_API_KEY

да

serpapi

Google Images + обратный поиск

UNKNOWN (+эвристика)

SERPAPI_KEY

да

browser

headless-резерв для images.google.com

UNKNOWN

да

managed-browser

резерв через Bright Data

UNKNOWN

BRIGHTDATA_API_TOKEN

да

flickr

CC / общественное достояние

CC_BY (метаданные)

FLICKR_API_KEY

нет

internet-archive

общественное достояние / CC медиа

PUBLIC_DOMAIN

нет

smithsonian

музейные медиа (Open Access)

CC0

SMITHSONIAN_API_KEY

нет

nasa

изображения NASA

PUBLIC_DOMAIN

нет

met-museum

The Met Open Access

CC0

нет

europeana

европейское культурное наследие

CC_BY (метаданные)

EUROPEANA_API_KEY

нет

library-of-congress

исторический архив США

PUBLIC_DOMAIN

нет

wellcome-collection

медицинские/исторические изображения

CC_BY (метаданные)

нет

rawpixel

стоковый контент CC0

CC0

RAWPIXEL_API_KEY опц.

нет

burst

стоковые фото Shopify Burst

CC0

нет

europeana-archival

архивы текстов/рукописей Europeana

CC_BY (метаданные)

EUROPEANA_API_KEY

да

См. 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. Текущие сборки явно указывают их платформенные условия:

Старый тег

Новый тег

Что проверить

CC0 от Unsplash

UNSPLASH_LICENSE

Условия Unsplash; не Creative Commons

CC0 от Pexels

PEXELS_LICENSE

Условия Pexels; не Creative Commons

CC0 от Pixabay

PIXABAY_LICENSE

Условия 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.

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