infyicon-mcp
Search 161,000+ free icons; get SVG (single/bulk), PNG, related icons, webfont classes. No API key.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- MEDIUMin list_categories
- MEDIUMin search_uicons
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"infyicon-mcp": {
"url": "https://infyicon.com/mcp"
}
}
}Remote endpoints
https://infyicon.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢search_icons(query, style, limit, offset)
Search 161,000+ free Infyicon vector icons by keyword and return up to 30 matches per page, each with icon id (slug_number), name, style, page URL, direct SVG URL, 512px PNG URL and tags. Styles: outline (black line), fill (black solid), color-outline, color-fill. Use this first whenever the user describes what icon they want; then pass an id to get_icon_svg, get_icon_svg_bulk or get_icon_png. Use get_popular_icons instead when there is no search term, and search_uicons instead when the user wants a CSS webfont class rather than an SVG/PNG file. Read-only, no auth, no API key; empty query returns an error; total_matches + next_offset are returned for paging. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to search for, e.g. \"shopping cart\", \"doctor\", \"hammer\" (1-4 plain words work best)"
},
"style": {
"type": "string",
"enum": [
"outline",
"fill",
"color-outline",
"color-fill"
],
"description": "Optional: restrict to one style; omit to get all four styles mixed"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Max results per page (default 10, max 30)"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Optional: skip this many results for pagination. Pass next_offset from the previous response to get the next page."
}
},
"required": [
"query"
]
}🟢get_popular_icons(style, limit)
Return up to 30 popular/featured Infyicon icons (ids, names, styles, page/SVG/PNG URLs) without a search query - use when the user just wants "a nice icon" or a starting set and has not named a subject. Use search_icons instead when the user describes a subject, and get_related_icons instead when they already have an icon and want variations. Read-only, no auth; always returns results (never errors on empty input). Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"style": {
"type": "string",
"enum": [
"outline",
"fill",
"color-outline",
"color-fill"
],
"description": "Optional: restrict to one style"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Max results (default 12, max 30)"
}
}
}🟢get_related_icons(id, limit)
Given one icon id (from search_icons or get_popular_icons), return up to 30 related Infyicon icons on the same theme in the same and other styles - use for offering variations, alternatives or building a matching icon set. Use search_icons instead when you do not yet have an id. The source icon itself is excluded from results. Read-only, no auth; returns an error if the id is not in slug_number format. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number, as returned by search_icons)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Max results (default 12, max 30)"
}
},
"required": [
"id"
]
}🟢get_icon_svg(id)
Return the full, ready-to-embed SVG markup of ONE Infyicon icon by id (slug_number, e.g. hammer-16_66091 - get ids from search_icons). Use when the user wants inline SVG for a single icon; use get_icon_svg_bulk for 2-20 icons in one call, and get_icon_png when they need a raster image URL instead of markup. Read-only, no auth; returns an error for a malformed id or an unknown icon; if the SVG is over 200 KB the response carries svg_url instead of inline markup. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number)"
}
},
"required": [
"id"
]
}🟢get_icon_svg_bulk(ids)
Return ready-to-embed SVG markup for 1-20 Infyicon icons in one call (pass an array of ids from search_icons). Use when building a UI, icon set or design system so you fetch several icons at once instead of calling get_icon_svg repeatedly; use get_icon_svg for a single icon. Read-only, no auth; ids beyond the first 20 are silently dropped; each bad or unknown id gets a per-item error while the rest still succeed; oversized SVGs (>200 KB) return svg_url instead of markup. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "Array of 1-20 icon ids, e.g. [\"home-2_101\", \"gear-1_202\"]"
}
},
"required": [
"ids"
]
}🟢get_icon_png(id, size)
Return direct PNG download URLs (transparent background) for one Infyicon icon id, either a single size or all seven sizes 16/24/32/64/128/256/512 px. Use when the user needs an image file or <img> src (email, docs, chat, platforms that cannot render SVG); use get_icon_svg instead when inline vector markup is wanted. Read-only, no auth; returns URLs only (no binary data); returns an error for a malformed id or an unknown icon. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number)"
},
"size": {
"type": "integer",
"enum": [
16,
24,
32,
64,
128,
256,
512
],
"description": "Optional single size in px; omit to get all seven sizes"
}
},
"required": [
"id"
]
}🟢list_categories(limit)
List the most popular Infyicon icon categories (name, slug, icon count, category page URL at https://infyicon.com/free-icons/<slug>), ordered by popularity. Use to browse or suggest topics before searching, or to link the user to a category page; use search_icons to actually fetch icons for a topic. Read-only, no auth; no pagination (limit up to 100). Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max categories (default 30, max 100)"
}
}
}🟢search_uicons(name)
Search the Infyicon UI webfont (61,000+ glyphs) by glyph name and return matching CSS class names (regular ii-r-<name>, solid ii-s-<name>) plus a ready <i> tag and the stylesheet link https://infyicon.com/uicons/uicons.css. Use ONLY when the user wants an icon font / CSS class (like Font Awesome usage); use search_icons for SVG or PNG icon files. Case-insensitive substring match, up to 40 matches, no pagination; empty name returns an error. Read-only, no auth. Free with attribution to infyicon.com.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Glyph name or part of it to search, e.g. \"home\", \"arrow\""
}
},
"required": [
"name"
]
}Community
Evidence