Screenshot Scout

공식

Screenshot Scout로 웹페이지를 이미지 또는 PDF로 캡처하세요.

Screenshot Scout MCP(으)로 무엇을 할 수 있나요?

  • 전체 페이지 또는 뷰포트 캡처capture_screenshot을 통해 모든 URL의 PNG, JPEG, WebP, GIF, TIFF 또는 PDF를 요청하고, 선택적으로 fullPage 모드를 사용할 수 있습니다.
  • 요소 및 상호작용 제어 — 특정 selector를 대상으로 지정하고, hideSelectors로 요소를 숨기며, clickSelectors로 요소를 클릭하고, 쿠키 배너, 광고 또는 채팅 위젯을 차단할 수 있습니다.
  • 기기 및 위치 시뮬레이션device, 뷰포트 크기, countrycolorScheme(다크/라이트)을 지정하여 다양한 브라우징 환경을 모방할 수 있습니다.
  • 레이아웃 옵션이 포함된 PDF 생성pdfPaperFormat, pdfLandscape, pdfPrintBackground, 사용자 지정 여백 및 pdfScale을 사용하여 인쇄 준비가 된 문서용 PDF를 만들 수 있습니다.
  • 출력 크기 조정 및 품질 튜닝imageWidth, imageHeightimageQuality(JPEG/WebP용)를 조정하여 파일 크기와 해상도를 제어할 수 있습니다.
  • 캐싱 및 결과 전달cacheTtl과 함께 cache를 활성화하고, resultMode를 선택하여 인라인 이미지 또는 임시 URL만 받을 수 있습니다.

문서

Screenshot Scout MCP Server

MCP 클라이언트에서 Screenshot Scout를 사용하여 HTTP 또는 HTTPS 웹페이지를 이미지나 PDF로 캡처하세요.

이 서버는 capture_screenshot라는 하나의 도구를 제공합니다. 전체 페이지 및 요소 캡처, 기기 및 뷰포트 제어, 위치 선택, 페이지 상호작용 및 차단 옵션, 이미지 크기 및 품질, PDF 레이아웃, 캐싱, 임시 결과 URL 및 적격 MCP 이미지 콘텐츠를 지원합니다.

필요한 것

  • Screenshot Scout 계정API 키 페이지의 액세스 키.
  • npm/stdio 설치에는 Node.js 22 이상이 필요합니다. Claude Desktop의 MCPB 런타임은 Claude에 포함되어 있습니다.
  • 선택한 API 키가 서명된 Screenshot Scout 요청을 요구하는 경우에만 선택적 비밀 키가 필요합니다.

모든 캡처는 사용자의 Screenshot Scout 계정을 사용하며 해당 플랜, 할당량 및 요청 속도 제한이 적용됩니다.

npm을 사용한 로컬 stdio

다음 로컬 stdio 구성으로 시작하세요:

{
  "mcpServers": {
    "screenshotscout": {
      "command": "npx",
      "args": ["-y", "@screenshotscout/mcp"],
      "env": {
        "SCREENSHOTSCOUT_ACCESS_KEY": "YOUR_ACCESS_KEY"
      }
    }
  }
}

액세스 키가 요청 서명을 요구하는 경우 비밀 키를 로컬에 추가하세요:

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

개인 구성 파일은 소스 제어에 포함하지 마세요. 자격 증명은 프로세스 환경 변수이지 도구 인수가 아닙니다. Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin, Cline에 대한 클라이언트별 복사-붙여넣기 구성을 참조하세요.

소스 체크아웃에서 실행

npm ci
npm run build

클라이언트를 node와 함께 dist/stdio.js의 절대 경로로 지정하고 위에 표시된 것과 동일한 환경 변수를 제공하세요.

Claude Desktop MCPB

Claude Desktop 확장 프로그램을 설치하려면:

  1. 해당 버전의 GitHub 릴리스에서 screenshotscout-mcp-<version>.mcpb을(를) 다운로드하세요.
  2. Claude Desktop에서 설정 → 확장 프로그램 → 고급 설정을 열고 **확장 프로그램 설치…**를 선택하세요.
  3. 다운로드한 파일을 선택하세요.
  4. 필요한 액세스 키를 입력하세요. 서명된 요청이 필요한 API 키에 대해서만 비밀 키를 입력하세요.

Claude Desktop은 두 필드를 모두 민감한 설정으로 취급합니다. v0.1.0 MCPB는 Windows를 지원합니다.

호스티드 Streamable HTTP

호스티드 API 키 엔드포인트는 다음 주소에서 제공됩니다:

https://mcp.screenshotscout.com/mcp/api-key

이는 정적 HTTP 헤더를 첨부할 수 있는 클라이언트만을 위한 것입니다:

Authorization: Bearer YOUR_ACCESS_KEY

엔드포인트는 액세스 키만 허용합니다. Screenshot Scout 비밀 키를 이 엔드포인트에 절대 보내지 말고, 어떤 키도 URL이나 도구 인수에 넣지 마세요. 정적 Bearer 헤더를 첨부할 수 없는 클라이언트는 이 엔드포인트를 사용할 수 없습니다.

요청 서명이 필요한 API 키는 대신 로컬 stdio 또는 MCPB를 사용하거나, 호스티드 엔드포인트용 전용 서명 없는 액세스 키를 사용해야 합니다.

Docker를 사용한 로컬 stdio

소스 체크아웃에서 프로덕션 이미지를 빌드하세요:

docker build --tag screenshotscout-mcp:local .

로컬 환경에서 자격 증명을 전달하고 MCP stdio 트래픽을 위해 stdin을 연결된 상태로 유지하세요:

