Koskamo

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.

Infyicon MCP logo, by InfyiconCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Infyicon
MCP endpoint (Streamable HTTP)
https://infyicon.com/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

8 of 8 have a description · 8 of 8 declare behavior hints · 8 of 8 with parameters document them all

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

Community listingRegistry 1.2.0
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
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Search and fetch free Infyicon vector icons (SVG/PNG) and UI-webfont CSS classes. All icons are free with attribution to infyicon.com. Typical flow: search_icons (offset paging) -> get_icon_svg (embed one SVG), get_icon_svg_bulk (embed up to 20 at once) or get_icon_png (link a PNG). No search term yet? get_popular_icons. Have an icon and want variations? get_related_icons. Want a CSS icon-font class instead of a file? search_uicons. All tools are read-only and need no API key.

Tools

8 advertised

search_icons — Search icons
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_icons input schema
{
  "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."
    }
  }
}
search_icons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_popular_icons — Get popular icons
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_popular_icons input schema
{
  "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"
    }
  }
}
get_popular_icons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_related_icons — Get related icons
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_related_icons input schema
{
  "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)"
    }
  }
}
get_related_icons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_icon_svg — Get icon SVG
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_icon_svg input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Icon id like hammer-16_66091 (slug_number)"
    }
  }
}
get_icon_svg annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_icon_svg_bulk — Get SVG for several icons
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_icon_svg_bulk input schema
{
  "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\"]"
    }
  }
}
get_icon_svg_bulk annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_icon_png — Get icon PNG URLs
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_icon_png input schema
{
  "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"
    }
  }
}
get_icon_png annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_categories — List icon categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_categories input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max categories (default 30, max 100)"
    }
  }
}
list_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_uicons — Search UI webfont classes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_uicons input schema
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Glyph name or part of it to search, e.g. \"home\", \"arrow\""
    }
  }
}
search_uicons annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http infyicon-mcp https://infyicon.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add infyicon-mcp --url https://infyicon.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable infyicon-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "infyicon-mcp": {
      "url": "https://infyicon.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "infyicon-mcp": {
      "type": "streamableHttp",
      "url": "https://infyicon.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start infyicon-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "infyicon-mcp": {
      "type": "http",
      "url": "https://infyicon.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http infyicon-mcp https://infyicon.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://infyicon.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "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.