mcp-image-crawler

shehdrbs123/mcp-image-crawler

3.2

If you are the rightful owner of mcp-image-crawler and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Image Crawler is a Node.js-based server that collects royalty-free images from the web using the Model Context Protocol, providing direct URLs for HTML usage.

Tools
2
Resources
0
Prompts
0

MCP Image Crawler

Node.js ๊ธฐ๋ฐ˜ MCP(Model Context Protocol) ์„œ๋ฒ„๋กœ, CC0, CC BY ๋“ฑ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๋ผ์ด์„ ์Šค์˜ ๋กœ์—ดํ‹ฐ ํ”„๋ฆฌ ์ด๋ฏธ์ง€๋ฅผ ์›น ํฌ๋กค๋ง์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  HTML์—์„œ ์ง์ ‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ URL์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒŸ ์ฃผ์š” ํŠน์ง•

  • ์œค๋ฆฌ์  ํฌ๋กค๋ง: robots.txt ์ค€์ˆ˜, ์ ์ ˆํ•œ ์š”์ฒญ ๊ฐ„๊ฒฉ ์œ ์ง€
  • ๋ผ์ด์„ ์Šค ๊ฒ€์ฆ: CC0, CC BY, Pixabay License ๋“ฑ ํ—ˆ์šฉ ๋ผ์ด์„ ์Šค๋งŒ ์ˆ˜์ง‘
  • ์ง์ ‘ ์ด๋ฏธ์ง€ URL: HTML <img> ํƒœ๊ทธ์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•ˆ์ •์ ์ธ URL ์ œ๊ณต
  • ์ž๋™ ์ถœ์ฒ˜ ํ‘œ๊ธฐ: ๋ผ์ด์„ ์Šค๋ณ„ ์ ์ ˆํ•œ attribution ์ž๋™ ์ƒ์„ฑ
  • ๋‹ค์ค‘ ์†Œ์Šค ์ง€์›: Wikimedia Commons, Pixabay, StockVault ๋“ฑ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

์„ค์น˜

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/shehdrbs123/mcp-image-crawler.git
cd mcp-image-crawler

# ์˜์กด์„ฑ ์„ค์น˜
npm install

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
cp .env.example .env
# .env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํ•„์š”ํ•œ ์„ค์ • ์กฐ์ •

# ์„œ๋ฒ„ ์‹œ์ž‘
npm start

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

1๋‹จ๊ณ„: ํ™˜๊ฒฝ ํŒŒ์ผ ์ƒ์„ฑ
cp .env.example .env
2๋‹จ๊ณ„: ์„ค์ • ๋ณ€๊ฒฝ

.env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค์Œ ์„ค์ •๋“ค์„ ์กฐ์ •ํ•˜์„ธ์š”:

๐Ÿ”ง ๊ธฐ๋ณธ ์„œ๋ฒ„ ์„ค์ •
# MCP ์„œ๋ฒ„ ๊ธฐ๋ณธ ์ •๋ณด
MCP_SERVER_NAME=mcp-image-crawler
MCP_SERVER_VERSION=1.0.0
SERVER_PORT=3000
๐Ÿ•ฐ๏ธ ํฌ๋กค๋ง ๋™์ž‘ ์„ค์ •
# ์š”์ฒญ ๊ฐ„ ๋Œ€๊ธฐ ์‹œ๊ฐ„ (๋ฐ€๋ฆฌ์ดˆ) - ์œค๋ฆฌ์  ํฌ๋กค๋ง์„ ์œ„ํ•ด ์ค‘์š”!
DEFAULT_REQUEST_DELAY=2000

# ๋™์‹œ ์‹คํ–‰ ์š”์ฒญ ์ˆ˜ - ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ฐฉ์ง€
MAX_CONCURRENT_REQUESTS=2

# ์š”์ฒญ ํƒ€์ž„์•„์›ƒ (๋ฐ€๋ฆฌ์ดˆ)
REQUEST_TIMEOUT=30000

# ์‹คํŒจ ์‹œ ์žฌ์‹œ๋„ ํšŸ์ˆ˜
MAX_RETRIES=3
๐Ÿšฆ ์†๋„ ์ œํ•œ ์„ค์ •
# ๋ถ„๋‹น ์ตœ๋Œ€ ์š”์ฒญ ์ˆ˜
RATE_LIMIT_REQUESTS_PER_MINUTE=30

