snapforge
Server Details
Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- sporty303/snapforge-mcp
- GitHub Stars
- 0
- Server Listing
- snapforge-mcp
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: markdown extraction, PDF rendering, screenshot capture, and account signup. No overlap or ambiguity.
All tools follow the same 'snapforge_<format>' pattern, making them predictable and easy to distinguish.
Four tools is well-scoped for a service that converts URLs/HTML to different formats plus a signup process. Neither sparse nor excessive.
Covers the core conversion tasks (markdown, PDF, screenshot) and the necessary signup flow. Minor missing features like configurable screenshot options, but no major gaps for the stated purpose.
Available Tools
4 toolssnapforge_markdownSnapForge URL to MarkdownARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http/https URL to render. Provide either url or html. | |
| html | No | Raw HTML to render instead of a URL (max 2MB). Provide either url or html. | |
| delay | No | Extra wait in milliseconds before capture (0–10000) | |
| waitUntil | No | When to consider the page ready: "load" (default) or "networkidle" |
Output Schema
| Name | Required | Description |
|---|---|---|
| markdown | Yes | The extracted Markdown content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint; the description adds context about article extraction and HTML-to-Markdown conversion, which clarifies the tool's internal processing beyond the annotations. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each serving a distinct purpose: stating the tool's function and providing usage context. No redundant information, and the key points are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers core functionality, prerequisites, and usage scenario. With full schema coverage and an output schema, it is reasonably complete. Lacks mention of error conditions or rate limits, but these are often handled by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description aligns with schema parameters (url, html) but does not add new semantic details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Extract' and resource 'clean Markdown version', which clearly states the tool's function. It distinguishes from sibling tools (snapforge_pdf, snapforge_screenshot, snapforge_signup) by focusing on Markdown output and mentioning the API key requirement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a clear usage scenario ('Great for feeding live web content to an LLM') and prerequisite handling ('no key? call snapforge_signup first'). It lacks explicit 'when not to use' guidance, but the context of sibling tools provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapforge_pdfSnapForge PDFARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http/https URL to render. Provide either url or html. | |
| html | No | Raw HTML to render instead of a URL (max 2MB). Provide either url or html. | |
| delay | No | Extra wait in milliseconds before capture (0–10000) | |
| margin | No | CSS size applied to all margins, e.g. "1cm" | |
| landscape | No | Landscape orientation (default false) | |
| waitUntil | No | When to consider the page ready: "load" (default) or "networkidle" | |
| pageFormat | No | Paper size when paginating (default A4) | |
| singlePage | No | Output one continuous page sized to the content height (no A4 pagination) | |
| printBackground | No | Include CSS background colors and images (default true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bytes | Yes | Size of the generated PDF in bytes |
| mimeType | Yes | Always application/pdf |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with annotations (readOnlyHint, openWorldHint) and adds the key requirement. No contradiction; the behavior as a read-only render operation is clear. Additional context like rate limits or error handling is not provided but annotations already cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: the first stating purpose and output, the second noting the key requirement. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters with full schema documentation and an output schema (implied), the description covers the essential purpose and prerequisite. It could add guidance on parameter selection but overall it is adequate for a well-annotated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to elaborate on parameters. It adds no extra meaning beyond the schema, such as constraints or inter-parameter dependencies. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renders a public URL or raw HTML to a PDF, using specific verbs and resource. It distinguishes from siblings like snapforge_screenshot and snapforge_markdown by specifying PDF output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions the prerequisite of a SnapForge API key and directs to snapforge_signup as an alternative if no key. However, it does not compare directly with sibling tools for when to choose PDF over other formats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapforge_screenshotSnapForge screenshotARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http/https URL to render. Provide either url or html. | |
| html | No | Raw HTML to render instead of a URL (max 2MB). Provide either url or html. | |
| delay | No | Extra wait in milliseconds before capture (0–10000) | |
| scale | No | Device pixel ratio for high-DPI/retina output (1–3) | |
| width | No | Viewport width in pixels (100–3840) | |
| format | No | Image format: "png" (default) or "jpeg" | |
| height | No | Viewport height in pixels (100–2160) | |
| quality | No | JPEG quality 1–100 (ignored for PNG) | |
| fullPage | No | Capture the full scrollable page (default true) | |
| waitUntil | No | When to consider the page ready: "load" (default) or "networkidle" |
Output Schema
| Name | Required | Description |
|---|---|---|
| bytes | Yes | Size of the returned image in bytes |
| mimeType | Yes | Image MIME type, e.g. image/png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that full-page is default and that an API key is required, which are useful behavioral details. It does not disclose error modes or rate limits, but given annotation coverage, the description adds reasonable value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, directly conveying the core purpose, default behavior, and a key prerequisite. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters) and the existence of an output schema, the description provides a good summary. It mentions the API key requirement and full-page default. It could mention output format more, but overall completes the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 10 parameters. The description adds minimal extra meaning beyond the high-level purpose and default for fullPage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures screenshots of public URLs or raw HTML as PNG/JPEG images. It specifies 'full-page by default' and distinguishes from siblings (snapforge_markdown, snapforge_pdf, snapforge_signup) which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (for screenshots) and a prerequisite (SnapForge API key) with an alternative if missing (call snapforge_signup). It does not explicitly exclude cases, but the purpose is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapforge_signupSnapForge signup (free API key)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to attach the API key to (the key is also emailed there) |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | Plan name (free) |
| apiKey | Yes | Your SnapForge API key |
| monthlyQuota | Yes | Renders included: 100 in total on the free trial (no monthly reset), per month on paid plans |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses that signup results in a one-time free trial (100 renders, not monthly), returns an API key instantly bound to the session, and enables other tools without a browser. Annotations are minimal, so description carries the burden well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste, front-loaded with the core action first. Efficient and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, existence of output schema, and no nested objects, the description covers all necessary context: purpose, limitations, session binding, and enabling of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value beyond schema by explaining that the key is emailed and bound to the session, enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a free SnapForge account with an email and gets an API key. It distinguishes from sibling rendering tools by specifying signup as the prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a free API key to use sibling tools, and mentions the key is bound to the session. It lacks explicit instructions for when not to use it (e.g., already have an account), but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
snapforge_signup1 field changed- changed
Output schema / properties / monthlyQuota / descriptionPrevious value: -"Included renders per month"New value: +"Renders included: 100 in total on the free trial (no monthly reset), per month on paid plans"
4 tool updates
- First observed
snapforge_markdown - First observed
snapforge_pdf - First observed
snapforge_screenshot - First observed
snapforge_signup
Related MCP Connectors
Screenshot, PDF and HTML-to-image rendering API so Claude and Cursor can see any web page.
Screenshot, PDF and HTML-to-image rendering API so Claude and Cursor can see any web page.
Cloud scraping & crawling API for AI agents. Turn any URL into clean, LLM-ready markdown.
Screenshot any URL/HTML as PNG/JPEG/WebP, or read it as clean Markdown/text for LLMs.
Related MCP Servers
- AlicenseAqualityBmaintenanceScreenshot, visual-diff, and AI page-analysis API for AI agents. Capture any URL as PNG, JPEG, WebP, PDF, or HTML, diff two versions of a page to catch visual regressions, and get an AI summary of what a page contains.344 npm1MIT
- AlicenseAqualityBmaintenanceGive AI agents eyes on any web page: pixel-perfect screenshots, print-ready PDFs, branded OG images, code images, and structured page extraction (JSON or Markdown).7559 npmMIT
- AlicenseAqualityCmaintenanceCapture screenshots, generate PDFs, and render HTML to images via AI agents. Supports batch capture, geo-targeting, async webhooks, and CSS/JS injection.1154 npm7MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to capture any public URL as PNG, JPEG, or PDF via REST API or MCP tools, including screenshot capture, page description, and PDF rendering.17 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.