Search 10,000+ open-source icons (Lucide, Heroicons, Tabler, Simple Icons) as SVG or PNG.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A free, agent-readable service that aggregates 10,000+ open-source icons β Lucide,
Heroicons, Tabler, and Simple Icons β
and serves them as SVG or PNG at predictable URLs, with keyword + semantic search, an llms.txt, and an MCP server.
Runs entirely within the Cloudflare free tier (Workers + R2 + Workers AI).
| Need | Do this |
|---|---|
| Embed an icon you know the name of | GET /i/{name}.svg (best match) or /icons/{set}/{name}.svg |
| Find the right icon | GET /api/search?q=shopping+cart β names + ready URLs |
| Read the whole API in one shot | GET /llms.txt (or /llms-full.txt) |
| Native tool calls | MCP server at /mcp (search_icons, get_icon, list_sets) |
| OpenAPI | GET /openapi.json |
GET /icon/{set}/{name} β crawlable HTML page per icon (preview, usage, JSON-LD ImageObject + breadcrumb). /icon/{name} 302-redirects to the best match.GET /sitemap.xml β every icon page (~10k URLs).GET /robots.txt β explicitly allows AI crawlers (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended, β¦) and points to the sitemap.WebSite+SearchAction and WebAPI JSON-LD and Open Graph tags./{INDEXNOW_KEY}.txt; npm run indexnow pings Bing/Yandex to crawl new or changed URLs instantly (pass paths to submit a subset, e.g. npm run indexnow /icon/lucide/house).color= hex / CSS color / currentColor β e.g. ?color=%23e11d48size= 1..2048 pxstroke= 0..20 (line icons)style= e.g. solid (Heroicons), filled (Tabler)format= svg | pngExample: /i/shopping-cart.svg?color=crimson&size=48&stroke=1.5
Semantic search = keyword ranking fused (reciprocal-rank fusion) with cosine similarity over the
in-memory embeddings. No Vectorize, no per-vector billing, no dimension cap. If embeddings.bin is
absent, search gracefully falls back to keyword-only.
In
wrangler dev --localthe Workers AI binding is offline, so search runs keyword-only locally. Semantic search activates once deployed (or when running against the remote AI binding).
npm run deploy runs scripts/deploy.mjs: it creates the iconserve-icons
bucket (idempotent), uploads the four artifacts to remote R2, then wrangler deploy.
Edit scripts/lib/sets.mjs, then re-run npm run build:data && npm run upload:r2
(local) or npm run deploy (remote). Set priority for /i/{name} best-match is DEFAULT_SET_ORDER in
wrangler.toml.
Icons are redistributed under their original permissive licenses: Lucide (ISC), Heroicons (MIT), Tabler (MIT), Simple Icons (CC0). Brand marks from Simple Icons are trademarks of their respective owners β use them per each brand's guidelines.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/iconserve)<a href="https://allmcps.com/mcp/iconserve"><img src="https://allmcps.com/api/badge/iconserve?style=directory" alt="Iconserve on AllMCPs" /></a>