Handiworks
MCP tools for AI agents: render URLs to image/PDF, check link health, convert HTML/CSV/JSON.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"handiworks-mcp": {
"url": "https://handiworks-mcp.privateluke4444.workers.dev/mcp"
}
}
}Remote endpoints
https://handiworks-mcp.privateluke4444.workers.dev/mcpstreamable-httphttps://mcp.handiworks.studio/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
⚪render(url, format, fullPage, width, height, ...)
Render a web page to a PNG/JPEG screenshot or a PDF using a real headless browser. Returns the image inline (base64) or the PDF as an embedded resource. Results are cached for 24h.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to render (must include https:// or http://)."
},
"format": {
"default": "png",
"description": "Output format. png/jpeg return an image; pdf returns a PDF document.",
"type": "string",
"enum": [
"png",
"jpeg",
"pdf"
]
},
"fullPage": {
"default": false,
"description": "For screenshots: capture the entire scrollable page instead of just the viewport.",
"type": "boolean"
},
"width": {
"default": 1280,
"description": "Viewport width in pixels.",
"type": "integer",
"minimum": 64,
"maximum": 3840
},
"height": {
"default": 800,
"description": "Viewport height in pixels.",
"type": "integer",
"minimum": 64,
"maximum": 2160
},
"waitUntil": {
"default": "networkidle2",
"description": "Navigation completion signal before capturing.",
"type": "string",
"enum": [
"load",
"domcontentloaded",
"networkidle0",
"networkidle2"
]
},
"pdfFormat": {
"default": "A4",
"description": "Paper size, used only when format is pdf.",
"type": "string",
"enum": [
"A4",
"Letter",
"Legal",
"A3",
"Tabloid"
]
},
"fresh": {
"default": false,
"description": "Bypass the 24h cache and force a fresh render.",
"type": "boolean"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_link(url, followRedirects, maxRedirects, fresh)
Check a URL's health: follows the redirect chain, reports the final status and URL, extracts the page <title>, and flags likely paywalls. Cached for 6h.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The absolute URL to check."
},
"followRedirects": {
"default": true,
"description": "Follow 3xx redirects to the final destination.",
"type": "boolean"
},
"maxRedirects": {
"default": 10,
"description": "Maximum redirect hops to follow.",
"type": "integer",
"minimum": 0,
"maximum": 20
},
"fresh": {
"default": false,
"description": "Bypass the 6h cache and re-check now.",
"type": "boolean"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪convert(mode, content, delimiter, headers, pdfFormat)
Convert content between formats. Modes: html-to-pdf, html-to-png (real browser), csv-to-json, json-to-csv. PDF/PNG return as attachment/image; data modes return text.
Input Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"html-to-pdf",
"html-to-png",
"csv-to-json",
"json-to-csv"
],
"description": "Conversion to perform."
},
"content": {
"type": "string",
"description": "The input content: HTML, CSV, or JSON depending on mode."
},
"delimiter": {
"default": ",",
"description": "Field delimiter for CSV modes.",
"type": "string"
},
"headers": {
"default": true,
"description": "For csv-to-json: treat the first row as column headers.",
"type": "boolean"
},
"pdfFormat": {
"default": "A4",
"description": "Paper size for html-to-pdf.",
"type": "string",
"enum": [
"A4",
"Letter",
"Legal",
"A3",
"Tabloid"
]
}
},
"required": [
"mode",
"content"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence