Skip to main content
Glama

Site-Shot MCP 서버

Claude, Cursor 및 기타 AI 에이전트에게 모든 웹 페이지를 볼 수 있는 기능을 제공하세요 — Model Context Protocol을 통해 Site-Shot으로 웹사이트 스크린샷을 찍으세요.

실제 Chromium 렌더링 · 전체 페이지 캡처 · 국가별 프록시 · 자동 광고 및 쿠키 배너 제거(더 깨끗한 이미지, 더 적은 비전 토큰).

빠른 시작 (Claude Desktop)

  1. https://www.site-shot.com/start/에서 Site-Shot API 키를 받으세요.

  2. Claude Desktop 설정(claude_desktop_config.json)에 다음을 추가하세요:

{
  "mcpServers": {
    "site-shot": {
      "command": "npx",
      "args": ["-y", "site-shot-mcp"],
      "env": { "SITESHOT_API_KEY": "YOUR_API_KEY" }
    }
  }
}
  1. Claude Desktop을 다시 시작하세요. *"https://news.ycombinator.com의 전체 페이지 스크린샷을 찍어줘"*라고 요청하면 서버를 호출하고 이미지를 보여줍니다.

모든 MCP 클라이언트(Cursor, Cline, VS Code, LangChain, CrewAI)에서 동일하게 작동합니다 — 환경에 SITESHOT_API_KEY를 설정하고 클라이언트를 npx -y site-shot-mcp로 지정하세요.

Related MCP server: Webpage Screenshot MCP Server

도구

capture_screenshot

웹 페이지를 스크린샷합니다(기본적으로 뷰포트).

매개변수

유형

기본값

설명

url

string(필수)

—

캡처할 페이지

full_page

boolean

false

스크롤 가능한 전체 페이지 캡처

width / height

number

API 기본값

뷰포트 / 기기 크기

format

"png" | "jpeg"

png

이미지 형식

block_ads

boolean

true

광고 제거

block_cookie_banners

boolean

true

쿠키 동의 팝업 제거

country

string

—

두 글자 ISO 3166-1 alpha-2 코드로 된 프록시 국가, 예: "DE"(자동 IP/언어/시간대/지리적 위치)

strict_country

boolean

true

국가에 프록시가 없으면 미국으로 대체하지 않고 오류 반환

language / time_zone / geolocation

string

—

수동 재정의

wait_ms

number

API 기본값

캡처 전 추가 대기(SPA/애니메이션)

max_height

number

20000(전체 페이지)

캡처 높이 상한

스크린샷을 MCP 이미지로 반환합니다.

"API 기본값"은 이 패키지가 명시할 수 있는 숫자가 아닙니다. width, height, wait_ms는 직접 전달할 때만 전달되므로, 전달하지 않을 때 적용되는 값은 Site-Shot API가 결정하며 이 패키지의 릴리스 없이 변경될 수 있습니다. 1.1.0까지의 버전은 API가 사용하지 않는 width / height의 픽셀 크기를 명시했습니다. 이를 생략하고 "기본값"을 사용한 에이전트는 다른 뷰포트를 받았고, 반환된 이미지에는 이를 드러낼 정보가 없었습니다. 크기가 중요한 경우에는 항상 명시적인 값을 전달하세요.

국가 코드는 ISO 코드이며 이름이 아닙니다. "DE"를 전달하세요. "Germany"가 아니라. API는 코드를 정확히 일치시키며, 그렇지 않으면 알려주지 않고 미국 프록시를 통해 렌더링할 것이므로 서버는 렌더링을 소모하기 전에 전체 이름을 거부합니다. strict_country(기본적으로 켜짐)도 마찬가지로 사용할 수 없는 국가를 조용한 미국 스크린샷 대신 오류로 처리합니다. false를 전달하면 대체 동작을 다시 선택할 수 있습니다. 지원 국가 →

capture_full_page

전체 페이지 캡처가 활성화된 capture_screenshot과 동일합니다.

에이전트 자체 브라우저 대신 이 서버를 호출해야 하는 이유는 무엇인가요?

에이전트가 브라우저를 직접 제어한다면 페이지를 직접 스크린샷할 수 있습니다. 로그인이 필요하거나 특정 흐름을 거쳐야 하는 페이지라면 그것이 올바른 도구입니다. 공개 URL의 경우 캡처를 이 서버에 위임하는 것이 일반적으로 더 나은 설계입니다. 모든 캡처가 동일한 파이프라인을 실행하고(실행 간 재계획 불필요), 일치하는 로캘과 시간대를 가진 특정 국가에서 캡처할 수 있으며(country + strict_country), 반환되기 전에 단계적으로 강화되는 재시도 계층을 갖춘 이미지 분류기로 평가되고, 매번 확인할 때 브라우저 세션과 비전 토큰을 소모하는 대신 1센트의 일부만 비용이 듭니다. 양방향을 정직하게 논한 전체 비교: AI 에이전트 vs. 스크린샷 API — 누가 페이지를 캡처해야 하는가.

구성

환경 변수

필수

설명

SITESHOT_API_KEY

예

본인의 Site-Shot API 키(userkey로 사용됨).

