Icons should begin as an intention, then end as clean SVGs you can own.
IconCraft is a local, open-source workflow that turns a natural-language icon request into an optimized vector asset. It interprets the brief, generates a source image with the provider you configure, removes its background, vectorizes it, and cleans the SVG. The same capability is available from the visual app and to coding agents through MCP.
Read .env.example, add the keys for the providers you choose, then start both services:
cp .env.example .env
docker compose up --buildThe interface runs at http://localhost:3000; the API is at http://localhost:8000 and exposes a health check at /health. Start in frontend/src/App.tsx for the product surface or backend/app/routers/generate.py for the generation entry point.
For local development, run the backend with uvicorn main:app --reload --port 8000 from backend/, and the frontend with npm run dev from frontend/.
prompt → image provider → background cleanup → vectorization → SVG optimization
Image providers and language-model providers are selected through .env, so the project does not impose a hosted subscription or a single model. Generated files are kept under output/.
The backend exposes MCP tools to generate an icon, optimize an existing SVG, and list the available styles. That makes IconCraft useful both as a creative tool and as an asset capability inside an agentic development workflow.
frontend/— React, Tailwind, and shadcn/ui workspace.backend/— FastAPI API, provider adapters, pipeline, and MCP server.output/— locally generated SVG assets..env.example— provider configuration contract.
IconCraft is in active development; provider availability depends on the API keys configured locally.