SnapForge
Server Details
Screenshot & HTML-to-PDF rendering API for AI agents — capture any URL or raw HTML as PNG/JPEG/PDF via a managed Chromium fleet. Free tier.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.8/5 across 3 of 3 tools scored.
Each tool converts a URL or raw HTML into a distinct output format (Markdown, PDF, screenshot), making their purposes clearly different and preventing agent confusion.
All tool names follow the consistent pattern 'snapforge_' followed by the output format name, providing a predictable and uniform naming scheme.
With three tools covering the core output formats (Markdown, PDF, screenshot) for web content conversion, the count is well-scoped and appropriate for the server's purpose.
The tool set covers the most common output formats needed for web content extraction (text, PDF, image), though a tool for raw HTML or plain text extraction is missing, but this is a minor gap.
Available Tools
3 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.
| 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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations: it requires an API key and mentions 'article extraction' combined with HTML→Markdown conversion. Annotations already declare readOnlyHint=true, so extraction is safe. The description does not contradict annotations and provides useful behavioral info, though it could detail limitations (e.g., dynamic content handling).
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 with no redundancy. The first sentence defines the core action and resource; the second highlights the primary use case and key requirement. It is front-loaded and efficient.
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 moderate complexity (4 parameters, output schema exists), the description covers the essential context: purpose, use case, and prerequisite (API key). It does not explain the output format, but that is handled by the output schema. The description is sufficiently complete for an agent to understand the tool's role.
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 parameters are well-documented in the schema. The description restates the need to provide 'url or html' but does not add deeper meaning (e.g., syntax, format preferences). Baseline 3 is appropriate; no extra semantic value is added.
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's function: 'Extract a clean Markdown version of a public URL or raw HTML.' The verb 'extract' and resource 'Markdown version' are specific, and the mention of 'article extraction + HTML→Markdown' distinguishes it from sibling tools (pdf, screenshot). The use case 'Great for feeding live web content to an LLM' adds clarity.
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 a clear use case ('feeding live web content to an LLM') and a requirement ('Requires a SnapForge API key'). However, it does not explicitly state when not to use this tool or compare it to alternatives (e.g., snapforge_pdf for PDF output). The guidance is adequate but lacks exclusions.
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.
| 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 |
Tool Definition Quality
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 the PDF is 'returned as an embedded resource' and requires an API key, but does not elaborate on other behavioral traits such as error handling, rate limits, or idempotency (though idempotentHint is false).
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 concise sentences that convey the core purpose and a key requirement. There is no superfluous information, and the most important information is 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?
Given the comprehensive schema descriptions (100% coverage) and the presence of annotations, the description adequately covers the essential context. However, for a tool with 9 parameters, additional guidance on common usage patterns or parameter interactions would have improved completeness.
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%, meaning all parameters have descriptions in the schema. The main description does not add any additional parameter-level information beyond what the schema already provides, so it meets the baseline of 3.
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. However, it does not distinguish from sibling tools like snapforge_screenshot or snapforge_markdown, which would be needed for a perfect score.
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 mentions the requirement for a SnapForge API key, but does not provide guidance on when to use this tool versus alternatives, nor does it specify when not to use it or give context about use cases.
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.
| 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 |
Tool Definition Quality
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 a SnapForge API key is required and that captures are full-page by default. It does not disclose additional traits like rate limits or return format beyond annotations, but does not contradict them.
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, both front-loaded with the core purpose and a key requirement. No superfluous words; every sentence adds necessary 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?
With 10 parameters, an output schema present, and annotations, the description is minimally complete. It covers the primary action and prerequisite but lacks guidance on choosing between 'url' and 'html,' or details about return value (likely covered by output schema). Additional context on parameter interactions would improve completeness.
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% for 10 parameters, so the schema already documents each parameter. The description adds only the default behavior of fullPage, which is already mentioned in the schema's default for that parameter. No new meaning beyond the schema is provided, warranting a baseline of 3.
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 verb 'capture' and the resource 'screenshot of a public URL or raw HTML as a PNG/JPEG image.' It also distinguishes itself from sibling tools (snapforge_markdown, snapforge_pdf) by explicitly focusing on screenshots.
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 mentions a prerequisite ('Requires a SnapForge API key') but does not provide guidance on when to use this tool versus siblings. It implies usage via 'Full-page by default' and format options, but lacks explicit when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!