snapforge

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
93%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,470Tokens (definiciones de herramientas)
~3.3 KBTamaño de respuesta típico
Impacto moderado en la atención (1.15% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Paquetes ejecutables

npmsnapforge-mcp1.3.0stdio

Puntos de conexión remotos

https://snapforge.org/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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).

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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).

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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).

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas