Framejet Screenshot
Clean PNG/JPEG screenshots via REST or MCP, with goal-driven multi-step navigation.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"screenshot": {
"url": "https://framejet.dev/mcp"
}
}
}원격 엔드포인트
https://framejet.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (1)
🟡screenshot(url, full_page, width, height, format, ...)
Render any public URL to a PNG or JPEG image. Cookie/consent banners and chat widgets are removed by default so the result is clean enough to reason about. Returns the image inline. For a page that is several clicks past the URL, pass `goal` in plain words and Framejet walks the flow before capturing — you do not need CSS selectors, and you could not write them anyway, because the controls for step 2 do not exist until step 1 has happened. Any text to be typed must be supplied in `values`; nothing is ever invented. If the goal cannot be reached the call fails and no quota is spent, so a returned image always means the goal was reached. When you do know the page, `actions` is cheaper, faster and deterministic.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The http(s) page to capture"
},
"full_page": {
"description": "Capture the whole scroll height (default false)",
"type": "boolean"
},
"width": {
"description": "Viewport width, default 1280",
"type": "integer",
"minimum": 320,
"maximum": 3840
},
"height": {
"description": "Viewport height, default 800",
"type": "integer",
"minimum": 200,
"maximum": 4320
},
"format": {
"description": "Image format, default png",
"type": "string",
"enum": [
"png",
"jpeg"
]
},
"clean": {
"description": "Strip cookie banners / chat widgets, default true",
"type": "boolean"
},
"delay": {
"description": "Extra wait in ms after load",
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"goal": {
"description": "Plain-words description of the page state to reach before capturing, ending with when to stop. Example: 'Search for the Colosseum article, open it, then open its View history page. Stop when the revision list is visible.' Needs `values` for anything that must be typed.",
"type": "string",
"maxLength": 300
},
"values": {
"description": "Exact strings a `goal` step may type into a field. Framejet picks among these and never invents text; if none fits, the capture fails.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"actions": {
"description": "Deterministic alternative to `goal` when you already know the page: ';'-separated steps, each verb:arg — click:<css>, type:<css>=<text>, waitfor:<css>, wait:<ms>, scroll:<px>. Prefer this over `goal` whenever you can write the selectors.",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거