{"ok":true,"name":"roastify_stash_design","description":"Store a Roastify design JSON in your library (a commit in your GitHub repo). The browser courier reads a saved product's design and calls this to shuttle it up. On the way in, the design's fonts[] is REPAIRED — Roastify's own schema migration leaves a lossy fonts[] (a dropped family, a bad weight), so a stashed design would otherwise carry that damage; the repair rebuilds fonts[] from the families the text actually uses so it renders in its intended fonts. Only the load list changes; the text an","inputSchema":{"type":"object","required":["design"],"properties":{"npub":{"type":"string","default":"","description":"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance. The connection proves the caller holds it: a request signed with npub's key (NIP-98 `Authorization: Nostr`), or an OAuth connection that holds npub (see held_identities)."},"label":{"type":"string","default":"","description":"Your name for this design, e.g. \"Ethiopian — light\"."},"design":{"type":"object","description":"The full Roastify design JSON object (elements/faceBackgrounds…).","additionalProperties":true},"design_id":{"type":"string","default":"","description":"Optional explicit folder id. Omit and the id is the slug of the\nlabel, so re-stashing the same design commits a new version in place\ninstead of creating a duplicate."},"product_id":{"type":"string","default":"","description":"The Roastify product id it came from, for your reference."},"description":{"type":"string","default":"","description":"The product's store-page description at stash time, versioned\nwith the design so Fetch can re-apply it to a target product."},"version_tag":{"type":"string","default":"","description":"The NEXT semver version (MAJOR.MINOR.PATCH like 1.2.3, no 'v'); check\nroastify_list_design_versions and increment. Required; reusing one is refused."},"source_title":{"type":"string","default":"","description":"The product's title at stash time, for your reference."},"commit_message":{"type":"string","default":"","description":"A specific description of WHAT changed and WHY — write a real\ncommit message, not a placeholder like 'save this' or 'update'. Required."}},"additionalProperties":false},"serverUrl":"https://roastify.tollbooth-dpyc.com/mcp","transport":"http","handshake":"ok","host":"roastify.tollbooth-dpyc.com","score":40,"grade":"C","auth":"api-key","lastScannedAt":"2026-10-30T13:08:40.589Z","stale":false,"permalink":"https://agentboardai.app/mcp/roastify.tollbooth-dpyc.com/roastify_stash_design","page":"https://agentboardai.app/site/roastify.tollbooth-dpyc.com"}