snapforge
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"snapforge": {
"command": "npx",
"args": [
"snapforge-mcp"
]
}
}
}실행 가능한 패키지
1.3.0stdio원격 엔드포인트
https://snapforge.org/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢snapforge_screenshot(url, html, waitUntil, delay, fullPage, ...)
Capture a screenshot of a public URL or raw HTML as a PNG/JPEG image. Full-page by default. Requires a SnapForge API key (no key? call snapforge_signup first).
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http/https URL to render. Provide either url or html."
},
"html": {
"type": "string",
"description": "Raw HTML to render instead of a URL (max 2MB). Provide either url or html."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"networkidle"
],
"description": "When to consider the page ready: \"load\" (default) or \"networkidle\""
},
"delay": {
"type": "integer",
"minimum": 0,
"maximum": 10000,
"description": "Extra wait in milliseconds before capture (0–10000)"
},
"fullPage": {
"type": "boolean",
"description": "Capture the full scrollable page (default true)"
},
"width": {
"type": "integer",
"minimum": 100,
"maximum": 3840,
"description": "Viewport width in pixels (100–3840)"
},
"height": {
"type": "integer",
"minimum": 100,
"maximum": 2160,
"description": "Viewport height in pixels (100–2160)"
},
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 3,
"description": "Device pixel ratio for high-DPI/retina output (1–3)"
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"description": "Image format: \"png\" (default) or \"jpeg\""
},
"quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "JPEG quality 1–100 (ignored for PNG)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"bytes": {
"type": "integer",
"description": "Size of the returned image in bytes"
},
"mimeType": {
"type": "string",
"description": "Image MIME type, e.g. image/png"
}
},
"required": [
"bytes",
"mimeType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢snapforge_pdf(url, html, waitUntil, delay, singlePage, ...)
Render a public URL or raw HTML to a PDF (returned as an embedded resource). Requires a SnapForge API key (no key? call snapforge_signup first).
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http/https URL to render. Provide either url or html."
},
"html": {
"type": "string",
"description": "Raw HTML to render instead of a URL (max 2MB). Provide either url or html."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"networkidle"
],
"description": "When to consider the page ready: \"load\" (default) or \"networkidle\""
},
"delay": {
"type": "integer",
"minimum": 0,
"maximum": 10000,
"description": "Extra wait in milliseconds before capture (0–10000)"
},
"singlePage": {
"type": "boolean",
"description": "Output one continuous page sized to the content height (no A4 pagination)"
},
"pageFormat": {
"type": "string",
"enum": [
"Letter",
"Legal",
"Tabloid",
"A0",
"A1",
"A2",
"A3",
"A4",
"A5",
"A6"
],
"description": "Paper size when paginating (default A4)"
},
"landscape": {
"type": "boolean",
"description": "Landscape orientation (default false)"
},
"printBackground": {
"type": "boolean",
"description": "Include CSS background colors and images (default true)"
},
"margin": {
"type": "string",
"description": "CSS size applied to all margins, e.g. \"1cm\""
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"bytes": {
"type": "integer",
"description": "Size of the generated PDF in bytes"
},
"mimeType": {
"type": "string",
"description": "Always application/pdf"
}
},
"required": [
"bytes",
"mimeType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢snapforge_markdown(url, html, waitUntil, delay)
Extract a clean Markdown version of a public URL or raw HTML (article extraction + HTML→Markdown). Great for feeding live web content to an LLM. Requires a SnapForge API key (no key? call snapforge_signup first).
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http/https URL to render. Provide either url or html."
},
"html": {
"type": "string",
"description": "Raw HTML to render instead of a URL (max 2MB). Provide either url or html."
},
"waitUntil": {
"type": "string",
"enum": [
"load",
"networkidle"
],
"description": "When to consider the page ready: \"load\" (default) or \"networkidle\""
},
"delay": {
"type": "integer",
"minimum": 0,
"maximum": 10000,
"description": "Extra wait in milliseconds before capture (0–10000)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"markdown": {
"type": "string",
"description": "The extracted Markdown content"
}
},
"required": [
"markdown"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡snapforge_signup(email)
Create a free SnapForge account (100 renders, one-time free trial, not a monthly allowance) with just an email address and get the API key instantly. The key is bound to the current MCP session, so the screenshot/pdf/markdown tools work immediately after signup, no browser needed.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to attach the API key to (the key is also emailed there)"
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"description": "Your SnapForge API key"
},
"plan": {
"type": "string",
"description": "Plan name (free)"
},
"monthlyQuota": {
"type": "integer",
"description": "Renders included: 100 in total on the free trial (no monthly reset), per month on paid plans"
}
},
"required": [
"apiKey",
"plan",
"monthlyQuota"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거