Infyicon MCP
An MCP server that allows AI assistants to search over 161,000 free hand-drawn vector icons, retrieve SVG markup, download transparent PNGs in various sizes, and look up UI webfont classes without requiring authentication or an API key.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://infyicon.com/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for icons by keyword with style filters
- Retrieve ready-to-embed SVG markup for specific icons
- Download transparent PNGs at multiple resolutions
- Look up CSS class names for the UI icon webfont
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- infyicon 1.2.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
search_icons — Search icons
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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Max results per page (default 10, max 30)"
},
"query": {
"type": "string",
"description": "What to search for, e.g. \"shopping cart\", \"doctor\", \"hammer\" (1-4 plain words work best)"
},
"style": {
"enum": [
"outline",
"fill",
"color-outline",
"color-fill"
],
"type": "string",
"description": "Optional: restrict to one style; omit to get all four styles mixed"
},
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_popular_icons — Get popular icons
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Max results (default 12, max 30)"
},
"style": {
"enum": [
"outline",
"fill",
"color-outline",
"color-fill"
],
"type": "string",
"description": "Optional: restrict to one style"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_related_icons — Get related icons
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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number, as returned by search_icons)"
},
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Max results (default 12, max 30)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_icon_svg — Get icon SVG
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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_icon_svg_bulk — Get SVG for several icons
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.
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"description": "Array of 1-20 icon ids, e.g. [\"home-2_101\", \"gear-1_202\"]"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_icon_png — Get icon PNG URLs
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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Icon id like hammer-16_66091 (slug_number)"
},
"size": {
"enum": [
16,
24,
32,
64,
128,
256,
512
],
"type": "integer",
"description": "Optional single size in px; omit to get all seven sizes"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — List icon categories
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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max categories (default 30, max 100)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_uicons — Search UI webfont classes
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.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Glyph name or part of it to search, e.g. \"home\", \"arrow\""
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 642 ms
- 95th percentile latency
- 642 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 642 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http infyicon-mcp https://infyicon.com/mcpCodex
codex mcp add infyicon-mcp --url https://infyicon.com/mcpCursor
{
"mcpServers": {
"infyicon-mcp": {
"url": "https://infyicon.com/mcp"
}
}
}Cline
{
"mcpServers": {
"infyicon-mcp": {
"type": "streamableHttp",
"url": "https://infyicon.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"infyicon-mcp": {
"type": "http",
"url": "https://infyicon.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http infyicon-mcp https://infyicon.com/mcpClaude Desktop
https://infyicon.com/mcpWindsurf
{
"mcpServers": {
"infyicon-mcp": {
"serverUrl": "https://infyicon.com/mcp"
}
}
}Let your agent find its tools
Find servers like Infyicon MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.