About Iconoteka
Iconoteka is an MCP server for finding icons and retrieving ready-to-use SVG markup. It serves designers and developers from an offline, bundled library of 1,400 open-source icons with multiple weights and styles.
Key features
- 01Search icons by name or meaning
- 02Retrieve SVG for one or multiple icons
- 03Choose from seven weights and two styles
- 04Browse 23 categories with icon counts
- 05Run offline with bundled icon data
Use cases
- 01Find an icon for a UI element
- 02Fetch SVG markup for a design or codebase
- 03Retrieve several icons for a toolbar
- 04Check available icon categories
MCP support
Iconoteka exposes icon search, SVG retrieval, and category listing as MCP tools. MCP clients can search the bundled collection and fetch icon markup.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Max results (default 20) |
| query | string | Yes | What the icon should depict, e.g. "notification bell" or "shopping cart" |
| category | string | No | Restrict to one category, e.g. Interface, Nature, Transportation |
Details
From the project READMEiconoteka-mcp
MCP server for Iconoteka — let an AI assistant search 1,400 icons and hand back paste-ready SVG.
Ask for "a notification bell, medium weight" and the assistant returns the real icon, rather than inventing a path or reaching for whatever library it happens to remember.
Setup
Each client stores MCP servers in its own format, so use the entry for yours.
Claude Code
claude mcp add --scope user iconoteka -- npx -y iconoteka-mcp
Codex
codex mcp add iconoteka -- npx -y iconoteka-mcp
Or in ~/.codex/config.toml:
[mcp_servers.iconoteka]
command = "npx"
args = ["-y", "iconoteka-mcp"]
VS Code (GitHub Copilot)
code --add-mcp '{"name":"iconoteka","command":"npx","args":["-y","iconoteka-mcp"]}'
Or per workspace in .vscode/mcp.json — note the key is servers:
{
"servers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"]
}
}
}
Cursor, Claude Desktop, Windsurf and Gemini CLI share one shape, each in its own file:
| Client | File |
|---|---|
| Cursor | ~/.cursor/mcp.json, or .cursor/mcp.json in a project |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Gemini CLI | ~/.gemini/settings.json, or .gemini/settings.json in a project |
{
"mcpServers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"]
}
}
}
Zed — in settings.json, under context_servers:
{
"context_servers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"],
"env": {}
}
}
}
It runs offline: the icon data ships inside the package.
Tools
search_icons — find icons by meaning or name. Returns ranked matches with
the weights and styles each one has, plus its other keywords.
search_icons({ query: "notification bell" })
→ bell [Interface] ★popular score 949
variants: 7 weights, fill varies by weight
also matches: notification, notify, reminder, ring, sound
Optional category and limit.
get_icon — SVG markup for one icon, or for several in a single call.
get_icon({ name: "bell", weight: "medium", style: "fill" })
→ bell — medium fill — Interface
<svg width="24" height="24" viewBox="0 0 24 24" …>
<path d="M12 22.25C10.375…" fill="currentColor"/>
</svg>
Pass an array to fetch up to 24 icons at once, so a whole toolbar takes one request:
get_icon({ name: ["bell", "trash", "pen"] })
→ one block per icon, separated by ---
weight is thin ultralight light regular medium semibold bold
(default regular); style is stroke or fill (default stroke). The path
uses currentColor, so it inherits the surrounding text colour.
name takes an icon's own name or the word people reach for: trash, edit
and settings each resolve to the right icon.
Most icons have all 14 variants; some have 7 or 8. Ask for one that doesn't
exist and the server says what to use instead — for example, "download" has no fill; it is a stroke-only icon. Use style "stroke".
list_categories — all 23 categories with icon counts.
Support
Iconoteka is a free, open-source library created and maintained by one person. Support its future development through a monthly Patreon subscription or a one-time Ko-fi donation.
License
MIT — both this server and the icons. Free for personal and commercial use, including closed-source. No attribution required.
The Iconoteka name and logo are not covered by the MIT grant.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.