Allows AI coding agents to search for and use a library of over 35,000 animated, open-source icons in 34 different styles.
Also known as withevergrow/withicons, @withicons/mcp
- Stars
- 8
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 6, 2026
- License
- MIT
What is withicons MCP?
withicons allows AI coding agents to search for and use a library of over 35,000 animated, open-source icons in 34 different styles.
Summary generated from the project's README
About withicons MCP server
withicons provides an extensive library of over 35,000 free, open-source animated icons designed for developers, designers, and AI agents. The collection features 1,000 base icons that are rendered into 34 distinct visual styles, including clay, anime, pixel, and chrome. Every icon includes a unique animation loop and hover effect using pure CSS.
This MCP server allows AI coding agents to search for icons by meaning. It is built for integration into various workflows, supporting tools like Figma, Canva, and Iconify. Because the icons are released under the MIT license, they are available for commercial use without requiring credit. The library also includes specialized animated loaders and live icons that can display real-time data like dates or counts.
What you can do with it
- 1Search icons by meaningAn AI agent can find specific visual assets by describing the concept rather than searching for a filename.
- 2Apply consistent visual stylesA developer can request a set of icons that all share a specific aesthetic like 3D clay or retro pixel art.
- 3Integrate animated UI elementsUsers can add moving components to websites or apps that respond to user interaction.
- 4Implement dynamic live iconsDevelopers can use icons that reflect real-time information such as a clock showing the current time.
Written from the project's README. Every use case is checked against a quote from it.
How to install withicons MCP
Formats verified 10 Nov 2026Install withicons MCP in Claude Code
$ claude mcp add withicons -- npx -y @withicons/mcpInstall withicons MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"withicons": {
"command": "npx",
"args": [
"-y",
"@withicons/mcp"
]
}
}
}Install withicons MCP in VS Code
.vscode/mcp.json
{
"servers": {
"withicons": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@withicons/mcp"
]
}
}
}Install withicons MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"withicons": {
"command": "npx",
"args": [
"-y",
"@withicons/mcp"
]
}
}
}Install withicons MCP in Codex
~/.codex/config.toml
[mcp_servers.withicons] command = "npx" args = ["-y", "@withicons/mcp"]
Install withicons MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"withicons": {
"command": "npx",
"args": [
"-y",
"@withicons/mcp"
]
}
}
}Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablewithevergrow/withicons is public and reachablegithub.com/withevergrow/withicons ↗Pass
- Package names this repository as its source@withicons/mcp names withevergrow/withicons as sourcenpmjs.com/package/@withicons/mcp ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @withicons/mcpnpmjs.com/package/@withicons/mcp/v/0.6.0#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-06github.com/withevergrow/withicons ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @withicons/mcpPass
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub1,000 icons x 34 styles = 34,000 icons. Every one animated. Plus 50 live icons in every style: over 35,000 free icons. MIT, no sign-up. For slides, Canva, Figma, websites, apps and AI agents.
Browse icons · Live icons · Guides · Developers · For AI · About
Now on Iconify: with icons is on Iconify as 11 icon sets, so it works in every Iconify tool (
<iconify-icon>, unplugin-icons, UnoCSS, Tailwind, Figma). How to use them.New in v0.6.0: 250 new icons (1,000 in all), 50 animated loaders in every style (
@withicons/loaders), and about 3,300 hand-drawn touch-ups where a generated drawing read badly. Full changelog
Why with icons
- One family, thirty-four looks. Every icon is drawn once by hand on a 24x24 grid. Thirty-four deterministic renderers turn
that drawing into thirty-four styles, from clean
linetoclayandsoft3d3D,liquidglass,chrome,anime,kawaii, feltplushand six holiday styles. Switch styles and nothing moves. - Every icon moves. Each one has its own tuned loop and hover animation, plus icon-to-icon swaps. Pure CSS, off for reduced motion.
- Live icons. A calendar with your date, a clock with your time, a bell with your count, in every style.
- Built for people and AI agents. Copy into Slides, Canva or Figma, install a package, or let your agent search by meaning through MCP.
- Free means free. MIT. Commercial use, no credit needed.
The 34 styles, one poster each
Every style has its own poster: the style's hero icon and twelve more, all moving with their real animation.
Each is a still PNG and a looping GIF in site/media/github/posters/, free to share.
See it in action
Click any recording for a full-size screenshot.
Quick start
Not a developer? Open withicons.com, find an icon, copy it or download it (PNG, SVG, PDF, PowerPoint, GIF, Lottie and more). The guides show every app step by step.
npm i @withicons/react
import { Home, Search } from '@withicons/react' // line (the default style)
import { Home as HomeSolid } from '@withicons/react/solid' // any style is a subpath
<Home />
<Search size={20} strokeWidth={1.5} />
<HomeSolid size={32} color="#e11d48" title="Home" />
npm i @withicons/vue
<script setup>
import { Home, Search } from '@withicons/vue'
import { Home as HomeSolid } from '@withicons/vue/solid'
</script>
<template>
<Home />
<Search :size="20" :stroke-width="1.5" />
<HomeSolid :size="32" color="#e11d48" title="Home" />
</template>
npm i @withicons/svelte
<script>
import { Home, Search } from '@withicons/svelte'
import { Home as HomeSolid } from '@withicons/svelte/solid'
</script>
<Home />
<Search size={20} strokeWidth={1.5} />
<HomeSolid size={32} color="#e11d48" title="Home" />
npm i @withicons/angular # import { WithIconComponent, Home } from '@withicons/angular'
npm i @withicons/solid # import { Home } from '@withicons/solid'
<script type="module" src="https://cdn.jsdelivr.net/npm/@withicons/web@latest/dist/cdn.js"></script>
<with-icon name="home" variant="solid"></with-icon>
cdn.js is about 7 KB gzipped, then each icon is its own small file (a line icon is about 150 bytes gzipped).
<script src="https://cdn.jsdelivr.net/npm/@withicons/classes@latest/dist/with-loader.js" defer></script>
<i class="with with-home"></i> <i class="with with-heart with-solid"></i>
The loader (about 6 KB gzipped) links just the CSS of the icons on the page. Zero JavaScript: link one stylesheet per style, such as with-line.css.
with icons is on Iconify as 11 icon sets, 15,000 icons in all.
withicons holds six styles as suffixes (rocket, rocket-solid, rocket-duo, rocket-blueprint, rocket-sketch,
rocket-engrave); each of the other ten sets is one style: withicons-suite, withicons-skeuo, withicons-sticker,
withicons-pastel, withicons-plush, withicons-anime, withicons-gothic, withicons-bauhaus, withicons-halloween
and withicons-christmas.
<script src="https://code.iconify.design/iconify-icon/2.3.0/iconify-icon.min.js"></script>
<iconify-icon icon="withicons:rocket"></iconify-icon>
<iconify-icon icon="withicons:rocket-solid"></iconify-icon>
<iconify-icon icon="withicons-anime:rocket"></iconify-icon>
With unplugin-icons, import Rocket from '~icons/withicons-anime/rocket'; with UnoCSS or Tailwind (@iconify/tailwind4),
class="i-withicons-rocket" or class="icon-[withicons--rocket]". All 34 styles and the animations are in the
@withicons/* packages above.
npx withicons search "throw away" # find icons by meaning
npx withicons get trash --style solid --format react # paste-ready code
npx withicons export bell --style anime --format gif # files: svg, png, pdf, pptx, gif, lottie…
For AI agents
One command adds the with icons agent skill and MCP server to Claude Code, Codex, Cursor, VS Code, Windsurf, opencode and more:
npx withicons init
- MCP server: remote at
https://withicons.com/mcp, or local withnpx -y @withicons/mcp. Tools to search by meaning, get paste-ready code, animate and export icons. Details: withicons.com/ai.html. - Agent skill:
skills/with-icons/SKILL.md(alsonpx withicons skill). - llms.txt: withicons.com/llms.txt and llms-full.txt, plus a JSON catalogue at icons.json.
Then just ask: “Add a settings icon in the duo style to the sidebar” or “Make the bell ring when a notification arrives.”
Reference
withicons MCP questions
How do I add withicons MCP to Claude Code?
Run claude mcp add withicons -- npx -y @withicons/mcp in your terminal. Add --scope user to make it available in every project.
How do I add withicons MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Can AI agents use these icons?
Yes, the server provides an MCP server and agent skill so AI coding agents can search for icons by meaning.
How many styles are available?
The library features 34 different styles, including line, solid, clay, and anime.