이 서버는 기존 Site-Shot HTTP API(https://api.site-shot.com/)를 얇게 감싼 래퍼입니다. 별도의 백엔드가 없습니다.

로컬 개발

npm install
npm run check   # syntax check
npm run smoke   # offline tests (stubbed fetch, no API key needed)
SITESHOT_API_KEY=yourkey npm start   # run the server on stdio

요구 사항

Node.js ≥ 18(내장 fetch 사용).

라이선스

MIT

Available Tools

2 tools
capture_full_pageCapture full-page website screenshotA

Take a full-page (entire scrollable height) screenshot of a web page with Site-Shot and return it as an image. Convenience wrapper around capture_screenshot with full-page capture enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the web page to capture. A bare domain like example.com is accepted (https:// is assumed).
widthNoViewport width in pixels (default 1280).
heightNoViewport height in pixels (default 1024).
formatNoImage format. Default: png.
block_adsNoRemove ads for a cleaner screenshot. Default: true.
block_cookie_bannersNoRemove cookie-consent banners/popups. Default: true.
countryNoRender through a proxy in this country, e.g. "Germany" (auto-sets IP, language, time zone, geolocation).
languageNoOverride browser language, e.g. "de".
time_zoneNoOverride time zone, e.g. "Europe/Berlin".
geolocationNoOverride geolocation as "lat,lng".
wait_msNoMilliseconds to wait after load before capturing (for SPAs/animations).
max_heightNoCap the captured height in pixels (max 20000).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the action as a wrapper but does not disclose side effects, output format details, or limitations beyond what the schema parameters cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words; the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 12 parameters (all well-described in schema) and no output schema, the description is adequate as a summary but lacks details on return format and additional behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions, so the description adds little extra meaning. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool takes a full-page screenshot and mentions it's a convenience wrapper around capture_screenshot with full-page capture enabled, distinguishing it from the sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for full-page screenshots and references the sibling tool, but does not explicitly state when not to use it or provide alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

capture_screenshotCapture website screenshotB

Take a screenshot of a web page with Site-Shot and return it as an image. Renders in a real Chromium browser. Supports viewport/device sizing, full-page capture, country proxies, and automatic ad & cookie-banner removal (cleaner image, fewer vision tokens).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL of the web page to capture. A bare domain like example.com is accepted (https:// is assumed).
widthNoViewport width in pixels (default 1280).
heightNoViewport height in pixels (default 1024).
formatNoImage format. Default: png.
block_adsNoRemove ads for a cleaner screenshot. Default: true.
block_cookie_bannersNoRemove cookie-consent banners/popups. Default: true.
countryNoRender through a proxy in this country, e.g. "Germany" (auto-sets IP, language, time zone, geolocation).
languageNoOverride browser language, e.g. "de".
time_zoneNoOverride time zone, e.g. "Europe/Berlin".
geolocationNoOverride geolocation as "lat,lng".
wait_msNoMilliseconds to wait after load before capturing (for SPAs/animations).
max_heightNoCap the captured height in pixels (max 20000).
full_pageNoCapture the entire scrollable page instead of just the viewport. Default: false.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It states the tool renders in a real Chromium browser and automatically removes ads and cookie banners, which is helpful. However, it does not mention potential side effects, rate limits, execution time, or authentication requirements. It also does not clarify whether the screenshot is destructive or what happens to the browser instance after capture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, making it relatively concise. The first sentence states the core action, and the second lists major features. It avoids extraneous details but could be slightly more compact by combining the two sentences or trimming the feature list slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (13 parameters, no output schema), the description provides a high-level overview of capabilities but lacks detail on return format (e.g., image type, resolution), error handling, and how features like 'full_page' work in practice. It is adequate for an experienced user but incomplete for a novice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 13 parameters with descriptions, achieving 100% coverage. The tool description reiterates some schema concepts (viewport sizing, full-page capture, country proxies) but does not add significant new meaning beyond what the schema already provides. For example, 'country' parameter is explained in the schema; the description only mentions 'country proxies' generically. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it takes a screenshot of a web page using Site-Shot and returns an image. It mentions features like viewport sizing, full-page capture, and ad removal. However, it does not explicitly distinguish itself from the sibling tool 'capture_full_page', which may cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists features but provides no guidance on when to use this tool versus alternatives like 'capture_full_page'. It does not mention any prerequisites or conditions for use, nor does it explain when to use the 'full_page' parameter or when to prefer a different tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.1
    • Changedcapture_full_page3 fields changed
      • changedInput schema / properties / url / description
        Previous value: -"The URL of the web page to capture."New value: +"The URL of the web page to capture. A bare domain like example.com is accepted (https:// is assumed)."
      • removedInput schema / properties / url / format
        Removed value: -"uri"
      • addedInput schema / properties / url / minLength
        Added value: +1
    • Changedcapture_screenshot3 fields changed
      • changedInput schema / properties / url / description
        Previous value: -"The URL of the web page to capture."New value: +"The URL of the web page to capture. A bare domain like example.com is accepted (https:// is assumed)."
      • removedInput schema / properties / url / format
        Removed value: -"uri"
      • addedInput schema / properties / url / minLength
        Added value: +1
  2. 2 tool updatesv0.1.1
    • First observedcapture_full_page
    • First observedcapture_screenshot

TDQS

B3.2/5.0

Scored across 2 tools

Disambiguation2/5

The two tools are nearly identical; capture_full_page is explicitly a wrapper for capture_screenshot with full-page enabled. An agent would likely misuse them, as the difference is only a parameter.

Naming Consistency3/5

Both use verb_noun pattern ('capture_screenshot', 'capture_full_page'), but 'full_page' is a qualifier while 'screenshot' is the resource; inconsistent because one tool name specifies a parameter in the name itself.

Tool Count3/5

Two tools is minimal but arguably sufficient for a simple screenshot service. However, the duplication suggests one tool could have been omitted, making the surface slightly too heavy for the scope.

Completeness3/5

The set covers basic screenshot needs with features like viewport sizing, proxies, and ad removal. However, it lacks tools for specific device emulation or batch processing, which are common in screenshot services.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers