freeicon-mcp
freeicon-mcp is an MCP server for searching and downloading icons/assets from many free sources, extracting website icons, vectorizing bitmaps, and generating/validating custom SVG icons, logos, and illustration scene cards.
Search icons across all or selected sources (
i_search_all,i_search,l_search) and discover sources (i_sources).Download SVG icons from any source (
i_download,i_download_svg,l_download_svg) with optional color and size overrides.Find brand logos, full-color illustrations, photos, and museum artwork; raster sources return base64 data URIs.
Extract a website’s favicon/logo (
i_site_icon) using declared icons, inline SVG logos, or Google favicon fallback.Convert flat PNG/JPEG graphics to layered SVG (
i_bitmap_to_svg), with photo-like inputs rejected by default.Generate specs for custom SVG icons (
g_generate) and validate/sanitize them (g_validate).Create logo design briefs/concepts (
lg_generate) and brand-grade validate logo SVGs (lg_validate).Get professional flat-illustration scene-card specs (
ia_generate) and validate them (ia_validate).Manage iconfont.cn login (
i_login,i_login_wait, cookie/password/SMS login,i_check_auth, network check) and Openverse credentials/rate limits (ov_login,ov_register,ov_check_auth).Access usage/version info (
i_guide,i_version) and inspect iconfont projects/collections (i_list_project_icons,i_list_collections).
Provides search and download access to Bootstrap icons, including optional color and size customization.
Provides access to Font Awesome Free icons for search and download; attribution is required.
Aggregates 150+ icon sets (200,000+ icons) for cross-source icon search and download, with recolor and resize support.
Provides free-tier Icons8 PNG icons as raster downloads; attribution is required and color overrides do not apply.
Provides access to the Ionicons icon set for search and download, with optional color and size customization.
Provides search and download access to Lucide icons, with optional color and size customization.
Searches and downloads Creative Commons images from Openverse; registration can raise rate limits.
Provides access to the Remix icon set for search and download, with optional color and size customization.
Provides brand logo search and download from Simple Icons, e.g., downloading logos by brand slug.
Searches and downloads SVG assets from Wikimedia Commons, with per-file license information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@freeicon-mcp Find a home icon and download it in blue at 32px"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
freeicon-mcp — 多源图标/素材聚合服务器
中文
freeicon-mcp 让 AI 助手(Claude / Cursor / Codex / ChatGPT / Windsurf / Qoder / Kimi Code / MiniMax / ZCode / WorkBuddy / opencode 等主流客户端)通过 MCP 从 19 个免费素材源搜索下载图标、插画、照片与艺术品——百万级图标 + 1 亿+ CC 图片,还能按规范生成自定义 SVG 图标与品牌 Logo(多个创意方向 + 品牌级校验)、提取任意网站的图标(favicon / apple-touch-icon / SVG logo)。
我要找… | 做法 |
UI 图标 |
|
品牌 logo |
|
多色插画 |
|
照片 / 艺术品 |
|
网站 favicon / logo |
|
场景插画配图 |
|
位图转矢量 |
|
项目 logo / 品牌标识 |
|
搜不到 → 生成 |
|
Related MCP server: Freepik MCP
功能特性
🔍 跨源融合搜索:一次关键词命中全部免费源,id 格式统一标注
🎨 矢量优先:SVG 图标任意改色 / 任意尺寸,结果直接写入项目
🖼 多色插画:iconfont 插画库原始多色 SVG、博物馆 CC0 高清艺术品
🌐 网站图标提取:给一个 URL,抓取 favicon / apple-touch-icon / SVG logo(三级兜底,SVG/位图智能交付)
🪄 AI 图标生成:Lucide 官方设计规范 + 安全校验(拒绝脚本注入等恶意内容)
🖌 场景插画:14 种专业扁平插画风格(人物/道具/构图/失败模式全规范,源自 mengto/skills MIT)
🔄 位图转矢量:PNG/JPEG 一键转分层 SVG(照片类自动识别拒绝)
🏷 品牌 Logo 设计:2-6 个截然不同的创意方向 + 品牌级校验(自包含/文字回退/小尺寸可辨识)
📦 双渠道发布:npm + GitHub Packages 镜像(Release 触发自动发布)
🔓 零门槛:全源免 API key,仅 iconfont.cn 需登录
数据来源(19 源 + iconfont)
仅 iconfont.cn 需要登录(🔐),其余全部免登录免 key。
数据源 | 数量 | 协议 | 登录 |
Iconify(聚合 150+ 图标集) | 200,000+ | 各集开源 | — |
Lucide / Tabler / MDI / Heroicons / Bootstrap / Ionicons / Octicons / Remix / Iconoir / css.gg / Boxicons | 704–7,447 | MIT 等 | — |
Simple Icons(品牌 logo) | 3,247 | CC0 | — |
2,883 | CC BY 4.0 | — | |
Icons8(免费档,仅 PNG) | 100,000+ | 需署名 | — |
海量 SVG | 逐图标注 | — | |
Openverse(CC 图片聚合) | 1 亿+ | 逐图标注 | — |
62,000+ | CC0 | — | |
30,000+ | CC0 | — | |
iconfont.cn(图标 + 插画) | 海量 | — | 🔐 需登录 |
完整信息(id 格式、交付格式、署名要求、各源说明)→ docs/sources.md
快速开始
npm install -g freeicon-mcp接入 MCP 客户端(主流客户端配置入口见 docs/guide.md):
{ "mcpServers": { "freeicon": { "command": "npx", "args": ["-y", "freeicon-mcp"], "type": "stdio" } } }i_guide # AI 先调这个,返回完整使用指南
i_search_all(keyword="home") # 跨源搜索
i_download(source="tabler", id="home", color="#3B82F6", size=32)opencode 等其它客户端配置 → docs/guide.md
使用须知
🔐 iconfont.cn 需要登录:调
i_login弹浏览器登录(cookie 自动保存,约 30 天);其余 19 源无需任何登录iconfont 先搜后下:
i_download_svg/i_detail必须先用i_search搜到该 ID署名义务:Font Awesome Free 与 Icons8 免费档需署名;Openverse / Commons 逐图协议见搜索结果的
extra光栅源(Icons8 / Openverse / AIC / CMA)交付 base64 图片(data URI),改色不适用;Openverse 匿名限额 20 次/分,
ov_register(email)一键注册后 100 次/分 + 10,000 次/天插画(iconfont 插画库)为多色原稿 SVG,下载时不应用改色,可设尺寸
更多细节 → docs/guide.md
文档
文档 | 内容 |
数据源完整列表:协议、登录、署名、id 格式、交付格式 | |
33 个工具完整参考与 id 格式速查 | |
安装配置、iconfont 登录、工作流、使用须知、故障排查 |
English
freeicon-mcp is a Model Context Protocol server that puts 19 free icon & asset sources in front of your AI assistant — over a million icons, 100M+ Creative Commons images, and public-domain museum art. Search, recolor, resize, download — extract any website’s favicon or logo from its URL — and when nothing fits, generate a custom SVG icon to spec.
Works out of the box with Claude, Cursor, Codex, ChatGPT, Windsurf, Qoder, Kimi, MiniMax, ZCode, opencode, and any other MCP-compatible client.
What you can do
You want… | Call |
UI icons |
|
Brand logos |
|
Full-color illustrations |
|
Photos & artwork |
|
A website’s favicon / logo |
|
Nothing fits → draw one |
|
Sources
Every source is free and keyless — only iconfont.cn requires a login 🔐.
Source | Assets | License | Login |
Iconify (aggregates 150+ sets) | 200,000+ | per-set OSS | — |
Lucide, Tabler, MDI, Heroicons, Bootstrap, Ionicons, Octicons, Remix, Iconoir, css.gg, Boxicons | 704–7,447 each | MIT & friends | — |
Simple Icons (brand logos) | 3,247 | CC0 | — |
2,883 | CC BY 4.0 | — | |
Icons8 (free tier, PNG only) | 100,000+ | attribution | — |
millions of SVGs | per-file | — | |
Openverse (CC image aggregator) | 100M+ | per-image | — |
92,000+ | CC0 | — | |
iconfont.cn (icons + illustrations) | massive | — | 🔐 login |
Full details: docs/sources.md
Quick start
npm install -g freeicon-mcpDrop it into your MCP config (see docs/guide.md for per-client paths):
{ "mcpServers": { "freeicon": { "command": "npx", "args": ["-y", "freeicon-mcp"], "type": "stdio" } } }Then from your AI assistant:
i_search_all(keyword="home") # search every source at once
i_download(source="tabler", id="home", color="#3B82F6", size=32)Good to know
Only iconfont.cn needs a login (
i_loginopens a browser; cookies last ~30 days). Everything else works instantly.Search before you download — iconfont downloads are served straight from search results.
Attribution: Font Awesome Free and Icons8's free tier require credit; Openverse and Commons carry per-image licenses in every result.
Raster sources (Icons8, Openverse, AIC, CMA) return base64 data URIs — color overrides don't apply.
Openverse's anonymous limit is 20 req/min;
ov_register(email)raises it to 100 req/min in one command.
Docs
Full documentation lives in docs/ (Chinese): sources · tools · guide. AI clients can also call i_guide for the built-in guide.
License
Available Tools
33 toolsg_generateA
Get a precise spec for generating a custom SVG icon, then the AI (you) draws the SVG following it. Use when i_search_all finds nothing suitable. After drawing, ALWAYS pass the SVG through g_validate to sanitize and normalize it (color/size injection, XML check, security filter).
Inputs: description (required), size, style.
g_validateA
Validate, sanitize and normalize an AI-generated (or any hand-written) SVG icon: XML well-formedness, security filter (rejects /event handlers//javascript:), adds missing xmlns/viewBox, injects color/size. Returns the cleaned SVG ready for use, plus warnings.
Inputs: svg (required), size, color.
ia_generateA
Get a complete drawing spec for a flat-illustration scene card (480x360 SVG) in one of 14 professional styles (flat cut-paper, bold pop, halftone, ink sketch, isometric, one-line, vintage emblem, ...). The spec carries exact palettes, character proportions, composition rules and failure modes from the original methodology. The AI (you) draws the SVG per spec, validates with ia_validate, then delivers.
Inputs: scene (required), style (required), size.
ia_validateA
Validate an illustration scene-card SVG drawn per ia_generate: security filter, self-contained check (no /external refs — illustrations must be pure vector), canvas 4:3 check, composition density hints. Returns normalized SVG with warnings.
Inputs: svg (required), size.
i_bitmap_to_svgA
Vectorize a flat graphic image (icon / logo / flat illustration / screenshot of simple shapes) into a layered color SVG. Input object awareness: PHOTO-type images (high color entropy) are rejected — photo-to-SVG produces huge blurry files; keep photos as PNG/WebP. Only convert images you have rights to. Binary mode gives a clean 2-color result for icons/logos.
Inputs: path (required), color_mode, max_colors, allow_photo, +1 more.
i_check_authB
Check if you are currently logged in to iconfont.cn.
Inputs: no named parameters.
i_check_networkA
Check if iconfont.cn is reachable from this machine. Tests DNS resolution and TCP connectivity. If unreachable, provides troubleshooting steps (DNS change, hosts file, VPN).
Inputs: no named parameters.
i_detailA
Get detailed information about an icon on iconfont.cn. The icon MUST have been returned by a recent search call (iconfont no longer has a per-icon detail endpoint; data comes from the search cache).
Inputs: id (required).
i_downloadA
Unified download: download an icon as SVG text from ANY registered source. Pass the source id (e.g. "lucide", "tabler", "mdi") and the icon id (name from search results). Optional color overrides the stroke/fill color. Optional size overrides width/height. Use i_sources to see available sources, or i_search_all to find icons.
Inputs: id (required), source (required), size, color.
i_download_svgA
Download an icon as SVG text from iconfont.cn. The icon MUST have been returned by a recent search call (iconfont no longer has a per-icon detail endpoint, so the SVG is taken from the search cache). Pass an ID returned by search. Optional color overrides fills. Optional size overrides width/height.
Inputs: id (required), size, color.
i_guideA
Return the usage guide for this freeicon MCP (tool list, login flow, search→download workflow, key rules). Call this first if unsure how to use the tools. No login required.
Inputs: no named parameters.
i_list_collectionsC
Search icon collections on iconfont.cn.
Inputs: keyword (required).
i_list_project_iconsA
List all icons in an iconfont.cn project by its Symbol URL. No login required.
Inputs: symbolUrl (required).
i_loginA
Start a local reverse-proxy login server for iconfont.cn and return its URL. Open the URL in your normal browser and log in (any method: phone+password, WeChat scan, GitHub, Weibo, SMS, etc.). After success the page shows a "登录成功" notice and the user can close the tab (the proxy serves it for a few seconds, then shuts itself down; a later "connection refused" on that tab is normal). Cookies are captured automatically. Then call i_login_wait (or i_check_auth) to confirm. This is the recommended login method.
Inputs: port.
i_login_send_smsA
Step 1 of SMS login. Opens a browser, fills the phone number and requests a verification code. Then call i_login_with_sms with the received code within 3 minutes.
Inputs: phone (required).
i_login_waitA
Block until the login server (started by login) reports a successful login, then shut it down. Returns the captured login info.
Inputs: timeout.
i_login_with_cookieA
Log in to iconfont.cn by pasting a raw Cookie header copied from a logged-in browser session (e.g. browser DevTools > Network > Request Headers > cookie). This is the MOST reliable method and works in headless/CI environments. The cookie string must include the "ctoken" entry (or pass ctoken separately).
Inputs: cookie (required), ctoken.
i_login_with_passwordA
Log in to iconfont.cn with a phone number + password. Opens a visible browser and auto-fills the form. If a slider/captcha appears, solve it in the window — cookies are captured automatically once login completes.
Inputs: account (required), password (required).
i_login_with_smsA
Step 2 of SMS login. Submit the SMS verification code received after calling login_send_sms. Cookies are captured automatically once login completes.
Inputs: code (required).
i_searchA
Search icons OR illustrations (插画) on iconfont.cn by keyword. Set type="illustration" for multi-color artwork (returns original SVG downloadable via i_download_svg, no color override). Icons must be downloaded via i_download_svg with a recent search.
Inputs: keyword (required), page, type, pageSize.
i_search_allA
Search icons across ALL or specific data sources. Returns combined results with source labels. By default searches all sources. Use sources parameter to limit to specific sources (e.g. sources=["lucide","tabler"]) or use source keywords: "free" (all open sources), "all" (everything). Iconfont requires login.
Inputs: keyword (required), page, sources, pageSize.
i_site_iconA
Extract a website’s icon or logo from its URL. Three tiers: 1) declared icons ( / apple-touch-icon) — SVG returns as text, raster as data URI; 2) inline logos in the page markup — 1:1 vector restoration (style context carried); 3) Google favicon service fallback. Also lists every candidate found.
Inputs: url (required), size, source.
i_sourcesA
List all available icon data sources with details (icon count, license, auth requirement, status). Use this to discover which sources are available for search and download.
Inputs: no named parameters.
i_versionA
Return the current version of this freeicon MCP server and check if a newer version is available on GitHub.
Inputs: no named parameters.
l_download_svgA
[Lucide] Download a lucide icon as SVG text (open source, no login). For unified download from any source, use i_download instead.
Inputs: name (required), size, color.
l_get_tagsB
[Lucide] Get tags for a specific lucide icon (open source, no login).
Inputs: name (required).
lg_generateA
Create a complete logo design brief + SVG authoring spec for a project: design summary, N distinct creative directions (geometric letterform / abstract symbol / mascot / negative space / wordmark), and strict SVG rules (viewBox, self-contained, text fallback, small-size legibility). The AI (you) draws one SVG per direction following the spec, validates each with lg_validate, then presents the concepts. Distilled from the logo-designer skill methodology.
Inputs: project (required), style, colors, format, +2 more.
lg_validateA
Validate a logo SVG (brand-grade, stricter than g_validate): security filter, self-contained check (rejects /external refs — logos must work offline), text fallback-font check, stroke legibility for small sizes, semantic group suggestions, viewBox/aspect sanity. Returns the normalized SVG with warnings to iterate on.
Inputs: svg (required), format.
l_list_allA
[Lucide] List all available lucide icons (open source, no login). 2007+ icons total.
Inputs: page, pageSize.
l_searchA
[Lucide] Search lucide icons by keyword (open source, no login). Lucide is a community fork of Feather Icons with 2007+ clean outline icons. For multi-source search, use i_search_all instead.
Inputs: keyword (required), page, pageSize.
ov_check_authA
Check whether Openverse API credentials are configured (higher rate limits) or the server is running anonymous (20/min + 200/day).
Inputs: no named parameters.
ov_loginA
Save Openverse API credentials (OAuth2 client_id/client_secret) to raise rate limits from 20/min + 200/day (anonymous) to 100/min + 10,000/day. Register an application at https://api.openverse.org/v1/ to get them. The exchange is verified immediately; anonymous access keeps working without this.
Inputs: clientId (required), clientSecret (required).
ov_registerA
One-click Openverse app registration: registers an application via the public API, receives client_id/client_secret, exchanges them for a token and saves credentials — rate limits go from 20/min + 200/day to 100/min + 10,000/day. A verification link is emailed to the address you provide (clicking it is recommended but credentials work immediately). If credentials already exist, use ov_login instead.
Inputs: email (required), name.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 33 tools
Core workflows overlap in ways that require careful reading: i_search vs i_search_all vs l_search, and i_download vs i_download_svg vs l_download_svg are three-way near-duplicates distinguished only by source scope. The four iconfont login variants (i_login, i_login_with_cookie, i_login_with_password, i_login_with_sms) and three validators (g_validate, lg_validate, ia_validate) are separable but only because descriptions explicitly cross-reference each other. Descriptions do help, so this is workable but not clean.
The surface follows a consistent prefix_verb_noun shape (i_search, l_download_svg, ov_login, lg_validate), which is readable throughout. However the prefixes are semantically muddled: i_ means 'iconfont-only' for i_search/i_download_svg but 'general/icon' for i_search_all, i_sources, i_download, i_guide, and i_bitmap_to_svg, so the same prefix signals two different scopes. A few outliers (i_site_icon, i_bitmap_to_svg) are verbs-noun without a clear grouping.
33 tools is heavy for what is fundamentally search-and-download plus SVG generation. The count is inflated by redundant layers: five login/auth tools for iconfont, three for Openverse auth, and two parallel download paths per source. Consolidating source-specific tools under the unified i_search_all/i_download would cut the surface substantially.
The iconfont and open-source icon lifecycle (search, detail, download, list collections, project icons, auth) is well covered, and SVG generation/validation has full generate→validate loops. But Openverse is a dangling feature: ov_register/ov_login/ov_check_auth exist with no corresponding ov_search or download tool, leaving that integration unusable. There is also no collection-detail or upload/favorite operation, though these are minor.
Maintenance
Related MCP Connectors
A coding agent searches the Icons8 library by keyword and style, then adds the selected icon or illustration to the project. Icons8 draws all of it: 420,000+ icons (130+ styles) and 110,000+ illustrations (340+ styles), so one project doesn't end up with mixed looks. The server lives at https://mcp.icons8.com/mcp/ and signs people in through their Icons8 account in the browser. Downloading PNG is free as long as the project links back to Icons8. SVG is on the paid plan, and that plan makes the link optional.
Lets AI assistants draw: logos, posters, illustrations and scenes, as editable SVG and PNG.
Create images, video and audio; reuse assets and build Canvas workflows from your AI assistant.
Generate images from Claude, ChatGPT, Cursor and Codex with 12 top AI image models. Up to 4 images per call, SVG vectorization, background removal, upscaling and image-to-video. Remote MCP with OAuth, no API keys.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to search, browse, and download professional icons from The Noun Project directly within MCP-compatible environments. It supports SVG and PNG formats with customizable styles and provides optimized modes for free and paid API tiers.783 npm7MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, download, and generate visual content using Freepik APIs, including icon search, image generation, and resource management.-
- AlicenseAqualityDmaintenanceAll-in-one asset search MCP server for AI coding agents, enabling search for icons, logos, stock photos, vectors, and emoji from a single tool call.485MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI image processing tools such as vectorization, background removal, upscaling, and logo generation from any MCP-compatible client like Claude Code or Cursor.14 npmMIT