snapforge
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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
1.3.0stdioPuntos de conexión remotos
https://snapforge.org/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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).
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
Evidencia