MCP-Server

Handiworks

io.github.Lukehal/handiworks-mcp
Entwicklertools Medien & Inhalte Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Checks URL health, renders web pages as screenshots or PDFs, and converts HTML, CSV, and JSON between supported formats.

check_link
Check link health
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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The absolute URL to check.'}, 'fresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the 6h cache and re-check now.'}, 'maxRedirects': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 0, 'description': 'Maximum redirect hops to follow.'}, 'followRedirects': {'type': 'boolean', 'default': True, 'description': 'Follow 3xx redirects to the final destination.'}}}
convert
Convert content between formats
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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'content'], 'properties': {'mode': {'enum': ['html-to-pdf', 'html-to-png', 'csv-to-json', 'json-to-csv'], 'type': 'string', 'description': 'Conversion to perform.'}, 'content': {'type': 'string', 'description': 'The input content: HTML, CSV, or JSON depending on mode.'}, 'headers': {'type': 'boolean', 'default': True, 'description': 'For csv-to-json: treat the first row as column headers.'}, 'delimiter': {'type': 'string', 'default': ',', 'description': 'Field delimiter for CSV modes.'}, 'pdfFormat': {'enum': ['A4', 'Letter', 'Legal', 'A3', 'Tabloid'], 'type': 'string', 'default': 'A4', 'description': 'Paper size for html-to-pdf.'}}}
render
Render URL to screenshot or PDF
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.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The absolute URL to render (must include https:// or http://).'}, 'fresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the 24h cache and force a fresh render.'}, 'width': {'type': 'integer', 'default': 1280, 'maximum': 3840, 'minimum': 64, 'description': 'Viewport width in pixels.'}, 'format': {'enum': ['png', 'jpeg', 'pdf'], 'type': 'string', 'default': 'png', 'description': 'Output format. png/jpeg return an image; pdf returns a PDF document.'}, 'height': {'type': 'integer', 'default': 800, 'maximum': 2160, 'minimum': 64, 'description': 'Viewport height in pixels.'}, 'fullPage': {'type': 'boolean', 'default': False, 'description': 'For screenshots: capture the entire scrollable page instead of just the viewport.'}, 'pdfFormat': {'enum': ['A4', 'Letter', 'Legal', 'A3', 'Tabloid'], 'type': 'string', 'default': 'A4', 'description': 'Paper size, used only when format is pdf.'}, 'waitUntil': {'enum': ['load', 'domcontentloaded', 'networkidle0', 'networkidle2'], 'type': 'string', 'default': 'networkidle2', 'description': 'Navigation completion signal before capturing.'}}}
Hinzugefügt
convert
17. September 2026 12:43
Hinzugefügt
check_link
17. September 2026 12:43
Hinzugefügt
render
17. September 2026 12:43