docker run --rm -i --init --cap-drop=ALL --security-opt=no-new-privileges --read-only \
  -e SCREENSHOTSCOUT_ACCESS_KEY \
  -e SCREENSHOTSCOUT_SECRET_KEY \
  screenshotscout-mcp:local

SCREENSHOTSCOUT_SECRET_KEY은(는) 선택 사항으로 유지됩니다. 이미지는 권한이 없는 사용자로 실행되며 컴파일된 stdio 서버와 프로덕션 의존성만 포함합니다. 포트나 컨테이너 상태 확인을 선언하지 않습니다. MCP 클라이언트가 stdio 프로세스를 소유하고 MCP 초기화 완료로 준비 상태를 확인합니다. 이미지와 docker-mcp-catalog.yaml의 Docker MCP 카탈로그 메타데이터는 로컬 준비용이며, 이 명령어들이 공개 이미지를 의미하지는 않습니다.

도구: capture_screenshot

capture_screenshot은(는) 제공된 URL과 옵션에 대해 하나의 캡처 요청을 보냅니다. 대상 웹페이지는 외부에 있으며, 반환된 콘텐츠는 신뢰할 수 없는 것으로 취급해야 합니다.

입력

url만 필수입니다. 캡처는 기본적으로 1280×720 뷰포트를 사용합니다. 형식이 지정되지 않은 경우 도구는 품질 60의 JPEG를 반환합니다. resultMode은(는) 기본적으로 "auto"으로 설정됩니다.

그룹입력
대상 및 출력url; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
위치 및 뷰포트country (두 글자 국가 코드), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
페이지 준비blockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
타이밍waitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30초), navigationTimeout (5–90초), timeout (1–240초)
캐시cache, cacheTtl (14,400–2,592,000초)
출력 크기 조정imageWidth, imageHeight (1–8,192; 이미지 및 PDF에 사용 가능)
이미지 전용imageQuality (0–100, JPEG/WebP 전용)
PDF 전용pdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, 면별 여백 필드, pdfScale (0보다 크고 최대 3)

두 출력 치수가 모두 제공되는 경우 그 곱은 64,000,000픽셀을 초과할 수 없습니다. PDF 여백은 px, in, mm 또는 cm 단위의 음수가 아닌 값을 허용합니다. imageQuality은(는) JPEG 또는 WebP 출력이 필요하며, PDF 전용 옵션은 format: "pdf"이(가) 필요합니다.

결과

  • resultMode이(가) auto이고, MIME 유형이 적격이며, 치수가 알려져 있고 각 변이 최대 8,000픽셀이며, 원시 데이터가 최대 5MiB이고, 완전한 직렬화 결과가 현재 128,000바이트 서버 제한에 맞는 경우 PNG, JPEG, WebP 및 GIF를 MCP 이미지 콘텐츠로 포함할 수 있습니다.
  • 임베드할 자격이 없는 캡처는 성공으로 유지되며 임시 URL과 실행 가능한 생략 사유를 반환합니다.
  • TIFF는 URL 전용입니다.
  • PDF 바이트는 절대 임베드되지 않습니다. PDF 결과에는 안전한 텍스트와 구조화된 메타데이터가 포함되며, Screenshot Scout가 결과 URL을 제공하는 경우 리소스 링크도 포함됩니다.
  • resultMode: "url_only"은(는) 모든 형식에서 이미지 바이트를 생략합니다.

MCP 클라이언트는 반환된 이미지 콘텐츠나 리소스 링크가 표시되거나 모델에 제공되는지 여부를 제어합니다.

구조화된 메타데이터에는 screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncludedinlineImageOmissionReason이(가) 포함될 수 있습니다.

결과 URL을 민감한 임시 링크로 취급하고 보고된 만료 시간을 준수하세요.

예시 프롬프트

  • "https://example.com을(를) 다크 모드에서 전체 페이지 PNG로 캡처하세요. URL만 반환하세요."
  • "https://example.com/pricing의 1280×720 JPEG 스크린샷을 찍고, 쿠키 배너와 광고를 차단하고, 품질 80을 사용하세요."
  • "https://example.com/report의 A4 PDF를 배경 활성화 및 10mm 여백으로 생성하세요."

개인정보 보호 및 보안

서버는 대상 URL과 선택된 캡처 옵션을 Screenshot Scout에 보내며, Screenshot Scout가 대상 웹사이트를 로드합니다. 개인 자료나 규제 대상 자료를 캡처하기 전에 Screenshot Scout 개인정보 보호정책을 검토하세요.

  • 액세스 권한이 없는 페이지를 캡처하지 마세요.
  • 프롬프트, 도구 입력, URL, 이슈 보고서 또는 로그에 자격 증명을 붙여넣지 마세요.
  • 로컬 액세스 키와 비밀 키는 클라이언트 관리 비밀 저장소 또는 개인 환경 구성에 보관하세요.
  • 로컬 stdio 서버는 텔레메트리를 추가하지 않습니다. 호스티드 서비스의 애플리케이션 로깅은 요청 메서드, 응답 상태, 기간 및 정리된 예기치 않은 오류로 제한됩니다. 자격 증명, 대상 URL, 스크린샷 URL, 요청 또는 응답 콘텐츠, 이미지 바이트를 포함하지 않도록 설계되었습니다.
  • 도구 사용을 허용하기 전에 각 대상 및 캡처 요청을 검토하세요. 이 도구는 개방형(open-world)이며 할당량을 소비하고 외부 웹사이트와 상호작용합니다.
  • 취약점은 SECURITY.md에 설명된 대로 비공개로 보고하세요.

개발

npm ci
npm run format:check
npm run lint
npm run typecheck
npm test
npm run metadata:check
npm run registry:validate
npm run mcpb:validate
npm run mcpb:pack

라이선스

MIT © Oleksii Velykyi