webfetch
webfetch
AI 에이전트와 인간을 위한 라이선스 우선 이미지 레이어.
25개의 이미지 제공업체를 연합하고, 라이선스를 우선순위로 결과를 순위 지정하며, 기본적으로 UNKNOWN 결과를 거부하는 하나의 MCP 서버, CLI 및 HTTP 서버입니다. MCP를 지원하는 모든 에이전트(Claude Code, Cursor, Cline, Continue, Roo Code, Codex)는 단 한 줄의 설정으로 연결할 수 있습니다. 랜딩 페이지, 가격 정책 및 호스팅 사용 정보는 **getwebfetch.com**에서 확인하세요.
설치
인터페이스 | 한 줄 명령어 | |
npm |
| |
Homebrew |
| |
Docker |
| |
curl | bash |
|
curl | bash 설치 프로그램은 Claude Code의 ~/.claude/settings.json에 webfetch를 자동으로 설정합니다. 업데이트하려면 언제든지 다시 실행하세요.
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);
}해결하는 문제
수동으로 이미지를 소싱할 때 발생하는 4가지 실패 모드:
라이선스를 알 수 없어 결과를 안전하게 배포할 수 없습니다.
스크립트화할 수 없습니다 — 새로운 사이트마다 매번 작업이 필요합니다.
Google 이미지 검색 API가 중단되었습니다; 스크래핑은 불안정하며 서비스 약관 위반 소지가 있습니다.
공유 캐시가 없습니다 — 동일한 파일을 수십 번 다시 다운로드하게 됩니다.
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 이미지 + 역방향 검색 | UNKNOWN (+휴리스틱) |
| 예 |
browser | 헤드리스 폴백 vs images.google.com | UNKNOWN | — | 예 |
managed-browser | Bright Data 관리형 브라우저 폴백 | UNKNOWN |
| 예 |
flickr | CC / 퍼블릭 도메인 사진 | CC_BY (메타데이터) |
| 아니요 |
internet-archive | 퍼블릭 도메인 / CC 아카이브 미디어 | PUBLIC_DOMAIN | — | 아니요 |
smithsonian | 오픈 액세스 박물관 미디어 | CC0 |
| 아니요 |
nasa | NASA 이미지 | PUBLIC_DOMAIN | — | 아니요 |
met-museum | 메트로폴리탄 미술관 오픈 액세스 | 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를 설정하면 WEBFETCH_API_KEY 또는 webfetch config set apiKey wf_live_...를 사용하여 https://api.getwebfetch.com/v1/*를 호출합니다.
직접 제공업체 호출과 로컬 캐시를 원할 때는 로컬 모드를 사용하세요. 호스팅된 인증, 통합 제공업체 키, 관리형 브라우저 폴백, 사용량 집계 또는 팀 제어가 필요할 때는 클라우드 모드를 사용하세요.
라이선스 우선인 이유
기본적으로 거부하는 유일한 결과는 정당성을 입증할 수 없는 이미지입니다. 라이선스를 알 수 없는 약간 더 나은 사진은 인간의 검토 없이 배포해야 하는 파이프라인에는 가치가 없습니다. 관련성은 쉽게 판단할 수 있지만, 출처는 그렇지 않습니다.
순위 지정 기준: 라이선스 태그 -> 메타데이터 신뢰도 -> 해상도 -> 제공업체 우선순위. UNKNOWN은 기본적으로 거부됩니다(베른 협약: 별도의 증명이 없는 한 웹상의 대부분은 모든 권리가 예약되어 있음). docs/LICENSE_POLICY.md를 참조하세요.
마이그레이션: CC0 스톡 제공업체
이전 webfetch 빌드는 Unsplash, Pexels, Pixabay를 CC0로 취급했습니다. 현재 빌드는 해당 플랫폼의 약관을 명시적으로 노출합니다:
이전 태그 | 새 태그 | 확인 사항 |
Unsplash의 |
| Unsplash 약관; Creative Commons 아님 |
Pexels의 |
| Pexels 약관; Creative Commons 아님 |
Pixabay의 |
| Pixabay 약관; Creative Commons 아님 |
대부분의 호출자는 UNKNOWN을 거부하면서도 오픈, 플랫폼, 편집 및 보도 자료 카테고리는 허용하는 licensePolicy: "safe-only"를 유지해야 합니다. Creative Commons 또는 퍼블릭 도메인 자산만 필요한 파이프라인은 licensePolicy: "open-only"를 사용하고 세 가지 플랫폼 태그를 별도로 처리하도록 타입 가드를 업데이트해야 합니다.
webfetch vs 대안
기능 | webfetch | Raw Google Images | Unsplash 전용 | Bing CSE |
API를 통한 스크립트 가능 | 예 | 아니요 (중단) | 예 | 예 |
결과별 라이선스 메타데이터 | 예 | 아니요 | 예 (단일 라이선스) | 부분적 |
편집용 음악 아트 커버 | 예 | 부분적 | 아니요 | 부분적 |
CC / 퍼블릭 도메인 커버 | 예 | 아니요 | 아니요 | 아니요 |
기본적으로 안전 (UNKNOWN 거부) | 예 | 해당 없음 | 해당 없음 | 아니요 |
공유 콘텐츠 주소 지정 캐시 | 예 | 아니요 | 아니요 | 아니요 |
저작자 표시 라인 사전 구축 | 예 | 아니요 | 아니요 | 아니요 |
모든 IDE에서 단일 MCP 설정 라인 | 예 | 아니요 | 아니요 | 아니요 |
기본값에 대한 쿼리당 비용 없음 | 예 | 해당 없음 | 예 | 아니요 |
아키텍처
+------------------+
| 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|
+-------------------------------------------+모든 인터페이스는 SHA-256으로 키가 지정된 ~/.webfetch/cache/를 공유하므로, CLI에서 다운로드한 항목은 즉시 MCP 서버에서 사용할 수 있으며 그 반대도 마찬가지입니다.
안전 기본값
licensePolicy: "safe-only"— 오픈, 플랫폼 라이선스, 편집/보도 카테고리는 허용되며UNKNOWN은 거부됩니다.safeSearch: "strict".옵트인 제공업체(
youtube-thumb,bing,serpapi,browser,managed-browser,europeana-archival)는 기본적으로 꺼져 있습니다.다운로드당 20MB 제한, 콘텐츠 유형 가드, 호스트 차단 목록.
일반 페이지 조사 시
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