Render-and-verify API: HTML/CSS to image or PDF, screenshot any URL, confirm the text rendered.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Render an on-brand image from a template and your data, and return the image. Use list_templates first to see template ids and their variables. 1 credit per image; cost returned in _meta.
Template id from list_templates: a built-in (e.g. og-article) or one of your own tpl_... ids.
Strings that must render as visible text. The result reports whether each one landed (found and not clipped) — use it to confirm the exact values you passed made it into the image.
Return a render receipt: image_sha256, the text that actually rendered, per-string checks + misses, viewport, and timing. Lets you trust the render without looking at the pixels.
variable -> value overrides, e.g. {"title":"...","accent":"#b45cff"}.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Render an on-brand image from a template and your data, and return the image. Use list_templates first to see template ids and their variables. 1 credit per image; cost returned in _meta.
| Argument | Type | Description |
|---|---|---|
| format | string | |
| verify | array | Strings that must render as visible text. The result reports whether each one landed (found and not clipped) — use it to confirm the exact values you passed made it into the image. |
| receipt | boolean | Return a render receipt: image_sha256, the text that actually rendered, per-string checks + misses, viewport, and timing. Lets you trust the render without looking at the pixels. |
| template* | string | Template id from list_templates: a built-in (e.g. og-article) or one of your own tpl_... ids. |
| modifications | object | variable -> value overrides, e.g. {"title":"...","accent":"#b45cff"}. |
{
"type": "object",
"required": [
"template"
],
"properties": {
"format": {
"enum": [
"png",
"jpeg",
"webp"
],
"type": "string",
"default": "png"
},
"verify": {
"type": "array",
"items": {
"type": "string"
},
"description": "Strings that must render as visible text. The result reports whether each one landed (found and not clipped) — use it to confirm the exact values you passed made it into the image."
},
"receipt": {
"type": "boolean",
"description": "Return a render receipt: image_sha256, the text that actually rendered, per-string checks + misses, viewport, and timing. Lets you trust the render without looking at the pixels."
},
"template": {
"type": "string",
"description": "Template id from list_templates: a built-in (e.g. og-article) or one of your own tpl_... ids."
},
"modifications": {
"type": "object",
"description": "variable -> value overrides, e.g. {\"title\":\"...\",\"accent\":\"#b45cff\"}."
}
}
}List the image templates you can render, with the variables each accepts. Free.
No arguments.
{
"type": "object",
"properties": {}
}Screenshot any public web page and return the image. 1 credit; cost in _meta.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL to capture. |
| width | integer | |
| format | string | |
| height | integer | |
| receipt | boolean | Return a render receipt: image_sha256, extracted page text, viewport and timing, so you can trust the capture without inspecting pixels. |
| full_page | boolean | Capture the whole scrollable page (default false = just the viewport). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL to capture."
},
"width": {
"type": "integer",
"default": 1280
},
"format": {
"enum": [
"png",
"jpeg",
"webp"
],
"type": "string",
"default": "png"
},
"height": {
"type": "integer",
"default": 800
},
"receipt": {
"type": "boolean",
"description": "Return a render receipt: image_sha256, extracted page text, viewport and timing, so you can trust the capture without inspecting pixels."
},
"full_page": {
"type": "boolean",
"description": "Capture the whole scrollable page (default false = just the viewport)."
}
}
}