# ๋ฒ„์ŠคํŠธ ์š”์ฒญ ํ—ˆ์šฉ ์ˆ˜
RATE_LIMIT_BURST=5
๐Ÿ” User Agent ์„ค์ •
# ์›น์‚ฌ์ดํŠธ์—์„œ ํฌ๋กค๋Ÿฌ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช…ํ™•ํ•œ User Agent ์„ค์ •
USER_AGENT=Mozilla/5.0 (compatible; MCPImageCrawler/1.0; +https://github.com/shehdrbs123/mcp-image-crawler)
๐Ÿ“ ๋กœ๊น… ์„ค์ •
# ๋กœ๊ทธ ๋ ˆ๋ฒจ: debug, info, warn, error
LOG_LEVEL=info

# ๋กœ๊ทธ ํฌ๋งท: json, text
LOG_FORMAT=json

# ๋กœ๊ทธ ํŒŒ์ผ ๊ฒฝ๋กœ
LOG_FILE=logs/crawler.log
๐Ÿ–ผ๏ธ ์ด๋ฏธ์ง€ ๊ฒ€์ฆ ์„ค์ •
# ์ตœ์†Œ ์ด๋ฏธ์ง€ ํ•ด์ƒ๋„
MIN_IMAGE_WIDTH=800
MIN_IMAGE_HEIGHT=600

# ์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ (MB)
MAX_IMAGE_SIZE_MB=10

# ์ง€์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ํฌ๋งท
SUPPORTED_FORMATS=jpg,jpeg,png,webp,svg
โš–๏ธ ๋ผ์ด์„ ์Šค ํ•„ํ„ฐ๋ง
# ํ—ˆ์šฉํ•  ๋ผ์ด์„ ์Šค ์œ ํ˜• (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
ALLOWED_LICENSES=CC0,CC BY,CC BY-SA,Pixabay License

# ์ถœ์ฒ˜ ํ‘œ๊ธฐ ํ•„์ˆ˜ ์—ฌ๋ถ€
REQUIRE_ATTRIBUTION=false

# ์ƒ์—…์  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€๋งŒ ์ˆ˜์ง‘
COMMERCIAL_USE_ONLY=true
๐Ÿ“š ์‚ฌ์ดํŠธ๋ณ„ URL ์„ค์ •
# Wikimedia Commons
WIKIMEDIA_BASE_URL=https://commons.wikimedia.org
WIKIMEDIA_SEARCH_URL=https://commons.wikimedia.org/w/api.php

# Pixabay
PIXABAY_BASE_URL=https://pixabay.com
PIXABAY_SEARCH_URL=https://pixabay.com/images/search

# StockVault
STOCKVAULT_BASE_URL=https://www.stockvault.net
STOCKVAULT_SEARCH_URL=https://www.stockvault.net/search
๐Ÿ”„ ์บ์‹œ ์„ค์ • (์„ ํƒ์‚ฌํ•ญ)
# ์บ์‹œ ์‚ฌ์šฉ ์—ฌ๋ถ€
ENABLE_CACHE=false

# ์บ์‹œ ์œ ์ง€ ์‹œ๊ฐ„ (์ดˆ)
CACHE_TTL=3600

# ์ตœ๋Œ€ ์บ์‹œ ํ•ญ๋ชฉ ์ˆ˜
CACHE_MAX_SIZE=1000

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์‚ฌ์šฉ ํŒ

๐ŸŽฏ ์ถ”์ฒœ ์„ค์ • (์ผ๋ฐ˜ ์‚ฌ์šฉ)
DEFAULT_REQUEST_DELAY=2000
MAX_CONCURRENT_REQUESTS=2
RATE_LIMIT_REQUESTS_PER_MINUTE=30
LOG_LEVEL=info
MIN_IMAGE_WIDTH=800
MIN_IMAGE_HEIGHT=600
COMMERCIAL_USE_ONLY=true
โšก ๋น ๋ฅธ ํ…Œ์ŠคํŠธ์šฉ ์„ค์ •
DEFAULT_REQUEST_DELAY=1000
MAX_CONCURRENT_REQUESTS=3
RATE_LIMIT_REQUESTS_PER_MINUTE=60
LOG_LEVEL=debug
๐Ÿ›ก๏ธ ๋ณด์ˆ˜์ /์•ˆ์ „ํ•œ ์„ค์ •
DEFAULT_REQUEST_DELAY=3000
MAX_CONCURRENT_REQUESTS=1
RATE_LIMIT_REQUESTS_PER_MINUTE=20
REQUEST_TIMEOUT=45000

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ:

  • DEFAULT_REQUEST_DELAY๋ฅผ ๋„ˆ๋ฌด ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ์›น์‚ฌ์ดํŠธ์—์„œ ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • MAX_CONCURRENT_REQUESTS๋ฅผ ๋†’์ด๋ฉด ๋น ๋ฅด์ง€๋งŒ ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค
  • ๋ผ์ด์„ ์Šค ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ๋ฒ•์  ์š”๊ตฌ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”

๐Ÿ”ง MCP ์„ค์ • ๋ฐ ์‚ฌ์šฉ๋ฒ•

Claude Desktop ์„ค์ •

์ด ๋„๊ตฌ๋ฅผ Claude Desktop์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด MCP ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

1๋‹จ๊ณ„: Claude Desktop MCP ์„ค์ • ํŒŒ์ผ ์ฐพ๊ธฐ

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json
2๋‹จ๊ณ„: ์„ค์ • ํŒŒ์ผ ํŽธ์ง‘

์„ค์ • ํŒŒ์ผ์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

{
  "mcpServers": {
    "image-crawler": {
      "command": "node",
      "args": ["C:/path/to/mcp-image-crawler/src/server.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

โš ๏ธ ์ค‘์š”: C:/path/to/mcp-image-crawler/src/server.js๋ฅผ ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”!

3๋‹จ๊ณ„: Claude Desktop ์žฌ์‹œ์ž‘

์„ค์ •์„ ์ €์žฅํ•œ ํ›„ Claude Desktop์„ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์„ธ์š”.

4๋‹จ๊ณ„: ์—ฐ๊ฒฐ ํ™•์ธ

Claude์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ…Œ์ŠคํŠธํ•ด๋ณด์„ธ์š”:

"์ด๋ฏธ์ง€ ํฌ๋กค๋Ÿฌ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ด์ค˜"
"๊ณ ์–‘์ด ์‚ฌ์ง„ 3๊ฐœ ์ฐพ์•„์ค˜"

์‚ฌ์šฉ ์˜ˆ์‹œ

MCP๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์„ค์ •๋˜๋ฉด Claude์—์„œ ์ž์—ฐ์–ด๋กœ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๐Ÿ” ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰
"ํ”„๋ ˆ์  ํ…Œ์ด์…˜์šฉ ๋น„์ฆˆ๋‹ˆ์Šค ์ด๋ฏธ์ง€ 5๊ฐœ ์ฐพ์•„์ค˜"
"๊ณ ํ•ด์ƒ๋„ ์ž์—ฐ ํ’๊ฒฝ ์‚ฌ์ง„์„ ๊ฒ€์ƒ‰ํ•ด์ค˜"
"CC0 ๋ผ์ด์„ ์Šค์˜ ์Œ์‹ ์‚ฌ์ง„๋“ค์„ ์ฐพ์•„์ค˜"
โœ… URL ๊ฒ€์ฆ
"์ด ์ด๋ฏธ์ง€ URL๋“ค์ด ์œ ํšจํ•œ์ง€ ํ™•์ธํ•ด์ค˜: [URL1, URL2]"
"๋ชจ๋“  ์ด๋ฏธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ๋กœ๋“œ๋˜๋Š”์ง€ ์ฒดํฌํ•ด์ค˜"
๐Ÿ“Š ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”์ถœ
"์ด ์ด๋ฏธ์ง€์˜ ๋ผ์ด์„ ์Šค ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค˜"
"ํ•ด์ƒ๋„์™€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•ด์ค˜"
"์–ดํŠธ๋ฆฌ๋ทฐ์…˜์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค˜"

๐ŸŽฏ ์ง€์› ์‚ฌ์ดํŠธ

์‚ฌ์ดํŠธ๋ผ์ด์„ ์Šค์ƒ์—…์  ์‚ฌ์šฉ์ถœ์ฒ˜ ํ‘œ๊ธฐ์ƒํƒœ
Wikimedia CommonsCC0, CC BY, CC BY-SAโœ…์„ ํƒ์ /ํ•„์ˆ˜โœ… ํ™œ์„ฑ
PixabayPixabay Licenseโœ…์„ ํƒ์ โœ… ํ™œ์„ฑ
StockVault๋‹ค์–‘ํ•œ ๋ฌด๋ฃŒ ๋ผ์ด์„ ์Šคโœ…์„ ํƒ์ โœ… ํ™œ์„ฑ

๐Ÿ›ก๏ธ ์œค๋ฆฌ์  ํฌ๋กค๋ง ์›์น™

  1. robots.txt ์ค€์ˆ˜: ๋ชจ๋“  ์‚ฌ์ดํŠธ์˜ robots.txt ์‚ฌ์ „ ํ™•์ธ
  2. ์š”์ฒญ ๊ฐ„๊ฒฉ ์œ ์ง€: ์‚ฌ์ดํŠธ๋‹น ์ตœ์†Œ 1-2์ดˆ ๊ฐ„๊ฒฉ
  3. ๋ช…ํ™•ํ•œ ์‹๋ณ„: User-Agent ํ—ค๋”์— ํ”„๋กœ์ ํŠธ ์ •๋ณด ํฌํ•จ
  4. ๋ถ€ํ•˜ ์ œํ•œ: ๋™์‹œ ์š”์ฒญ ์ˆ˜ ์ œํ•œ ๋ฐ ๋ฐฑ์˜คํ”„ ์ „๋žต
  5. ๋ผ์ด์„ ์Šค ์กด์ค‘: ํ—ˆ์šฉ๋œ ๋ผ์ด์„ ์Šค์˜ ์ด๋ฏธ์ง€๋งŒ ์ˆ˜์ง‘

๐Ÿ” ๋ฌธ์ œ ํ•ด๊ฒฐ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ด€๋ จ ๋ฌธ์ œ

Q: .env ํŒŒ์ผ์ด ๋กœ๋“œ๋˜์ง€ ์•Š์•„์š” A: ๋‹ค์Œ์„ ํ™•์ธํ•ด์ฃผ์„ธ์š”:

  1. .env ํŒŒ์ผ์ด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š”์ง€ ํ™•์ธ
  2. ํŒŒ์ผ ๊ถŒํ•œ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ
  3. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ด๋ฆ„์— ๊ณต๋ฐฑ์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธ

Q: ํฌ๋กค๋ง์ด ๋„ˆ๋ฌด ๋А๋ ค์š” A: .env์—์„œ ๋‹ค์Œ ๊ฐ’๋“ค์„ ์กฐ์ •ํ•ด๋ณด์„ธ์š”:

DEFAULT_REQUEST_DELAY=1000  # 2000์—์„œ 1000์œผ๋กœ ๊ฐ์†Œ
MAX_CONCURRENT_REQUESTS=3   # 2์—์„œ 3์œผ๋กœ ์ฆ๊ฐ€

Q: ์›น์‚ฌ์ดํŠธ์—์„œ ์ฐจ๋‹จ๋‹นํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์š” A: ๋” ๋ณด์ˆ˜์ ์ธ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

DEFAULT_REQUEST_DELAY=3000  # ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€
MAX_CONCURRENT_REQUESTS=1   # ๋™์‹œ ์š”์ฒญ ์ˆ˜ ๊ฐ์†Œ

MCP ์—ฐ๊ฒฐ ๋ฌธ์ œ

Q: Claude Desktop์—์„œ ์ด๋ฏธ์ง€ ํฌ๋กค๋Ÿฌ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ด์š” A: ๋‹ค์Œ์„ ํ™•์ธํ•ด์ฃผ์„ธ์š”:

  1. claude_desktop_config.json ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ
  2. JSON ๋ฌธ๋ฒ•์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธ (์ปด๋งˆ, ์ค‘๊ด„ํ˜ธ ๋“ฑ)
  3. args ๋ฐฐ์—ด์˜ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๊ฐ€ ์ •ํ™•ํ•œ์ง€ ํ™•์ธ
  4. Claude Desktop ์™„์ „ ์žฌ์‹œ์ž‘

Q: "MCP server failed to start" ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์š” A: ๋‹ค์Œ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:

# ์ˆ˜๋™์œผ๋กœ ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ
cd mcp-image-crawler
node src/server.js

Q: ๊ฒฝ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•˜๋‚˜์š”? A: ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:

  • Windows: "C:/Users/YourName/mcp-image-crawler/src/server.js"
  • macOS/Linux: "/Users/YourName/mcp-image-crawler/src/server.js"

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šคํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.


Made with โค๏ธ for the MCP community