{"name":"claycut","version":"1.0.0","tools":[{"name":"find_free_icon","description":"Find a free, ready-made transparent PNG icon from the Claycut catalogue. No API key needed. The free set only comes in the clay, editorial and plush house styles, so use it when the project's CLAYCUT.md style is one of those (or the user has no key); otherwise it won't match the project. Returns download URLs for matches, or the full list of available words.","inputSchema":{"type":"object","properties":{"concept":{"type":"string","description":"The subject, e.g. \"wallet\", \"rocket\", \"inbox\""},"style":{"type":"string","enum":["clay","editorial","plush"]}},"required":["concept"]}},{"name":"generate_app_icon","description":"Generate a custom transparent PNG app icon or UI illustration of any subject, in the project's own style. Needs a paid Claycut key. Returns a download URL for the finished asset.\n\nEvery icon in a project follows one style guide, CLAYCUT.md at the repo root. Before the first call:\n1. If CLAYCUT.md exists, use its style line exactly as written (don't reword it) and skip to step 5.\n2. Otherwise read the project's design system: design docs, Tailwind config, CSS variables and theme tokens, brand colours, fonts, existing icons and illustrations. If there is none, work out what the project is for and who uses it (README, package.json, landing copy, routes) and invent a style that suits it.\n3. Write the style line (at most 300 characters): rendering technique, material, shape language, palette as colour names, lighting, level of detail. It must describe a single solid object that a background remover can cut out: no scenes, no near-white or glassy subjects, no hairline-only line art, no text. Don't mention subject, background or composition; Claycut adds those. Only use a house style (clay, editorial, plush) if it genuinely fits the project, never as a fallback.\n4. Create CLAYCUT.md with: a '## Style line' section holding the exact line, why it fits (palette, material, tone and the files it came from), and an '## Icons' list. Generate one representative icon, show it to the user and adjust the line until they approve it.\n5. Call with style \"custom\" and style_description set to that line (or the house style name if CLAYCUT.md names one), then add each icon to the '## Icons' list as concept -> file path. Check that list before generating (and find_my_icon for icons this account made in other projects), and reuse one that already exists.","inputSchema":{"type":"object","properties":{"concept":{"type":"string","description":"The subject, e.g. \"wallet\", \"rocket\", \"inbox\""},"style":{"type":"string","enum":["custom","clay","editorial","plush"],"default":"custom","description":"Use \"custom\" with the style line from CLAYCUT.md; a house style name only if CLAYCUT.md says so."},"style_description":{"type":"string","maxLength":300,"description":"The exact style line from CLAYCUT.md. Required when style is custom."}},"required":["concept"]}},{"name":"find_my_icon","description":"Find icons this Claycut account already generated or edited, so you can reuse one instead of paying for a new generation. Needs a Claycut key; free. Check here before generate_app_icon. Returns concept, style, date and download URL for matches, or the account's recent icons if nothing matches.","inputSchema":{"type":"object","properties":{"concept":{"type":"string","description":"Word to search past concepts for, e.g. \"wallet\"; omit to list recent icons"}}}},{"name":"edit_app_icon","description":"Change one thing about an icon that is almost right, keeping everything else as it is. Needs a paid Claycut key and costs one icon. Returns a download URL for the edited transparent PNG.\n\nUse it instead of generate_app_icon when the user likes an icon but wants a detail fixed: a new generation redraws the whole object and loses what they liked. Pass the icon's URL (a Claycut asset URL, or any public PNG) and a short instruction. Up to three changes per call; describe the end state to draw (\"the grey plate behind the star becomes clear violet crystal\"), not what to remove. Name what must not change if it's at risk. Always edit the original, not a previous edit, and add the result to the '## Icons' list in CLAYCUT.md.","inputSchema":{"type":"object","properties":{"image_url":{"type":"string","description":"Public URL of the PNG to edit"},"instruction":{"type":"string","maxLength":600,"description":"What to change, as the end state to draw"}},"required":["image_url","instruction"]}}]}