snapforge

Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
93%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,470토큰 (도구 정의)
~3.3 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.15%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "snapforge": {
      "command": "npx",
      "args": [
        "snapforge-mcp"
      ]
    }
  }
}

실행 가능한 패키지

npmsnapforge-mcp1.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#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 4개
검증됨버전이 기록되지 않음도구 4개