{"serverId":"mcp-registry/io.github.lukehal/handiworks-mcp","tools":[{"name":"check_link","fixed":{"name":"check_link","description":"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.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"Check link health"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":201,"tokensAfter":201},{"name":"convert","fixed":{"name":"convert","description":"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.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"Convert content between formats"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":251,"tokensAfter":251}],"toolsChanged":2,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}